FFT后如何识别Low/High/Band通滤波器?

How to recognize Low/High/Band pass filters after FFT?

我在 Matlab 中有两个零填充信号

h_1[n] = {...,0,0,1,2,1,0,0,...} 
h_2[n] = {...,0,1,0,2,0,1,0,...}

在下面你可以看到他们的 FFT 图:

% N1 and N2 are just the lengths of h1 and h2.
H1 = fft(h1, N1); 
H2 = fft(h2, N2);

% ...

figure;
from = -floor(length(H1)/2);
to   = floor(length(H1)/2);
stem(from:to, abs(H1));

我的问题是如何确定这些滤波器是低通、高通还是带通滤波器。

我知道 FFT 分解我的时间函数,这里是 h_1[n]h_2[n],分解成它们组成的频率:H_1[k]H_2[k] 如果我做对了,但到目前为止,这些图几乎什么都没告诉我。

那么如何解读这些情节呢?我不知道为什么我们要在h_2[n]中添加更多的零,这是为了更高的采样率吗?

感谢您的解释!

我不是 100% 确定你用什么来生成这些图。

通常 - 如果将 FFT 转换为极坐标格式,则更容易解释。您最终会得到一张相位响应图和一张频率响应图。

我推荐读一读:http://www.dspguide.com/ch8/8.htm

不过我认为第一个是高通滤波器(低频值低,高频值高)。

如果我没看错你的图表,那么第二个看起来像带拒绝?

http://www.dspguide.com/ch8/8.htm

(1) 两个信号中的补0相当于频域的插值,可以看到图中的频谱更密

(2)关于h_1[n]和h_2[n],h_2[n]可以看作是h_1[n的升采样版本] 系数为 2,那么您可以在频域中看到原始光谱的两个副本。

请参考数字信号处理教材"multi-rate signal processing"