當前位置:編程學習大全網 - 源碼下載 - 利用MATLAB做切比雪夫帶阻IIR濾波器設計報告

利用MATLAB做切比雪夫帶阻IIR濾波器設計報告

壹、數字濾波器數字濾波器是對數字信號實現濾波的線性時不變系統。數字濾波實質上是壹種運算過程,實現對信號的運算處理。輸入數字信號(數字序列)通過特定的運算轉變為輸出的數字序列,因此,數字濾波器本質上是壹個完成特定運算的數字計算過程,也可以理解為是壹臺計算機。描述離散系統輸出與輸入關系的卷積和差分方程只是給數字信號濾波器提供運算規則,使其按照這個規則完成對輸入數據的處理。時域離散系統的頻域特性: ,其中 、 分別是數字濾波器的輸出序列和輸入序列的頻域特性(或稱為頻譜特性), 是數字濾波器的單位取樣響應的頻譜,又稱為數字濾波器的頻域響應。輸入序列的頻譜 經過濾波後 ,因此,只要按照輸入信號頻譜的特點和處理信號的目的, 適當選擇 ,使得濾波後的 滿足設計的要求,這就是數字濾波器的濾波原理。數字濾波器根據其沖激響應函數的時域特性,可分為兩種,即無限長沖激響應(IIR)數字濾波器和有限長沖激響應(FIR)數字濾波器。IIR 數字濾波器的特征是,具有無限持續時間沖激響應,需要用遞歸模型來實現,其差分方程為: 系統函數為: 設計IIR濾波器的任務就是尋求壹個物理上可實現的系統函數H(z),使其頻率響應H(z)滿足所希望得到的頻域指標,即符合給定的通帶截止頻率、阻帶截止頻率、通帶衰減系數和阻帶衰減系數。二、IIR數字濾波器設計方法IIR數字濾波器是壹種離散時間系統,其系統函數為假設M≤N,當M>N時,系統函數可以看作壹個IIR的子系統和壹個(M-N)的FIR子系統的級聯。IIR數字濾波器的設計實際上是求解濾波器的系數 和 ,它是數學上的壹種逼近問題,即在規定意義上(通常采用最小均方誤差準則)去逼近系統的特性。如果在S平面上去逼近,就得到模擬濾波器;如果在z平面上去逼近,就得到數字濾波器。1.用脈沖相應不變法設計IIR數字濾波器 利用模擬濾波器來設計數字濾波器,也就是使數字濾波器能模仿模擬濾波器的特性,這種模仿可以從不同的角度出發。脈沖響應不變法是從濾波器的脈沖響應出發,使數字濾波器的單位脈沖響應序列h(n)模仿模擬濾波器的沖激響應ha(t),即將ha(t)進行等間隔采樣,使h(n)正好等於ha(t)的采樣值,滿足h(n)=ha(nT)式中,T是采樣周期。如果令Ha(s)是ha(t)的拉普拉斯變換,H(z)為h(n)的Z變換,利用采樣序列的Z變換與模擬信號的拉普拉斯變換的關系得

(1-1)則可看出,脈沖響應不變法將模擬濾波器的S平面變換成數字濾波器的Z平面,這個從s到z的變換z=esT是從S平面變換到Z平面的標準變換關系式。

圖1-1脈沖響應不變法的映射關系 由(1-1)式,數字濾波器的頻率響應和模擬濾波器的頻率響應間的關系為(1-2) 這就是說,數字濾波器的頻率響應是模擬濾波器頻率響應的周期延拓。正如采樣定理所討論的,只有當模擬濾波器的頻率響應是限帶的,且帶限於折疊頻率以內時,即?(1-3)才能使數字濾波器的頻率響應在折疊頻率以內重現模擬濾波器的頻率響應,而不產生混疊失真,即|ω|<π (1-4)但是,任何壹個實際的模擬濾波器頻率響應都不是嚴格限帶的,變換後就會產生周期延拓分量的頻譜交疊,即產生頻率響應的混疊失真,如圖7-4所示。這時數字濾波器的頻響就不同於原模擬濾波器的頻響,而帶有壹定的失真。當模擬濾波器的頻率響應在折疊頻率以上處衰減越大、越快時,變換後頻率響應混疊失真就越小。這時,采用脈沖響應不變法設計的數字濾波器才能得到良好的效果。

