matlab写数字抽取滤波器的代码
时间: 2023-11-04 10:31:59 浏览: 107
matlab数字滤波器代码
3星 · 编辑精心推荐
以下是MATLAB实现数字抽取滤波器的代码示例:
% 设计抽取因子为L的数字低通滤波器
fs = 4000; % 采样率
fc = 500; % 截止频率
L = 2; % 抽取因子
N = 30; % 滤波器阶次
wc = 2*pi*fc/fs; % 截止频率(弧度)
b = fir1(N,wc/pi); % FIR低通滤波器设计
bL = upsample(b,L); % 上采样滤波器系数
aL = 1; % 直通项系数
% 频率响应绘制
freqz(bL,aL,1024,fs);
% 抽取数据
x = 2*sin(2*pi*100/fs*(0:1:999)); % 产生原始信号
y = filter(bL,aL,x); % 抽取后信号
% 绘制波形
subplot(2,1,1);
plot(x); % 原始信号波形
title('Input Signal');
subplot(2,1,2);
plot(y); % 抽取后信号波形
title('Output Signal');
希望这能对你有所帮助。如果你还有其他问题,请继续提出。
阅读全文