分析以下matlab代码并写上注释,FIR: wp=0.5*pi;%边界频率 ws=0.6*pi; wdelta=ws-wp;%过渡带宽 N=ceil(8*pi/wdelta); Nw=N; wc=(wp+ws)/2; n=0:N-1; alpha=(N-1)/2; m=n-alpha+eps; hd=sin(wc*m)./(pi*m); win=hamming(Nw); h=hd.*win'; b=h; figure(1) [H,f]=freqz(b,1,512,50); subplot(2,1,1),plot(f,20*log10(abs(H))) xlabel('频率/Hz');ylabel('振幅/dB');grid on; subplot(2,1,2),plot(f,180/pi*unwrap(angle(H))); xlabel('频率/Hz');ylabel('相位/o');grid on; f1=8;f2=21; N=100; n=0:N-1;dt=0.02; t=n*dt; x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t); y=filter(b,1,x); figure(2) subplot(2,1,1),plot(t,x),title('输入信号') subplot(2,1,2),plot(t,y) hold on;plot([1 1]*(N-1)/2*dt,ylim,'r') xlabel('时间/s'),title('输出信号');
时间: 2024-03-11 09:43:46 浏览: 74
% FIR滤波器设计
% 边界频率设为0.5*pi
wp=0.5*pi;
% 过渡带宽设为0.1*pi
ws=0.6*pi;
wdelta=ws-wp;% 过渡带宽计算
% 计算FIR滤波器阶数
N=ceil(8*pi/wdelta);
% 设计窗函数长度
Nw=N;
% 计算通带中心频率
wc=(wp+ws)/2;
% 生成序列n,n=0:N-1
n=0:N-1;
% 计算alpha值
alpha=(N-1)/2;
% 生成序列m,m=n-alpha+eps
m=n-alpha+eps;
% 计算理想低通滤波器频率响应
hd=sin(wc*m)./(pi*m);
% 设计汉明窗函数
win=hamming(Nw);
% 计算FIR滤波器系数
h=hd.*win';
% 将滤波器系数赋值给b
b=h;
% 绘制FIR滤波器的幅度响应和相位响应
figure(1)
[H,f]=freqz(b,1,512,50); % freqz函数计算滤波器的频率响应
subplot(2,1,1),plot(f,20*log10(abs(H))) % 绘制幅度响应
xlabel('频率/Hz');ylabel('振幅/dB');grid on;
subplot(2,1,2),plot(f,180/pi*unwrap(angle(H))); % 绘制相位响应
xlabel('频率/Hz');ylabel('相位/o');grid on;
% 生成测试信号
f1=8;
f2=21;
N=100;
n=0:N-1;
dt=0.02;
t=n*dt;
x=sin(2*pi*f1*t)+0.5*cos(2*pi*f2*t);
% 对测试信号进行FIR滤波
y=filter(b,1,x);
% 绘制输入信号和输出信号
figure(2)
subplot(2,1,1),plot(t,x),title('输入信号') % 绘制输入信号
subplot(2,1,2),plot(t,y) % 绘制输出信号
hold on;
plot([1 1]*(N-1)/2*dt,ylim,'r') % 绘制滤波器响应时间范围
xlabel('时间/s'),title('输出信号');
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)