圖1-2脈沖響應不變法中的頻響混疊現象 對某壹模擬濾波器的單位沖激響應ha(t)進行采樣,采樣頻率為fs,若使fs增加,即令采樣時間間隔(T=1/fs)減小,則系統頻率響應各周期延拓分量之間相距更遠,因而可減小頻率響應的混疊效應。脈沖響應不變法優缺點:從以上討論可以看出,脈沖響應不變法使得數字濾波器的單位脈沖響應完全模仿模擬濾波器的單位沖激響應,也就是時域逼近良好,而且模擬頻率Ω和數字頻率ω之間呈線性關系ω=ΩT。因而,壹個線性相位的模擬濾波器(例如貝塞爾濾波器)通過脈沖響應不變法得到的仍然是壹個線性相位的數字濾波器。脈沖響應不變法的最大缺點是有頻率響應的混疊效應。所以,脈沖響應不變法只適用於限帶的模擬濾波器(例如,衰減特性很好的低通或帶通濾波器),而且高頻衰減越快,混疊效應越小。至於高通和帶阻濾波器,由於它們在高頻部分不衰減,因此將完全混淆在低頻響應中。如果要對高通和帶阻濾波器采用脈沖響應不變法,就必須先對高通和帶阻濾波器加壹保護濾波器,濾掉高於折疊頻率以上的頻率,然後再使用脈沖響應不變法轉換為數字濾波器。當然這樣會進壹步增加設計復雜性和濾波器的階數。2.用雙線性變換法設計IIR數字濾波器脈沖響應不變法的主要缺點是產生頻率響應的混疊失真。這是因為從S平面到Z平面是多值的映射關系所造成的。為了克服這壹缺點,可以采用非線性頻率壓縮方法,將整個頻率軸上的頻率範圍壓縮到-π/T~π/T之間,再用z=esT轉換到Z平面上。也就是說,第壹步先將整個S平面壓縮映射到S1平面的-π/T~π/T壹條橫帶裏;第二步再通過標準變換關系z=es1T將此橫帶變換到整個Z平面上去。這樣就使S平面與Z平面建立了壹壹對應的單值關系,消除了多值變換性,也就消除了頻譜混疊現象,映射關系如圖1-3所示。 圖1-3雙線性變換的映射關系為了將S平面的整個虛軸jΩ壓縮到S1平面jΩ1軸上的-π/T到π/T段上,可以通過以下的正切變換實現(1-5)式中,T仍是采樣間隔。當Ω1由-π/T經過0變化到π/T時,Ω由-∞經過0變化到+∞,也即映射了整個jΩ軸。將式(1-5)寫成

將此關系解析延拓到整個S平面和S1平面,令jΩ=s,jΩ1=s1,則得

再將S1平面通過以下標準變換關系映射到Z平面z=es1T從而得到S平面和Z平面的單值映射關系為:(1-6)

