Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 归一化滤波器到实频滤波器的转换_Matlab_Filter_Signal Processing - Fatal编程技术网

Matlab 归一化滤波器到实频滤波器的转换

Matlab 归一化滤波器到实频滤波器的转换,matlab,filter,signal-processing,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

如果我有下面的标准化带通滤波器,我如何将其转换为中心频率为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 Hz采样率)和最终情况(您希望使用的采样率)之间的比例

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

Center : 0.250 Hz
Bandwidth : 0.250 Hz
Sample rate : 1 Hz
请注意,
Center=带宽
。然后,如果您想要
Center=697Hz
Bandwidth=50Hz
,您需要重新设计一个新的过滤器,因为您的要求不符合比例

您可以选择:

Center : 697 Hz
Bandwidth : 697 Hz
Sample rate : 2788 Hz
或(不包括):

在这两种情况下,比例得到尊重,因此我可以使用您设计的过滤器


但首先要确定一件非常重要的事情,那就是你正在使用的采样率

我不太明白,这就是为什么我在这里寻求帮助,伙计。有些代码是提供的,有些是我自己添加的。我不是要你们解什么,我是在征求意见。一般来说,你们会想做一个代换,比如
w=2*pi*f
,但要做到这一点,从数学方程开始要容易得多,因为这通常需要在积分(或和)之前加上归一化因子。另外,不能直接从代码开始:例如,如果
w
标准化因子为
1
,而
f
标准化因子为
1/2pi
(如傅里叶变换),您如何从代码中知道这一点?也就是说,我不认为从你发布的信息中可以做到这一点,我也不认识这个等式。而且,术语
wHigh=(3*pi)/4
在这里没有真正的意义,这让我觉得有些问题
wHigh
应该是一个角度频率(即,有一个时间元素),像这样的完美角度是不寻常的。因此,由于没有信息,代码中有错误,我怀疑这个问题无法解决。你的“真实频率滤波器”采样率是多少?
Center : 50 Hz
Bandwidth : 50 Hz
Sample rate : 200 Hz