MATLAB滤波器
来源:互联网 发布:网络布线施工 编辑:程序博客网 时间:2024/04/30 03:02
- %窗函数法设计FIR低通滤波器
- clear;close all
- N=45;wc=pi/4;
- n=0:N-1;r=(N-1)/2;
- hdn=sin(wc*(n-r))/pi./(n-r); %计算理想低通单位脉冲响应
- if rem(N,2)~=0 hdn(r+1)=wc/pi; end %N为奇数时,处理n=r点的0/0型
- wn1=boxcar(N); %矩形窗
- hn1=hdn.*wn1'; %加窗
- %以上两条语句可代以fir函数:hn1=fir1(N-1,wc/pi,boxcar(N));
- wn2=hamming(N); % hamming窗
- hn2=hdn.*wn2'; %加窗
- wn3=triang(N); % triang窗
- hn3=hdn.*wn3'; %加窗
- wn4=hanning(N); % hanning(窗
- hn4=hdn.*wn4'; %加窗
- wn5=blackman(N); % blackman窗
- hn5=hdn.*wn5'; %加窗
- wn6=kaiser(N,5.658); % kaiser窗
- hn6=hdn.*wn6'; %加窗
- %以上两条语句可代以fir函数:hn2=fir1(N-1,wc/pi, hamming (N));k=3
- [hw1,w]=freqz(hn1,1);
- [hw2,w]=freqz(hn2,1);
- [hw3,w]=freqz(hn3,1);
- [hw4,w]=freqz(hn4,1);
- [hw5,w]=freqz(hn5,1);
- [hw6,w]=freqz(hn6,1);
- %显示最大化
- set(gcf,'outerposition',get(0,'screensize'));
- %显示窗函数
- subplot(4,3,1);stem(n,hn1,'.');xlabel('矩形窗系数序列');ylabel('h(n1)');
- subplot(4,3,2);stem(n,hn2,'.');xlabel('海明窗系数序列');ylabel('h(n2)');
- subplot(4,3,3);stem(n,hn3,'.');xlabel('三角窗系数序列');ylabel('h(n1)');
- subplot(4,3,4);stem(n,hn4,'.');xlabel('汉宁窗系数序列');ylabel('h(n2)');
- subplot(4,3,5);stem(n,hn5,'.');xlabel('布拉克曼窗系数序列');ylabel('h(n1)');
- subplot(4,3,6);stem(n,hn6,'.');xlabel('凯泽窗系数序列');ylabel('h(n2)');
- %频域相应
- %subplot(4,3,7);plot(w,abs(hw1),w,abs(hw2),':');xlabel('幅频特性');ylabel('│H(w1)│');
- %legend('矩形窗','海明窗')
- %单位为db的频域相应
- subplot(4,3,7);
- plot(w,20*log10(abs(hw1)),w,20*log10(abs(hw1)),':');xlabel('幅频特性');ylabel('dB');
- legend('矩形窗','矩形窗')
- subplot(4,3,8);
- plot(w,20*log10(abs(hw1)),w,20*log10(abs(hw2)),':');xlabel('幅频特性');ylabel('dB');
- legend('矩形窗','海明窗')
- subplot(4,3,9);
- plot(w,20*log10(abs(hw1)),w,20*log10(abs(hw3)),':');xlabel('幅频特性');ylabel('dB');
- legend('矩形窗','三角窗')
- subplot(4,3,10);
- plot(w,20*log10(abs(hw1)),w,20*log10(abs(hw4)),':');xlabel('幅频特性');ylabel('dB');
- legend('矩形窗','汉宁窗')
- subplot(4,3,11);
- plot(w,20*log10(abs(hw1)),w,20*log10(abs(hw5)),':');xlabel('幅频特性');ylabel('dB');
- legend('矩形窗','布拉克曼窗')
- subplot(4,3,12);
- plot(w,20*log10(abs(hw1)),w,20*log10(abs(hw6)),':');xlabel('幅频特性');ylabel('dB');
- legend('矩形窗','凯泽窗')
- clear;close all
- set(gcf,'outerposition',get(0,'screensize')); %最大化显示
- N=21; %阶数
- b=fir1(N,0.25,'low',triang(N+1));n=0:N; %设计FIR数字滤波器系数
- subplot(3,2,1);stem(n,b,'.');
- legend('三角窗')
- xlabel('n'); ylabel('h(n)');
- axis([0,21,-0.4,0.5]),line([0,21],[0,0])
- [h,w]=freqz(b,1,256);
- subplot(3,2,2);plot(w/pi,20*log10(abs(h)));
- legend('三角窗');grid
- axis([0,1,-80,0]); xlabel ('w/pi'); ylabel ('幅度(dB)');
- b=fir1(N,0.25,'low',hanning(N+1));n=0:N; %设计FIR数字滤波器系数
- subplot(3,2,3);stem(n,b,'.');
- legend('汉宁窗')
- xlabel('n'); ylabel('h(n)');
- axis([0,21,-0.4,0.5]),line([0,21],[0,0])
- [h,w]=freqz(b,1,256);
- subplot(3,2,4);plot(w/pi,20*log10(abs(h)));
- legend('汉宁窗');grid
- axis([0,1,-80,0]); xlabel ('w/pi'); ylabel ('幅度(dB)');
- b=fir1(N,0.25,'low',blackman(N+1));n=0:N; %设计FIR数字滤波器系数
- subplot(3,2,5);stem(n,b,'.');
- legend('布拉克曼窗')
- xlabel('n'); ylabel('h(n)');
- axis([0,21,-0.4,0.5]),line([0,21],[0,0])
- [h,w]=freqz(b,1,256);
- subplot(3,2,6);plot(w/pi,20*log10(abs(h)));
- legend('布拉克曼窗');grid
- axis([0,1,-80,0]); xlabel ('w/pi'); ylabel ('幅度(dB)');
- MATLAB滤波器
- matlab 滤波器
- 用Matlab设置滤波器
- IIR滤波器matlab源程序
- MATLAB滤波器工具
- [Matlab]IIR滤波器参数
- Matlab滤波器设计
- matlab滤波器设计
- matlab滤波器设计
- Matlab中的滤波器设计
- Matlab滤波器设计
- Matlab实现Butterworth滤波器
- matlab 滤波器篇
- matlab 滤波器设计
- matlab gabor 滤波器
- Matlab滤波器设计
- matlab 滤波器函数
- matlab常用滤波器
- may 7,2011
- 小学生数学测试软件
- 找工作
- 笔记56
- 工作中的成长
- MATLAB滤波器
- 用顶点数组绘制立方体
- this变量
- DirectX骨骼动画,地形,级球形天空体的演示
- OpenCV图像、矩阵、数组
- 我的ACM第一步——Sicily 1000
- 5.7号<疯狂的程序员>读书笔记
- try---finally
- spring中的集合装配