(1-7) 式(1-6)與式(1-7)是S平面與Z平面之間的單值映射關系,這種變換都是兩個線性函數之比,因此稱為雙線性變換式(1-5)與式(1-6)的雙線性變換符合映射變換應滿足的兩點要求。首先,把z=ejω,可得(1-8)即S平面的虛軸映射到Z平面的單位圓。其次,將s=σ+jΩ代入式(1-8),得 因此 由此看出,當σ<0時,|z|<1;當σ>0時,|z|>1。也就是說,S平面的左半平面映射到Z平面的單位圓內,S平面的右半平面映射到Z平面的單位圓外,S平面的虛軸映射到Z平面的單位圓上。因此,穩定的模擬濾波器經雙線性變換後所得的數字濾波器也壹定是穩定的。雙線性變換法優缺點雙線性變換法與脈沖響應不變法相比,其主要的優點是避免了頻率響應的混疊現象。這是因為S平面與Z平面是單值的壹壹對應關系。S平面整個jΩ軸單值地對應於Z平面單位圓壹周,即頻率軸是單值變換關系。這個關系如式(1-8)所示,重寫如下: 上式表明,S平面上Ω與Z平面的ω成非線性的正切關系,如圖7-7所示。由圖7-7看出,在零頻率附近,模擬角頻率Ω與數字頻率ω之間的變換關系接近於線性關系;但當Ω進壹步增加時,ω增長得越來越慢,最後當Ω→∞時,ω終止在折疊頻率ω=π處,因而雙線性變換就不會出現由於高頻部分超過折疊頻率而混淆到低頻部分去的現象,從而消除了頻率混疊現象。

圖1-4雙線性變換法的頻率變換關系但是雙線性變換的這個特點是靠頻率的嚴重非線性關系而得到的,如式(1-8)及圖1-4所示。由於這種頻率之間的非線性變換關系,就產生了新的問題。首先,壹個線性相位的模擬濾波器經雙線性變換後得到非線性相位的數字濾波器,不再保持原有的線性相位了;其次,這種非線性關系要求模擬濾波器的幅頻響應必須是分段常數型的,即某壹頻率段的幅頻響應近似等於某壹常數(這正是壹般典型的低通、高通、帶通、帶阻型濾波器的響應特性),不然變換所產生的數字濾波器幅頻響應相對於原模擬濾波器的幅頻響應會有畸變,如圖1-5所示。

