如何找到合适的频率轴当我们把一个函数的傅里叶变换?
11视图(30天)
显示旧的评论
接受的答案
保罗
2022年6月22日
编辑:保罗
2022年6月23日
嗨Donya,
所以例子的问题有:
信谊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))
现在做一些情节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。
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
所以,如果我们想要重建正弦波,我们可以把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));
我们不会因为我们知道它会是什么样子。
总之,使用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。