将归一化滤波器转换为实频滤波器

时间:2018-10-18 00:46:50

标签: matlab filter signal-processing

如果下面有归一化的带通滤波器,我如何将其转换为中心频率为697Hz,带宽为50Hz的滤波器?

wHigh = (3*pi)/4;
wLow = pi/4;

M = 30;

N = M + 1;
n = -(N-1)/2 : (N-1)/2;

hn = 1./( (n+eps)*pi ) .* ( sin( (n+eps)*wHigh ) - sin( (n+eps)*wLow ) );
hn = hn(:);

dw = pi/400;
w = 0.0:dw:pi;

ak = hn;
k = 0;

for wc = w
   k = k + 1;

   expveca = exp(j*[M:-1:0]*wc);
   expveca = expveca(:);

   H(k) = sum(ak.*expveca)./exp(j*M*wc);
end

figure()
plot(w, abs(H));
set(gca, 'xlim', [0 pi]);
set(gca, 'xtick', [0:4]*pi/4);
set(gca,'XTickLabel',{'0','\pi/4','\pi/2','3\pi/4','\pi'});
grid on

1 个答案:

答案 0 :(得分:0)

保持该滤波器而不重新设计新滤波器并在具有“真实”频率的“真实”情况下使用它的唯一方法是保持标准化滤波器之间的比例(即,设计为1 Hz采样)率)和最终情况(以及您要使用的采样率)。

您设计了具有以下特征的带通滤波器:

Center : 0.250 Hz
Bandwidth : 0.250 Hz
Sample rate : 1 Hz

请注意,Center = Bandwidth。然后,如果您想要Center = 697HzBandwidth = 50Hz,则需要重新设计一个新的过滤器,因为您的要求不考虑比例。

您可以拥有:

Center : 697 Hz
Bandwidth : 697 Hz
Sample rate : 2788 Hz

或(不包括):

Center : 50 Hz
Bandwidth : 50 Hz
Sample rate : 200 Hz

在这两种情况下,都遵守比例,因此我可以使用您设计的过滤器。

但是首先要决定的一个重要事项是您要使用的采样率