如何找到合适的频率轴当我们把一个函数的傅里叶变换?

11视图(30天)
我想知道如何找到正确的频率轴当我傅里叶变换。要明确,我们知道sinc函数,我们有以下的长度之间的关系sinc函数及其傅里叶(矩形函数):
基于这一事实,每一次我试着不同的频率axix最后我找到正确的一个。但实际上,我仍然不知道如何找到正确的轴。这是一个简单的函数,我已经知道了函数的长度及其transforemed但对其他功能我不知道正确的频率轴。
任何帮助将不胜感激

接受的答案

保罗
保罗 2022年6月22日
编辑:保罗 2022年6月23日
嗨Donya,
默认情况下,频率变量 傅里叶 在符号数学工具箱在rad /秒。
此外,Matlab的定义 sinc 在SMT sinc (x) =罪(π* x) /(π* x)。
所以例子的问题有:
信谊tωf t真实
s (t, t) = sinc (2 * t / t);
S_omega(ω,T) =简化(傅里叶(s (T, T), T,ω));
现在,如果我们想要表达的CTFT赫兹
S_f (f, T) =简化(S_omega(2 *符号(π)* f T))
S_f (f, T) =
现在做一些情节T = 2
fplot (s (t, 2), 3[3]),网格
包含(“t (sec)”)
fplot (S_f (f, 2), 3[3]),网格
包含(“f (Hz)”)
如预期和符合情节的问题,s (t)的mainlobe t的跨度CTFT跨越1 1 / t / t。
看到 傅里叶 sympref 更多discusson SMT如何参数化CTFT及其逆,以及如何控制参数化。
13个评论
保罗
保罗 2022年6月26日
编辑:保罗 2022年6月26日
对于DFT系数正常化,我们应该把他们向量的长度,
而不是“正常化”,我感谢一个更好的词是“扩展”。Whether or not we "should" scale the DFT coefficients depends on a) what we want the DFT coefficients to represent, and b) how the DFT is defined for the particular implementation being used.
一个动机DFT系数除以输入向量的长度,N,可以说明如下。再次考虑正弦波的情况下时间P和我们的DFT域样本5期。
P = 0.1;
Ts = P / 10;
Fs = 1 / Ts;
N = 50;
t = (0: (n - 1)) * Ts;
y =罪(2 *π/ P * t);
茎(t, y)
计算FFT和应用fftshift ()
Y = fft (Y);
Y = fftshift (Y);
计算相关的频率向量在赫兹fftshifted Y的样本。
如果国防部(N, 2) = = 0% N是偶数
k = ((- N / 2): ((N - 2) / 2)) / N * Fs;
其他的% N是奇数
k = ((- (N - 1) / 2): ((N - 1) / 2)) / N * Fs;
结束
现在情节
茎(k, abs (Y)),网格
xlim (15 [-15])
包含(的频率(赫兹))
我们看到,使用 Matlab的fft()实现 ,+ -10 Hz的DFT振幅25。假设现在我们想把这些DFT系数和重建原5周期的正弦波。我们知道的DFT系数用复指数形式exp (1 j * 2 *π* k * n * Ts)。注意,n * t = t,在这种情况下,我们只需要担心k = -10 k = 10。fftshift之后,Y(21)对应于k = -10和Y (31) k = 10
yrecon = Y (21) * exp (1 j * 2 *π* (-10)* t) + Y (31) * exp (1 j * 2 *π* 10 * t);
茎(t, yrecon)
这个情节是一样的,除了振幅太高的50倍,这并非巧合是N的值
N
N = 50
所以,如果我们想要重建正弦波,我们可以把Y除以N
Y = Y / N;
茎(k, abs (Y))
yrecon = Y (21) * exp (1 j * 2 *π* (-10)* t) + Y (31) * exp (1 j * 2 *π* 10 * t);
茎(t, yrecon)
缩放×N后,DFT系数amplitide 1/2的正弦波。
另一种方法来重建正弦波是除以N的而不是扩展DFT coeffeicients重建方程
Y = Y * N;%回到原来的DFT
yrecon = (1 / N) * (Y (21) * exp (1 j * 2 *π* (-10)* t) + Y (31) * exp (1 j * 2 *π* 10 * t));
我们不会因为我们知道它会是什么样子。
现在的documenation寻找 fft ,特别是对传输线方程。我们看到这个方程包括前面的1 / N因子求和的复指数,完全按照上面的立即yrecon方程所示。
总之,使用Matlab的实现fft /传输线,您可以扩展DFT系数从fft输出1 / N如果你想让他们成为“一致”在某种意义上的振幅指数,将用于重建信号。我认为一些人称之为“振幅比例。”IMO, I don't think you should ever explicitly scale Y by N, i.e., do not do
Y = fft (Y) / N
因为你忘记以后的运行风险分析塞尔Y是缩放和别的东西不工作,例如,传输线(Y)收益率错误的答案如果你忘了结果乘以N .相反,只是根据需要除以N的动态,例如,
情节(k.abs (Y / N)
如果你决定你想看到“振幅比例系数。
DTFT, CTFT和DFT都是彼此相关的,所以如果你改变DFT的定义扩展1 / N,你可能需要重新考虑如何维持relationshihp CTFT以及DTFT如果希望所有三个相互一致。
最后,在你做任何扩展你真正需要知道的DFT定义特定的软件你使用。正如我们所看到的,Matlab尺度DFT和1和iDFT的1 / N(我认为本公约是很常见的)。然而,唯一的要求是,产品是1 / N,所以其他的s / w可能DFT总和的1 / N比例因子和统一比例因子iDFT的总和(或1 /√(N)在两个!)。在这种情况下,很明显,你不想Y除以N。

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!