在重采样滤波器设计的MATLAB

9的观点(30天)
ID被
ID被 2016年6月29日
回答: 明星黾 2016年6月29日
我需要了解重采样滤波器设计和应用MATLAB的函数重新取样。
下面是我的代码来生成两个信号x1和x2(音调4 khz和30千赫)并重新取样分别17/15倍(例如)。输入采样率64 k /秒的样品。
% %代码开始
我= 17;
D = 15;
dataLen = 2000;
% %例1:正弦信号
%生成一个输入信号
f1 = 4000;
傅氏国际= 64 * 1000;
% dataLen = 30;
x1 = cos(2 *π* f1 /国际* (0:dataLen-1));
(h1)日元=重新取样(x1,我,D);
% %例2:随机数据
%生成一个输入信号
f2 = 30000;
%国际= 64 * 1000;
% dataLen = 30;
x2 = cos(2 *π* f2 /国际* (0:dataLen-1));% randn (1、dataLen);
(y2, h2) =重新取样(x2, D);
我的问题是:返回的过滤器MATLAB (h1和h2)是完全一样的,而我预料他们是不同的,因为信号采样频率的内容关于位于不同的位置。我能想到的唯一解释是,滤波器的设计有一个通带横跨fs / 2赫兹不管实际的信号。谁能确认这是真的。
滤波器的频率响应。(策划freqz (h1))。它似乎显示约0.06 *π的通频带,这可能被视为(1/17)*π。这是否意味着在重采样的情况下理性因素的I / D,滤波器的通带总是等于0.5π对插值采样率?
谢谢。

接受的答案

明星黾
明星黾 2016年6月29日
它是一个抗锯齿过滤器,是的。我没有看到你 freqz 电话,但如果你包括采样频率的参数,您将看到,它将“新”规模的采样频率,它一定是必须的。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!