基于Python的FIR數字濾波器設計-第1篇_第1頁
基于Python的FIR數字濾波器設計-第1篇_第2頁
基于Python的FIR數字濾波器設計-第1篇_第3頁
基于Python的FIR數字濾波器設計-第1篇_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、 基于Python的FIR數字濾波器設計 Summary:數字濾波器因具備應用靈活、穩定、處理精度高等優點被廣泛應用于信號處理等領域。現介紹了在Anaconda開發環境下,基于Python的FIR數字濾波器仿真設計方法,為后續基于Python的數字信號處理方面的教學、科研提供了參考。Key:FIR數字濾波器;Python;數字信號處理0 引言數字濾波器作為信號處理的核心設備之一,在工業生產、科學研究等領域有著廣泛應用。目前在科研和教學領域,數字濾波器主要基于Matlab軟件進行設計,隨著國外軟件公司逐漸限制部分高校使用Matlab軟件,基于開源軟件平臺進行數字濾波器設計顯得十分重要。本文主要介

2、紹了在Anaconda開發環境下,基于Python的有限長單位脈沖響應(FIR)數字濾波器的設計方法。1 Anaconda開發環境簡介Anaconda作為Python的一個開源發行版本,主要面向科學計算,它預裝了很多常用的第三方庫,提供了包管理與環境管理的功能,可以方便解決各種第三方包的安裝問題,其自帶的Spyder集成開發環境及IPython交互式編程環境都有助于提高編程效率1。本文程序均調用了Python科學計算包中的基礎數據處理庫numpy、圖表繪制庫matplotlib及數值計算庫scipy。2 FIR數字濾波器設計2.1 窗函數法設計線性相位FIR濾波器設計思路:假設希望逼近的理想濾

3、波器的頻率響應為Hd(ej),如果能求出其單位脈沖響應hd(n),經過Z變換可得到濾波器的系統函數。因hd(n)是無限長的,需用一個有限長的N點窗函數序列w(n)去截斷(相乘),截斷后的序列為h(n),再求出加窗后實際的頻率響應H(ej)。若結果不滿足要求,則需考慮改變窗的形狀或窗長的點數N2。下面設計一個34階的高通濾波器,歸一化截止角頻率為0.48,使用具有50 dB旁瓣紋波衰減的Chebyshev窗設計。Python程序與數字高通濾波器的幅頻響應如圖1所示,也可選擇其他窗函數進行設計。2.2 頻率采樣法設計FIR濾波器該方法從頻域出發,對理想的頻率響應Hd(ej)進行等間隔采樣得到Hd(

4、k),并以此作為實際FIR濾波器頻率特性的離散樣本H(k),H(k)再通過IDFT可求出有限長序列h(n),同樣可利用H(k)求出FIR濾波器的系統函數H(Z)及頻率響應H(ej)。下面設計一個線性相位低通FIR數字濾波器,使得p=0.2,Rp=0.25 dB,s=0.3,As=40 dB。當采樣點數M初步設置為20時,最小阻帶衰減不到-20 dB。為進一步增加阻帶衰減,可增加采樣點數M,還可在通帶和阻帶交界處插入一個或幾個01的采樣值來改善頻率特性。這里直接選擇M=40,在過渡帶內k=5和k=35處,增設H(k)=0.39。Python程序與數字低通濾波器的幅頻響應如圖2所示,可以看出此時阻

5、帶最小衰減可達-40 dB以上。2.3 等波紋最佳逼近法設計FIR濾波器該方法克服了窗函數設計法和頻率采樣法的缺點,使最大誤差最小化,并使加權逼近誤差在整個逼近頻段上均勻分布。該方法所設計的濾波器性價比高,階數相同時可使通帶最大衰減最小、阻帶最小衰減最大,指標相同時可使濾波器階數最低。為求取滿足等波紋最佳逼近準則的FIR數字濾波器的單位脈沖響應h(n),目前普遍應用的方法是Parks和McCellan提出的一種高效迭代算法雷米茲(Remez)交替算法。下面用雷米茲交替算法設計一個線性相位FIR帶通濾波器,通帶為0.2,0.6,阻帶為0,0.15和0.65,濾波器的階數為31。Python程序與數字帶通濾波器的幅頻響應如圖3所示。設計其他種類數字濾波器時,需注意Remez函數相關參數的不同格式要求。3 結語本文介紹了FIR數字濾波器的常用設計思路,給出了基于Python的濾波器仿真設計方法,有助于從直觀上比較不同設計方法的優劣,為后續基于Python的數字信號處理方面的教學與科研提供了一定的參考。

溫馨提示

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

評論

0/150

提交評論