samp7_10.m

来自「数字信号处理的Matlab实现的随书光盘」· M 代码 · 共 25 行

M
25
字号
%Samp7_10
clf;n=20;                  %滤波器阶数
f=[0 0.4 0.5 1];            %频率向量
a=[1 1 0 0];                 %振幅向量
b=firls(n,f,a);              %采用 firls 设计滤波器
[h,w1]=freqz(b);                %计算其频率响应
bb=remez(n,f,a);             %采用 remez 设计滤波器
[hh,w2]=freqz(bb);              %计算滤波器的频率响应
figure(1)
plot(w1/pi,abs(h),w2/pi,abs(hh),'r:');         %绘制滤波器的幅频响应
xlabel('归一化频率');ylabel('振幅');
legend('firls','remez');                       %给出图例
grid on;
figure(2)
fs=50;t=0:1/fs:2;  %采样频率和时间序列
f1=5;f2=15;  %输入信号频率
x1=sin(2*pi*f1*t)+8.*cos(2*pi*f2*t);
subplot(2,1,1),plot(t,x1)
title('原始信号')
y1=filter(b,1,x1);
y2=filter(bb,1,x1);
subplot(2,1,2),plot(t,y1,t,y2,'r:')
legend('firls','remez');                       %给出图例
title('输出信号')
xlabel('时间/s') 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?