我正在尝试使用 matlab 找到一个需要我计算输入信号的傅立叶变换的因子。问题是这样向我说明的:
fbin = 50HZ
0 <= n <= 1999
alpha = F {Blackman[2000] . cos[-2pi . fbin . n/2000]} (f)
where F is the Continous Time Fourier Transform operator.
我的 matlab 代码如下所示:
blackman_v = blackman(2000);
signal_x = cos(-2 * pi() .* fbin * (0:(1999)) ./ 2000) .* blackman_v';
fft_real = abs(fft(signal_x, 2000));
alpha = fft_real(51); %51 is the bin for 50hz => or {(f * N/Fs)+1}==51
我的问题是,对于 49hz,我应该得到大约 412 的值,但我得到大约 250(我实际上是在验证以前的一些结果)。我是否错误地翻译了问题?我已经战斗了很长时间,我真的看不出这里有什么问题。认为50Hz(430)的值是可以的。
真的很感激任何提示!
编辑
blackman_v = blackman(2000);
signal_x = cos(-2 * pi() .* fbin * (0:(1999)) ./ 2000) .* blackman_v';
alpha = abs(freqz(signal_x , 1, 2*pi*50/10000))
你知道频率是什么吗?我阅读了matlab doc,但我的脑海中仍然没有清楚。