MATLAB-巴特沃兹滤波器.docx
《MATLAB-巴特沃兹滤波器.docx》由会员分享,可在线阅读,更多相关《MATLAB-巴特沃兹滤波器.docx(8页珍藏版)》请在第壹文秘上搜索。
1、相位是信号的一个事要参数,所以一般在滤波中希望实现零相位偏移或具有线性相位偏移.现在大致有两类方法实现零相位偏移:1、将滋波器与一个全通漉波器级联,用后者的相位响应矫正前者。须要附加全通淹波器的设计运算量以及额外的矫正算法运算量;2、运用两个完全相同的遮波器,将通过第一个波波器后的信号反转再通过其次个速波器,再将其次个滤波器的输出序列反转作为整个系统的输出。综上我们采纳其次种方法,用MAT1.AB实现:clearclccloseall%生成一个信号Fs=I(XX);t=(O:l/Fs:l);y=sin(2*pl*5t+pi4)+sin(2*p50t+pl5)+sln(2*pi*60*t+pl1
2、2);yy=sin(2,pi*5*t+pi4);figure(l)subplot(211)Pot(t,y),gridontitle(输入信号波形,)XlabeI(V)ylabel(lmagnitudel)subplot(212)plot(t,angle(y)title。输入信号相位)XlabeICf)ylabel(,angle)%设计一个低通泄波器fp=10So0;%通带截止频率fs=3O/5OO;%阻带极止频率WP=3;%通带最大衰减ws=30;%阻带最大衰减(n,fc)=buttord(fp,fs.wp,ws);(b,a=btter(n,fc);figure(4)freqz(b,a);%将
3、生成的信号通过低通滤波器z=filter(b,a,y);figure(2)subplot(221)Pot(t,z)title(通过第一个泄波器后的波形)XlabeICf)ylabel(output)axis(01-11)subplot(222)plot(t,angle(z)title(通过第一个滤波器后的相位)XlabeICt)ylabel(,a11ge)subplot(223)Pot(t,yy)titled理论上过迪后的波形xlabel(f)ylabel(output)ais(01-11)subplot(224)plot(t,angle(y);title(原相位)XlabeICt);ylab
4、el(,angle)zf=fliplr(z);%对经过第一个滤波器后的信号序列反转zfz=filter(b,a,zf);%对经过第一个谑波器后的信号序列反转再通过滤波器zz=fliplr(zfz);%时经过两次浊波器后的输出反转作为最终输出figuresubplot(221)Pot(t,zz)HtIeC通过两个泄波器后的波形)XlabeICt)ylabel(output)ais(01-11)subplot(222)plot(t,angle(zz)title(,通过两个浊波器后的相位,)XlabeICt)ylabel(,angle,)subplot(223)Pot(t,yy)title。理论上过
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 巴特沃兹 滤波器