Matlab FFT后如何识别低/高/带通滤波器?
我在Matlab中有两个零填充信号Matlab FFT后如何识别低/高/带通滤波器?,matlab,fft,Matlab,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
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]
那么人们如何解释这些情节呢?我不知道为什么我们必须在h2[n]
中添加更多的零,这可能是为了有更高的采样率吗
谢谢你的解释 我不能100%确定您使用什么来生成这些绘图 通常-如果将FFT转换为极坐标格式,则更容易解释。最终得到一个相位响应图和一个频率响应图 我建议大家读一读: 然而,我认为第一个是高通滤波器(低频低值,高频高值) 如果我读对了你的图表,那么第二个看起来像带阻效应 (1)两个信号中的填充0相当于频域中的插值,因此您可以在图中看到更密集的频谱 (2) 关于h_1[n]和h_2[n],可以将h_2[n]视为具有因子2的h_1[n]的上采样版本,然后可以在频域中看到原始光谱的两个副本
请参阅数字信号处理教科书中的“多速率信号处理”。Hi!我正在使用Matlab来完成这个(在我的问题中编辑了这个)。我不知道如何将它们转换成极坐标。你知道我怎么做吗?因此,第一个图是高通滤波器,因为它在低频时的值较低,在高频时的值较高。?我想我必须从“镜像点”开始“测量”,对吗?抱歉问了这么多问题。这是从一个讲座中得来的,我没有带上所有之前需要的知识:OP问题中的abs函数进行“极坐标”转换。stem图已经是震级图了。Stefan-我认为从镜像点测量看起来是正确的。带通应该有点像这样: