MATLAB巴特沃茲濾波器_第1頁
MATLAB巴特沃茲濾波器_第2頁
MATLAB巴特沃茲濾波器_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、相位是信號的一個重要參數(shù),所以一般在濾波中希望實現(xiàn)零相位偏移或具有線 性相位偏移?,F(xiàn)在大致有兩類方法實現(xiàn)零相位偏移:1、將濾波器與一個全通濾波器級聯(lián),用后者的相位響應矯正前者。需要附 加全通濾波器的設計運算量以及額外的矯正算法運算量;2、使用兩個完全相同的濾波器,將通過第一個濾波器后的信號反轉再通過 第二個濾波器,再將第二個濾波器的輸出序列反轉作為整個系統(tǒng)的輸出。綜上我們采用第二種方法,用 MATLAB 實現(xiàn):clearclcclose all%生成一個信號Fs=1000;t=(0:1/Fs:1);y=sin(2*pi*5*t+pi/4)+sin(2*pi*50*t+pi/5)+sin(2*p

2、i*60*t+pi/12); yy=sin(2*pi*5*t+pi/4);figure(1)subplot(211)plot(t,y),grid ontitle( 輸入信號波形 )xlabel(t)ylabel(magnitude)subplot(212)plot(t,angle(y)title( 輸入信號相位 )xlabel(t)ylabel(angle)%設計一個低通濾波器fp=10/500;%通帶截止頻率fs=30/500;%阻帶截止頻率wp=3;%通帶最大衰減ws=30;%阻帶最大衰減n,fc=buttord(fp,fs,wp,ws);b,a=butter(n,fc);figure(4

3、)freqz(b,a);%將生成的信號通過低通濾波器z=filter(b,a,y);figure(2)subplot(221)plot(t,z)title( 通過第一個濾波器后的波形 ) xlabel(t) ylabel(output) axis(0 1 -1 1) subplot(222) plot(t,angle(z)title( 通過第一個濾波器后的相位 ) xlabel(t) ylabel(angle) subplot(223) plot(t,yy)title( 理論上過濾后的波形 )xlabel(t) ylabel(output) axis(0 1 -1 1) subplot(224

4、) plot(t,angle(yy);title(原相位) xlabel(t); ylabel(angle)zf=fliplr(z);%對經(jīng)過第一個濾波器后的信號序列反轉zfz=filter(b,a,zf); %對經(jīng)過第一個濾波器后的信號序列反轉再通過濾波器 zz=fliplr(zfz);%對經(jīng)過兩次濾波器后的輸出反轉作為最后輸出figure(3) subplot(221)plot(t,zz)title(通過兩個濾波器后的波形)xlabel(t) ylabel(output) axis(0 1 -1 1) subplot(222) plot(t,angle(zz)title(通過兩個濾波器后的

5、相位)xlabel(t) ylabel(angle) subplot(223) plot(t,yy) title(理論上過濾后的波形)xlabel(t) ylabel(output) axis(0 1 -1 1) subplot(224)plot(t,angle(yy);title(原相位) xlabel(t); ylabel(angle) %波形的前端和后端有失真,所以對信號進行延拓 for i=1:1001ytleft(i)=y(1002-i); ytright(i)=y(1002-i);end yt=ytleft y ytright; tt=(0:3/(length(yt)-1):3);

6、figure(5) subplot(211) plot(tt,yt) title(通過鏡像延拓后的輸入信號波形) xlabel(t)ylabel(input)subplot(212)plot(tt,angle(yt)title(通過鏡像延拓后的輸入信號的相位) xlabel(t) ylabel(angle)%將生成的信號通過低通濾波器 z=filter(b,a,yt);figure(6) subplot(221)plot(tt,z)title(通過第一個濾波器后的波形) xlabel(t)ylabel(output) axis(1 2 -1 1)subplot(222)plot(tt,angl

7、e(z)title(通過第一個濾波器后的相位) xlabel(t)ylabel(angle)axis(1 2 0 4) subplot(223) plot(t,yy)title(理論上過濾后的波形) xlabel(t) ylabel(output) axis(0 1 -1 1)subplot(224)plot(t,angle(yy);title(原相位)xlabel(t);ylabel(angle)axis(0 1 0 4)zf=fliplr(z);zfz=filter(b,a,zf); %對經(jīng)過第一個濾波器后的信號序列翻轉再通過濾波器 zz=fliplr(zfz);figure(7)subplot(221)for i=1:1001 output(i)=zz(1001+i);endplot(t,output)title(通過兩個濾波器后的波形)xlabel(t)ylabel(output)axis(0 1 -1 1)subplot(222)plot(t,angle(output)title(通過兩個濾波器后的相位)xlabel(t)ylabel(angle)axis(0 1 0 4)subplot(223)plot(t,yy)title(理論上過濾

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論