【发布时间】:2016-03-02 16:50:03
【问题描述】:
我在 MATLAB 中编写了一些代码来过滤噪声信号(noise_f 是噪声信号,它是一个1 x 256 向量):
s_nf = size(noise_f);
size_f = s_nf(2);
lp_tresh = ceil((2/3)*size_f);
lp_f = zeros(1,256);
for n = 1:lp_tresh
lp_f(n) = noise_f(n);
end
subplot(4,3,7);
plot(abs(lp_f)); title('LowPass Filter Result');
这是噪声信号的时域图像:
下面是这个信号的时域分析:
一旦我绘制了低通滤波器的结果,我就会得到:
现在我将ifft 应用到代表滤波信号的1 x 256 向量上,出于某种原因,我得到了这张图片:
有人可以向我解释如何获得滤波信号的正确图吗?所有帮助和建议将不胜感激!
【问题讨论】:
-
你完全去除了负频率,这会产生一个复杂的信号。
-
穷人解决方案:取ifft结果的实部并乘以2。
-
@AndreasH。是不是因为我们过滤掉了基波的谐波,所以我们得到了一半的幅度?
-
@AndreasH。我也没有看到任何负频率,是
ifft造成的吗? -
真实信号在频域中总是对称的...
标签: matlab plot signal-processing fft lowpass-filter