圖1-5雙線性變換法幅度和相位特性的非線性映射對於分段常數的濾波器,雙線性變換後,仍得到幅頻特性為分段常數的濾波器,但是各個分段邊緣的臨界頻率點產生了畸變,這種頻率的畸變,可以通過頻率的預畸來加以校正。也就是將臨界模擬頻率事先加以畸變,然後經變換後正好映射到所需要的數字頻率上。三、IIR數字帶通濾波器設計過程:根據以上IIR數字濾波器設計方法,下面運用雙線性變換法基於MATLAB設計壹個IIR帶通濾波器,其中帶通的中心頻率為ωp0=0.5π,;通帶截止頻率ωp1=0.4π,ωp2=0.6π;通帶最大衰減αp=3dB;阻帶最小衰減αs=15dB;阻帶截止頻率ωs2=0.7π1.設計步驟:(1)根據任務,確定性能指標:在設計帶通濾波器之前,首先根據工程實際的需要確定濾波器的技術指標:帶通濾波器的阻帶邊界頻率關於中心頻率ωp0幾何對稱,因此ws1=wp0- (ws2-wp0)=0.3π通帶截止頻率wc1=0.4π,wc2=0.6π;阻帶截止頻率wr1=0.3π,wr2=0.7π;阻帶最小衰減αs=3dB和通帶最大衰減αp=15dB;(2)用Ω=2/T*tan(w/2)對帶通數字濾波器H(z)的數字邊界頻率預畸變,得到帶通模擬濾波器H(s)的邊界頻率主要是通帶截止頻率ωp1,ωp2;阻帶截止頻率ωs1,ωs2的轉換。為了計算簡便,對雙線性變換法壹般T=2s通帶截止頻率wc1=(2/T)*tan(wp1/2)=tan(0.4π/2)=0.7265wc2=(2/T)*tan(wp2/2)=tan(0.6π/2)=1.3764阻帶截止頻率wr1=(2/T)*tan(ws1/2)=tan(0.3π/2)=0.5095wr2=(2/T)*tan(ws2/2)=tan(0.7π/2)=1.9626阻帶最小衰減αs=3dB和通帶最大衰減αp=15dB;(3)運用低通到帶通頻率變換公式λ=(((Ω^2)-(Ω0^2))/(B*Ω))將模擬帶通濾波器指標轉換為模擬低通濾波器指標。B=wc2-wc1=0.6499normwr1=(((wr1^2)-(w0^2))/(B*wr1))=2.236normwr2=(((wr2^2)-(w0^2))/(B*wr2))=2.236normwc1=(((wc1^2)-(w0^2))/(B*wc1))=1normwc2=(((wc2^2)-(w0^2))/(B*wc2))=1得出,normwc=1,normwr=2.236模擬低通濾波器指標:normwc=1,normwr=2.236,αp=3dB,αs=15dB(4)設計模擬低通原型濾波器。用模擬低通濾波器設計方法得到模擬低通濾波器的傳輸函數Ha(s);借助巴特沃斯(Butterworth)濾波器、切比雪夫(Chebyshev)濾波器、橢圓(Cauer)濾波器、貝塞爾(Bessel)濾波器等。(5)調用lp2bp函數將模擬低通濾波器轉化為模擬帶通濾波器。(6)利用雙線性變換法將模擬帶通濾波器Ha(s)轉換成數字帶通濾波器H(z).2.程序流程框圖:開始↓讀入數字濾波器技術指標↓將指標轉換成歸壹化模擬低通濾波器的指標↓設計歸壹化的模擬低通濾波器階數N和3db截止頻率↓模擬域頻率變換,將G(P)變換成模擬帶通濾波器H(s)↓用雙線性變換法將H(s)轉換成數字帶通濾波器H(z)↓輸入信號後顯示相關結果↓結束 3.MATLAB程序:MATLAB 程序如下:clearwp0=0.5*pi;wp1=0.4*pi;wp2=0.6*pi;Ap=3;ws2=0.7*pi;As=15;T=2; %數字帶通濾波器技術指標ws1=wp0-(ws2-wp0); %計算帶通濾波器的阻帶下截止頻率wc1=(2/T)*tan(wp1/2);wc2=(2/T)*tan(wp2/2);wr1=(2/T)*tan(ws1/2);wr2=(2/T)*tan(ws2/2);w0=(2/T)*tan(wp0/2); %頻率預畸變B=wc2-wc1; %帶通濾波器的通帶寬度 normwr1=(((wr1^2)-(w0^2))/(B*wr1));normwr2=(((wr2^2)-(w0^2))/(B*wr2));normwc1=(((wc1^2)-(w0^2))/(B*wc1));normwc2=(((wc2^2)-(w0^2))/(B*wc2)); %帶通到低通的頻率變換if abs(normwr1)>abs(normwr2) normwr=abs(normwr2)else normwr=abs(normwr1)end normwc=1; %將指標轉換成歸壹化模擬低通濾波器的指標N=buttord(normwc,normwr,Ap,As,'s'); %設計歸壹化的模擬低通濾波器階數N和3db截止頻率[bLP,aLP]=butter(N,normwc,'s'); %計算相應的模擬濾波器系統函數G(p)[bBP,aBP]=lp2bp(bLP,aLP,w0,B); %模擬域頻率變換,將G(P)變換成模擬帶通濾波器H(s) [b,a]=bilinear(bBP,aBP,0.5); %用雙線性變換法將H(s)轉換成數字帶通濾波器H(z)w=linspace (0,2*pi,500);h=freqz(b,a,w);subplot(2,1,2);plot(w,abs(h));grid onxlabel('w(rad)')ylabel('|H(jw)|')title('頻譜函數')subplot(2,2,1);plot(w,20*log10(abs(h)));axis([0,2*pi,-120,20]);grid onxlabel('w(rad)')ylabel('20*lg|H(jw)|(db)')title('20*lg|H(jw)|--w')

  • 上一篇:徐飛源代碼
  • 下一篇:免費瘋狂抓漲停分時主源碼
  • copyright 2024編程學習大全網