【问题标题】:How to recognize Low/High/Band pass filters after FFT?FFT后如何识别低/高/带通滤波器?
【发布时间】:2015-05-16 16:58:30
【问题描述】:

我在 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] 中添加更多的零,这是为了提高采样率吗?

感谢您的解释!

【问题讨论】:

    标签: matlab fft


    【解决方案1】:

    我不能 100% 确定您使用什么来生成这些图。

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

    我建议您阅读以下内容:http://www.dspguide.com/ch8/8.htm

    但是我认为第一个将是高通滤波器(低频时值较低,高频时值较高)。

    如果我正在阅读您的图表,那么第二个看起来像带拒绝?

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

    【讨论】:

    • 嗨!我为此使用 Matlab(在我的问题中对此进行了编辑)。我不知道如何将它们转换为极地。知道我该怎么做吗?所以第一个图是一个高通滤波器,因为它在低频处具有低值,而在较高频率处具有更高的值。?我想我必须从“镜像点”“测量”对吗?抱歉问了这么多问题。这是来自我没有带来所有以前所需知识的讲座:D
    • OP 问题中的 abs 函数进行“极坐标”转换。茎图已经是幅度图。
    • Stefan - 我认为从镜像点测量看起来不错。带通应该看起来像这样:ndt.net/article/v07n09/08/fig2.gif
    【解决方案2】:

    (1) 两个信号中填充的 0 相当于频域的插值,因此您可以在图中看到更密集的频谱。

    (2) 关于 h_1[n] 和 h_2[n],h_2[n] 可以看作是 h_1[n] 的上采样版本,因子为 2,那么你可以在频率上看到原始频谱的两个副本域。

    请参考数字信号处理教材中的“多速率信号处理”。

    【讨论】:

      猜你喜欢
      • 2014-02-09
      • 2015-05-09
      • 1970-01-01
      • 2014-07-29
      • 2015-05-03
      • 2010-10-23
      • 2012-07-02
      • 2013-10-07
      • 2023-04-10
      相关资源
      最近更新 更多