《數(shù)字信號處理》課件-第8章_第1頁
《數(shù)字信號處理》課件-第8章_第2頁
《數(shù)字信號處理》課件-第8章_第3頁
《數(shù)字信號處理》課件-第8章_第4頁
《數(shù)字信號處理》課件-第8章_第5頁
已閱讀5頁,還剩216頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

8.1引言

8.2信號流圖

8.3IIR系統(tǒng)的基本網(wǎng)絡(luò)結(jié)構(gòu)

8.4FIR系統(tǒng)的基本網(wǎng)絡(luò)結(jié)構(gòu)

8.5利用Matlab依據(jù)算法結(jié)構(gòu)實現(xiàn)數(shù)字濾波器8.6數(shù)字信號處理的誤差分析

習(xí)題與上機題

由于離散LTI系統(tǒng)的系統(tǒng)函數(shù)是單位脈沖響應(yīng)的Z變換,而輸入和輸出滿足的線性常系數(shù)差分方程又可以由系統(tǒng)函數(shù)直接得到,因此差分方程、單位脈沖響應(yīng)和系統(tǒng)函數(shù)都是

線性時不變系統(tǒng)輸入、輸出的等效表征。如果系統(tǒng)的輸入是x(n),輸出是y(n),則二者滿足的差分方程為

(8.1.1)8.1引言其中,N≥M;對于LTI系統(tǒng),bi、ak為常數(shù)。

對上述差分方程的兩邊同時作Z變換,那么系統(tǒng)函數(shù)H(z)可表示為

(8.1.2)若階數(shù)N和M以及系數(shù)bi、ak確定,則可依據(jù)以上兩式計算出輸入x(n)經(jīng)過系統(tǒng)后的輸出y(n)。可見,不論是依據(jù)差分方程還是依據(jù)系統(tǒng)函數(shù)表達式,都是遵循某種算法進行

相應(yīng)的運算,求得最終的結(jié)果。

濾波器的實現(xiàn)主要是依據(jù)式(8.1.1)或式(8.1.2),從理論上講,求解該式有多種方法,不同的計算方法,得到的結(jié)果是相同的。但是,不同算法的運算速度、運算誤差以及復(fù)雜

程度和成本都不相同,因此研究濾波器的實現(xiàn)方式是信號處理中一個很重要的問題。數(shù)字濾波器的工程實現(xiàn)中,需要考慮如下問題:

(1)減少計算的復(fù)雜性。

公式中最復(fù)雜的運算為乘法運算,乘法器的多少直接影響到算法的運算時效,而延時器的多少則影響到算法對存儲的需求。因此,在工程實現(xiàn)中首先選取盡量少的乘法器(如

FIR線性相位結(jié)構(gòu)可減少近一半的乘法器);其次選取盡量少的延時器(如IIR直接型Ⅱ比直接型Ⅰ可節(jié)省一半延時器)是減少計算復(fù)雜性的方法。

(2)減少有限寄存器長度和有限精度運算的影響。

數(shù)字濾波器是用有限精度算法實現(xiàn)的離散LTI系統(tǒng),字長越長,運算的精度越高,但是大多數(shù)系統(tǒng)都不可能做到無限精度,有限字長效應(yīng)總是存在的,比如A/D變換的量化效

應(yīng)和濾波器系數(shù)的量化效應(yīng)、運算中舍入、截斷誤差、飽和及溢出等。因此,需要選擇對字長不敏感的結(jié)構(gòu)以減少有限字長效應(yīng)(如通過用IIR低階直接型Ⅱ結(jié)構(gòu)級聯(lián)來實現(xiàn)高階

IIR濾波器)。

實現(xiàn)濾波功能的離散LTI系統(tǒng)需要用網(wǎng)絡(luò)結(jié)構(gòu)來表示它的運算過程,因此本章將主要討論數(shù)字濾波器的算法結(jié)構(gòu),并在此基礎(chǔ)上對數(shù)字濾波器的量化誤差、運算誤差等進行分析。觀察式(8.1.1)給出的差分方程可知,有三種基本運算是數(shù)字信號處理不可或缺的,即單位延時、乘法和加法。這三種基本運算可以用信號流圖來表示,如圖8.2.1所示。8.2信號流圖圖8.2.1三種基本運算的信號流圖表示(a)加法;(b)乘法;(c)延時圖中左邊是框圖表示,右邊是流圖表示。信號流圖由節(jié)點和有向支路組成,每個節(jié)點表示一個信號,該信號稱為節(jié)點變量;帶有箭頭的支路表示信號的流動方向,是有向支路,和每個節(jié)點連接的有輸入支路和輸出支路。節(jié)點變量等于所有支路的末端信號之和。寫在支路箭頭旁邊的系數(shù)a稱為支路增益,z-1代表單位延時。如果箭頭旁邊沒有標明增益符號,則認為支路增益是1。沒有輸入支路的節(jié)點稱為輸入節(jié)點,沒有輸出支路或輸出支路箭頭不指向其他節(jié)點的節(jié)點稱為輸出節(jié)點。兩個變量相加,由指向一個節(jié)點的兩條有向支路表示。因此濾波器的整個運算結(jié)構(gòu)完全可用這樣一些基本運算支路組成。

【例8.2.1】某系統(tǒng)的信號流圖如圖8.2.2所示,求系統(tǒng)的系統(tǒng)函數(shù)H(z)。

解由圖可得

w2(n)=y(n)

w3(n)=w2(n-1)=y(n-1)

w4(n)=w3(n-1)=y(n-2)

w5(n)=a1w3(n)+a2w4(n)

w1(n)=b0x(n)+w5(n)

w1(n)=w2(n)圖8.2.2某系統(tǒng)的信號流圖聯(lián)立以上方程,求解可得

y(n)=b0x(n)+a1y(n-1)+a2y(n-2)

上式即為系統(tǒng)的差分方程。對上式兩邊求Z變換可得系統(tǒng)的系統(tǒng)函數(shù)為

【例8.2.2】某一系統(tǒng)的信號流圖如圖8.2.3所示,求該系統(tǒng)的差分方程。

解根據(jù)以上定義可知,該流圖表示的系統(tǒng)為

y(n)=x(n)+ay(n-1)

由1.3.4節(jié)可知該系統(tǒng)的單位脈沖響應(yīng)為h(n)=anu(n),是一個一階IIR系統(tǒng)。圖8.2.3某系統(tǒng)的信號流圖圖8.2.4某系統(tǒng)的信號流圖

解同理,該流圖表示的系統(tǒng)為

y(n)=x(n)+ax(n-1)

該系統(tǒng)的單位脈沖響應(yīng)為h(n)=δ(n)+aδ(n-1),是一個一階FIR系統(tǒng)。由第7章可知,IIR濾波器的單位脈沖響應(yīng)h(n)是無限長的;系統(tǒng)函數(shù)H(z)在有限z平面(0<|z|<∞)上有極點存在;結(jié)構(gòu)上存在著輸出到輸入的反饋,也就是結(jié)構(gòu)上是遞歸型的。

本節(jié)將給出最常用的實現(xiàn)一個線性時不變IIR數(shù)字濾波器的幾種網(wǎng)絡(luò)結(jié)構(gòu)形式。8.3IIR系統(tǒng)的基本網(wǎng)絡(luò)結(jié)構(gòu)8.3.1IIR直接型網(wǎng)絡(luò)結(jié)構(gòu)

IIR濾波器的系統(tǒng)函數(shù)為式(8.1.2),即

其中bi、ak為濾波器系數(shù)。這里a0=1,假設(shè)N≥M,ak≠0,此時IIR濾波器的階數(shù)為N。

IIR數(shù)字濾波器的差分方程為式(8.1.1),即

根據(jù)該式可以直接畫出系統(tǒng)信號流圖如圖8.3.1所示,稱為IIR數(shù)字濾波器的直接型Ⅰ結(jié)構(gòu)圖。圖8.3.1IIR數(shù)字濾波器的直接型Ⅰ結(jié)構(gòu)圖顯然,直接型Ⅰ需要N+M個延時單元、N+M+1個乘法器和N+M個加法器。

為了減少結(jié)構(gòu)圖中使用的延時單元數(shù),觀察式(8.1.2),IIR數(shù)字濾波器的系統(tǒng)函數(shù)H(z)可以看成是系統(tǒng)函數(shù)分別為H1(z)和H2(z)的兩個子系統(tǒng)的系統(tǒng)函數(shù)相乘,即

H(z)=H1(z)H2(z)

(8.3.1)其中

(8.3.2)

(8.3.3)

觀察圖8.3.1,圖中左半部分系統(tǒng)函數(shù)是H1(z),右半部分系統(tǒng)函數(shù)是H2(z),整個IIR數(shù)字濾波器的直接型Ⅰ是兩個子系統(tǒng)的級聯(lián),根據(jù)乘法交換率

H(z)=H2(z)H1(z)

可得到系統(tǒng)信號流圖如圖8.3.2所示(設(shè)N=M)。圖8.3.2交換運算次序后IIR數(shù)字濾波器的直接型Ⅰ結(jié)構(gòu)圖觀察圖8.3.2,節(jié)點變量w1和w2相等,因此,可以將前后兩部分的延時支路合并,以節(jié)省延時單元,形成如圖8.3.3所示的濾波器結(jié)構(gòu)圖。該圖也是直接由系統(tǒng)的系統(tǒng)函數(shù)或差分方程得到的,因此稱為IIR數(shù)字濾波器的直接型Ⅱ結(jié)構(gòu)圖。

可見,當N=M時,直接型Ⅱ可比直接型Ⅰ節(jié)省一半的延時單元。圖8.3.3IIR數(shù)字濾波器的直接型Ⅱ結(jié)構(gòu)圖

【例8.3.1】設(shè)IIR數(shù)字濾波器的系統(tǒng)函數(shù)為

畫出該濾波器的直接型Ⅱ結(jié)構(gòu)圖。

解參照圖8.3.3,根據(jù)系統(tǒng)的H(z),可以直接畫出該系統(tǒng)的直接型Ⅱ結(jié)構(gòu)圖如圖8.3.4所示。圖8.3.4例8.3.1濾波器的直接型Ⅱ結(jié)構(gòu)圖

IIR數(shù)字濾波器直接型的優(yōu)點是簡單、直觀,所使用的延時單元少。其缺點是系數(shù)bi、ak對濾波器性能的控制關(guān)系不直接,不易調(diào)整系統(tǒng)的零、極點,即改變某一個系數(shù)ak將會影響系統(tǒng)的所有極點;另外這種結(jié)構(gòu)對極點位置靈敏度大,對字長效應(yīng)敏感,易出現(xiàn)不穩(wěn)定情況(參見本章8.6.4和8.6.5節(jié))。因此,一般通過低階級聯(lián)或并聯(lián)來實現(xiàn)高階IIR數(shù)字濾

波器。8.3.2IIR級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)

由于系統(tǒng)函數(shù)H(z)的分子、分母均為多項式,因此可以將分子、分母多項式分別進行因式分解,得

(8.3.4)式中,A是常數(shù),ci和dk分別表示系統(tǒng)的零點和極點。另外由于多項式的系數(shù)一般是實數(shù),因此ci和dk是實數(shù)或者是共軛成對的復(fù)數(shù)。我們將共軛成對的零點放在一起,共軛成

對的極點放在一起,形成具有實系數(shù)的二階因式。這樣系統(tǒng)函數(shù)H(z)的分子、分母均形成一階和二階因式的連乘形式,系數(shù)均為實數(shù)。此時H(z)可以表示成

(8.3.5)(8.3.6)其中,M=M1+2M2,N=N1+2N2。式(8.3.5)中的ci和dk分別表示實零、極點,gi和gi*表示復(fù)數(shù)共軛零點,ek和ek*表示復(fù)數(shù)共軛極點。根據(jù)式(8.3.5),在系統(tǒng)級聯(lián)的子系統(tǒng)選擇上有很大的自由度,但在實際應(yīng)用中,為了利用最少的存儲和級聯(lián)數(shù)量實現(xiàn)系統(tǒng),將分子的一個一階因式與分母的一個一階因式組成一個一階子系統(tǒng),將分子的一個二階因式與分母的一個二階因式組成一個二階子系統(tǒng),如式(8.3.6)所示。如果將一階因式看成二階因式的特例,即b2i和a2k等于零的二階因式,則系統(tǒng)函數(shù)H(z)可寫成如下形式:

(8.3.7)

式中,Hi(z)是濾波器的二階子系統(tǒng),一般采用直接型II結(jié)構(gòu)來實現(xiàn)。因此整個數(shù)字濾波器由L個二階子系統(tǒng)級聯(lián)構(gòu)成,如圖8.3.5所示。圖8.3.5IIR數(shù)字濾波器的級聯(lián)結(jié)構(gòu)圖

IIR數(shù)字濾波器級聯(lián)型的優(yōu)點是可以單獨調(diào)整系統(tǒng)的零、極點,如一階子系統(tǒng)只決定一個零、極點之值,二階子系統(tǒng)只決定一對共軛零、極點之值。此外,級聯(lián)結(jié)構(gòu)便于改變各

個子系統(tǒng)的運算次序,可以使濾波器性能得到優(yōu)化,減小運算誤差。但在級聯(lián)型結(jié)構(gòu)中,一般需要調(diào)整級聯(lián)各級之間電平的放大或縮小,以使變量不能太大或太小。在定點運算中,變量太大容易產(chǎn)生溢出現(xiàn)象,變量太小又使信號與噪聲的比值太小。

【例8.3.2】設(shè)IIR數(shù)字濾波器的系統(tǒng)函數(shù)為

試畫出該濾波器的級聯(lián)型結(jié)構(gòu)。解將系統(tǒng)函數(shù)因式分解,得到為節(jié)省延時單元,將系統(tǒng)函數(shù)寫成

H1(z)是一階子系統(tǒng),H2(z)是二階子系統(tǒng)。H1(z)和H2(z)均用直接型Ⅱ來實現(xiàn),則濾波器的級聯(lián)型結(jié)構(gòu)如圖8.3.6所示。

圖8.3.6例8.3.2濾波器的級聯(lián)結(jié)構(gòu)圖如果將系統(tǒng)函數(shù)寫成

請讀者畫出其級聯(lián)型結(jié)構(gòu)圖,并與圖8.3.6進行比較,可以發(fā)現(xiàn)它比圖8.3.6多用了一個延時單元。8.3.3IIR并聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)

如果將濾波器的系統(tǒng)函數(shù)H(z)展成部分分式形式,設(shè)M=N,且一階子系統(tǒng)仍看成是二階子系統(tǒng)的特例,則H(z)可以表示成

(8.3.8)式中,Hi(z)是二階子系統(tǒng),L是的整數(shù)部分。當N為奇數(shù)時,Hi(z)的極點中一定有一個是實數(shù)極點。根據(jù)式(8.3.8),整個數(shù)字濾波器可以由常數(shù)增益支路與L個二階子系統(tǒng)并聯(lián)構(gòu)成,每個二階子系統(tǒng)均采用直接型Ⅱ結(jié)構(gòu),如圖8.3.7所示。圖8.3.7IIR數(shù)字濾波器的并聯(lián)結(jié)構(gòu)圖并聯(lián)型結(jié)構(gòu)的優(yōu)點是可以單獨調(diào)整數(shù)字濾波器的極點,運算速度快(可并行進行),各二階網(wǎng)絡(luò)的誤差互不影響,總的誤差小,對字長要求低,但不能直接調(diào)整零點。因多個二

階子系統(tǒng)的零點并不是整個系統(tǒng)函數(shù)的零點,當需要準確的傳輸零點時,級聯(lián)型最合適。

【例8.3.3】設(shè)IIR數(shù)字濾波器的系統(tǒng)函數(shù)為

試畫出該濾波器的并聯(lián)型結(jié)構(gòu)。

解將系統(tǒng)函數(shù)H(z)展成部分分式形式,得到

根據(jù)上式,該系統(tǒng)的并聯(lián)型結(jié)構(gòu)如圖8.3.8所示。圖8.3.8例8.3.3濾波器的并聯(lián)結(jié)構(gòu)圖由第6章可知,F(xiàn)IR數(shù)字濾波器的單位脈沖響應(yīng)h(n)的長度是有限的;系統(tǒng)函數(shù)H(z)在|z|>0處收斂,在|z|>0處只有零點,全部極點都在z=0處(因果系統(tǒng));實現(xiàn)結(jié)構(gòu)上主要是非遞歸結(jié)構(gòu),沒有輸出到輸入的反饋,但在頻率采樣濾波器結(jié)構(gòu)中,也包含有反饋的遞歸部分。

由于FIR數(shù)字濾波器系統(tǒng)的單位脈沖響應(yīng)是有限長的,因此可以用重疊相加或重疊保留法來計算信號經(jīng)過FIR濾波器系統(tǒng)后的輸出。如果按照差分方程或系統(tǒng)函數(shù)來實現(xiàn),則應(yīng)考慮節(jié)省計算量的結(jié)構(gòu)。對于頻率采樣型,還應(yīng)考慮穩(wěn)定性問題。8.4FIR系統(tǒng)的基本網(wǎng)絡(luò)結(jié)構(gòu)

設(shè)FIR數(shù)字濾波器的單位脈沖響應(yīng)h(n)長度為N,則FIR數(shù)字濾波器的系統(tǒng)函數(shù)和差分方程分別為

(8.4.2)(8.4.1)令

(8.4.3)

則式(8.4.1)還可以表示成

(8.4.4)

一般稱N為FIR數(shù)字濾波器的長度,N-1為其階數(shù)。本節(jié)給出FIR數(shù)字濾波器的各種常用實現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)。8.4.1FIR直接型網(wǎng)絡(luò)結(jié)構(gòu)

按照式(8.4.1)或式(8.4.2)可以直接畫出FIR數(shù)字濾波器的直接型網(wǎng)絡(luò)結(jié)構(gòu),如圖8.4.1所示。圖8.4.1FIR數(shù)字濾波器的直接型結(jié)構(gòu)圖圖8.4.1表明,長度為N的FIR數(shù)字濾波器的直接型結(jié)構(gòu),有N-1個延時單元,N個乘法器和N-1個加法器。因為式(8.4.2)的差分方程實際上是系統(tǒng)輸入x(n)與單位脈沖響應(yīng)h(n)的卷積運算,因此直接型結(jié)構(gòu)也稱為卷積型結(jié)構(gòu)或橫截型結(jié)構(gòu)。直接型結(jié)構(gòu)的延時單元是串聯(lián)的并且每個都有抽頭,稱為抽頭延時線。8.4.2FIR級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)

將系統(tǒng)函數(shù)H(z)進行因式分解,并將共軛成對的零點放在一起,形成一個系數(shù)為實數(shù)的二階形式,這樣將系數(shù)為實數(shù)的一階子系統(tǒng)和二階子系統(tǒng)級聯(lián)起來,就構(gòu)成了FIR數(shù)字濾波器的級聯(lián)型網(wǎng)絡(luò)結(jié)構(gòu)。其中每一個子系統(tǒng)都用直接型結(jié)構(gòu)實現(xiàn)。如果將一階子系統(tǒng)看成是二階子系統(tǒng)的特例,則系統(tǒng)函數(shù)H(z)可寫成

(8.4.5)式中,L是的整數(shù)部分,當N為偶數(shù)時,N-1為奇數(shù),故系數(shù)b2i中有一個為零。

由于此時系統(tǒng)函數(shù)H(z)有奇數(shù)個零點,故必有奇數(shù)個實零點。根據(jù)式(8.4.5)可畫出FIR數(shù)字濾波器級聯(lián)型結(jié)構(gòu),如圖8.4.2所示。

FIR數(shù)字濾波器級聯(lián)型結(jié)構(gòu)的每一個子系統(tǒng)都有一個(實數(shù))或一對零點(復(fù)數(shù)),它們也是整個系統(tǒng)的零點。因此,級聯(lián)型的最大優(yōu)點是可以獨立調(diào)整系統(tǒng)的零點,當需要精確控制濾波器的零點位置時,一般采用級聯(lián)型結(jié)構(gòu)。圖8.4.2FIR數(shù)字濾波器的級聯(lián)型結(jié)構(gòu)圖8.4.3FIR線性相位型網(wǎng)絡(luò)結(jié)構(gòu)

線性相位型結(jié)構(gòu)是FIR系統(tǒng)特有的一種結(jié)構(gòu)形式,該形式需要的乘法器比直接型要少得多。我們在第6章中已經(jīng)證明FIR數(shù)字濾波器具有線性相位的充要條件是

h(n)=±h(N-1-n)

(8.4.6)

h(n)偶對稱時對應(yīng)著第一類線性相位濾波器,即

θ(ω)=-τω

(8.4.7)

式中τ為常數(shù)。奇對稱對應(yīng)著第二類線性相位濾波器,即

(8.4.8)利用FIR數(shù)字濾波器的對稱特性,可以推導(dǎo)出線性相位型結(jié)構(gòu)。

當N為偶數(shù)時,有

當N為奇數(shù)時,有

根據(jù)以上推導(dǎo)系統(tǒng)函數(shù)的表示式,可以畫出FIR數(shù)字濾波器的第一類線性相位型結(jié)構(gòu)如圖8.4.3所示,第二類線性相位型結(jié)構(gòu)如圖8.4.4所示。圖8.4.3FIR數(shù)字濾波器的第一類線性相位型結(jié)構(gòu)圖(a)N為偶數(shù);(b)N為奇數(shù)圖8.4.4FIR數(shù)字濾波器的第二類線性相位型結(jié)構(gòu)圖(a)N為偶數(shù);(b)N為奇數(shù)由FIR數(shù)字濾波器的線性相位型結(jié)構(gòu)圖可以看出,當N為偶數(shù)時,只需要個乘法器,當N為奇數(shù)時,需要

個乘法器,與直接型結(jié)構(gòu)相比,乘法器減少了近一半,但延時單元沒有減少。8.4.4FIR頻率采樣型網(wǎng)絡(luò)結(jié)構(gòu)

在6.4節(jié)中,我們討論了FIR數(shù)字濾波器的頻率采樣設(shè)計方法,描述FIR數(shù)字濾波器的參數(shù)改為所求頻率響應(yīng)的參數(shù),而不是系統(tǒng)單位脈沖響應(yīng)h(n)。我們知道,一個有

限長序列h(n)可以由相同長度頻域采樣值唯一確定。

設(shè)h(n)是長度為N的有限序列,因此也可對系統(tǒng)函數(shù)H(z)在單位圓上作N等分采樣,這個采樣值也就是h(n)的離散傅里葉變換值H(k)。

(8.4.9)

根據(jù)式(6.4.3),系統(tǒng)函數(shù)和采樣值之間服從以下內(nèi)插公式

(8.4.10)

式(8.4.10)提供了一種實現(xiàn)結(jié)構(gòu),將H(z)重寫為

(8.4.11)

由式(8.4.11)可以看出H(z)由FIR和IIR兩部分級聯(lián)而成。第一部分(FIR部分)為

Hc(z)=1-z-N

(8.4.12)這是一個由N節(jié)延時器組成的梳狀濾波器,它在單位圓上有N個等分的零點。

第二部分(IIR部分)是一組并聯(lián)的一階網(wǎng)絡(luò):

(8.4.13)

此一階網(wǎng)絡(luò)在單位圓上有一個極點。該網(wǎng)絡(luò)在處的頻響為∞,是一個諧振頻率為的諧振器。這些并聯(lián)諧振器的極點正好各自抵消一個梳狀濾波器的

零點,從而使這個頻率點的響應(yīng)等于H(k)。

兩部分級聯(lián)后,得到FIR數(shù)字濾波器頻率采樣型結(jié)構(gòu),如圖8.4.5所示。圖8.4.5FIR數(shù)字濾波器的頻率采樣型結(jié)構(gòu)圖這一結(jié)構(gòu)的最大特點是它的系數(shù)H(k)直接就是濾波器在

處的響應(yīng),因此,控制濾波器的響應(yīng)很直接。但它也有兩個缺點:首先所有的系數(shù)和H(k)都是復(fù)數(shù),計

算復(fù)雜;其次系統(tǒng)的穩(wěn)定性差,因為所有諧振器的極點都在單位圓上,考慮到系數(shù)量化誤差的影響,有些極點實際上不能與梳狀濾波器的零點完全相抵消,導(dǎo)致系統(tǒng)出現(xiàn)不穩(wěn)定現(xiàn)象。為了克服頻率采樣型結(jié)構(gòu)的缺點,一般作兩點改進:①將極點、零點移到半徑為r(r<1)的圓上,頻率采樣點也修正到半徑為r的圓上,以解決系統(tǒng)的穩(wěn)定性問題;②將一階子網(wǎng)絡(luò)的復(fù)共軛對合并成實系數(shù)的二階子網(wǎng)絡(luò)。

此時系統(tǒng)函數(shù)H(z)可以寫成

(8.4.14)為了使系數(shù)為實數(shù),將共軛復(fù)根合并,利用共軛復(fù)根的對稱性,有

同樣,因h(n)是實數(shù),其DFT也是有限長共軛對稱的,即

H(N-k)=H*(k)因此可將第k個及第N-k個諧振器合并為一個二階網(wǎng)絡(luò)

(8.4.15)式中

除了共軛極點外,還有實數(shù)極點,分兩種情況。

當N為偶數(shù)時,有一對實數(shù)極點z=±r,對應(yīng)于兩個一階網(wǎng)絡(luò)

此時

(8.4.16)

當N為奇數(shù)時,只有一個實數(shù)極點z=r,對應(yīng)一個一階網(wǎng)絡(luò)H0(z)。此時

(8.4.17)

式(8.4.16)和式(8.4.17)中的Hk(z)為式(8.4.15)所示的Hk(z)。改進的頻率采樣型結(jié)構(gòu)如圖8.4.6(b)所示,圖中二階子網(wǎng)絡(luò)結(jié)構(gòu)如圖8.4.6(a)所示。圖8.4.6FIR數(shù)字濾波器改進的頻率采樣型結(jié)構(gòu)圖

(N為偶數(shù))及其二階子網(wǎng)絡(luò)結(jié)構(gòu)圖(a)二階子網(wǎng)絡(luò)結(jié)構(gòu)圖;(b)改進的頻率采樣型結(jié)構(gòu)圖頻率采樣型結(jié)構(gòu)的優(yōu)點是:①頻率選擇性好,適于窄帶濾波,大部分H(k)為零,只有較少的二階子網(wǎng)絡(luò);②不同的FIR數(shù)字濾波器,若長度相同,可通過改變系數(shù)用同

一個網(wǎng)絡(luò)來實現(xiàn);③由于在頻率采樣點ωk,H(ejωk)=H(k),這正是乘法器系數(shù),因此調(diào)整該系數(shù)即可直接調(diào)整系統(tǒng)的頻率特性。

頻率采樣型結(jié)構(gòu)的缺點是結(jié)構(gòu)復(fù)雜,采用的存儲器較多。8.4.5FIR快速卷積方法

FIR數(shù)字濾波器除了可用直接型、級聯(lián)型、線性相位型和頻率采樣型實現(xiàn)結(jié)構(gòu)外,還可以用快速卷積方法實現(xiàn)(詳細內(nèi)容見3.7.1節(jié))。

FIR數(shù)字濾波器的單位脈沖響應(yīng)h(n)是一個有限長序列,設(shè)其長度為N,如果輸入信號x(n)也是有限長序列,長度為M,則系統(tǒng)輸出y(n)可通過下式求得

y(n)=x(n)*h(n)=IDFT[X(k)H(k)]式中的IDFT用離散傅里葉變換的快速算法FFT計算。如果輸入信號無限長,則需要用3.7.1節(jié)中介紹的重疊保留或重疊相加方法,計算每小段序列的卷積時仍用FFT。

對于IIR數(shù)字濾波器,由于單位脈沖響應(yīng)h(n)為無限長,因此無法使用快速卷積方法。

Matlab信號處理工具箱提供了數(shù)字濾波器部分結(jié)構(gòu)轉(zhuǎn)換的函數(shù),利用這些函數(shù)可以很方便地獲得數(shù)字濾波器的各種結(jié)構(gòu)。

1.將數(shù)字濾波器的直接型轉(zhuǎn)換為級聯(lián)型

[sos,g]=tf2sos(b,a);8.5利用Matlab依據(jù)算法結(jié)構(gòu)實現(xiàn)數(shù)字濾波器其中,b和a分別為數(shù)字濾波器系統(tǒng)函數(shù)H(z)分子和分母多項式的系數(shù)向量;返回參數(shù)g和sos是級聯(lián)型結(jié)構(gòu)的增益和二階子系統(tǒng)的參數(shù),sos是一個L×6階的矩陣:

(8.5.1)

sos中的每一行元素bik和aik分別是二階子系統(tǒng)分子和分母多項式的系數(shù),共有L個二階子系統(tǒng)級聯(lián)。系統(tǒng)函數(shù)H(z)為

(8.5.2)

2.根據(jù)系統(tǒng)零極點求數(shù)字濾波器的級聯(lián)結(jié)構(gòu)

[z,p,k]=tf2zp(b,a);

其中,b和a分別為數(shù)字濾波器系統(tǒng)函數(shù)H(z)分子和分母多項式的系數(shù)向量;z為系統(tǒng)零點向量;p為系統(tǒng)極點向量;k為系統(tǒng)增益。

sos=zp2sos(z,p,k);

其中,sos含義等同于式(8.5.1)。

3.用級聯(lián)結(jié)構(gòu)求數(shù)字濾波器的輸出響應(yīng)

y=sosfilt(sos,x);

其中,x為數(shù)字濾波器的輸入向量,sos為數(shù)字濾波器的級聯(lián)結(jié)構(gòu)系數(shù)矩陣,如式(8.5.1)所示。

【例8.5.1】某IIR數(shù)字濾波器系統(tǒng)函數(shù)為

系統(tǒng)輸入為。用Matlab求該系統(tǒng)級聯(lián)結(jié)構(gòu),并求系統(tǒng)輸出。

Matlab程序為

clear;

x=sin(2*pi*(0:199)*2/20)+cos(2*pi*(0:199)*7/20); %系統(tǒng)輸入

b=[0.09400.37590.56390.37590.0940];

a=[100.486000.0177];

[sos,g]=tf2sos(b,a);

%求系統(tǒng)級聯(lián)結(jié)構(gòu)系數(shù)矩陣

y=sosfilt(sos,x); %求系統(tǒng)輸出運行程序,得到系統(tǒng)級聯(lián)結(jié)構(gòu)系數(shù)矩陣sos為

1.00002.25171.28871.000000.0397

1.00001.74720.77591.000000.4463

系統(tǒng)輸入和輸出如圖8.5.1所示。該系統(tǒng)實際上是一個低通濾波器,截止頻率為ωp=0.5π。圖8.5.1例8.5.1系統(tǒng)輸入和輸出圖(a)輸入;(b)輸出

【例8.5.2】已知某系統(tǒng)的零、極點如下:

零點:1.00021.0000+0.0002i1.0000-0.0002i0.9998

極點:0.2266+0.6442i0.2266-0.6442i0.1645+0.1937i

0.1645-0.1937i

系統(tǒng)增益:0.1672

系統(tǒng)輸入為

用Matlab求該系統(tǒng)級聯(lián)結(jié)構(gòu),并求系統(tǒng)輸出。

Matlab程序為

clear;

x=sin(2*pi*(0:199)*1/20)+cos(2*pi*(0:199)*5/20);

%系統(tǒng)輸入

z=[1.00021.0000+0.0002i1.0000-0.0002i0.9998];%系統(tǒng)零點

p=[0.2266+0.6442i0.2266-0.6442i0.1645+0.1937i0.1645-0.1937i];%系統(tǒng)極點

k=0.1672;%系統(tǒng)增益

sos=zp2sos(z,p,k);%求系統(tǒng)級聯(lián)結(jié)構(gòu)系數(shù)矩陣

y=sosfilt(sos,x);%求系統(tǒng)輸出運行程序,得到系統(tǒng)級聯(lián)結(jié)構(gòu)系數(shù)矩陣sos為

0.1672-0.33440.16721.0000-0.32900.06461.0000-2.00001.00001.0000-0.45320.4663系統(tǒng)輸入和輸出如圖8.5.2所示。該系統(tǒng)實際上是一個高通濾波器,截止頻率為ωp=0.4π。

【例8.5.3】某FIR數(shù)字濾波器系統(tǒng)函數(shù)為

H(z)=0.8+2z-1+3.2z-2+1.2z-3

求系統(tǒng)級聯(lián)結(jié)構(gòu)。圖8.5.2例8.5.2系統(tǒng)輸入和輸出圖(a)輸入;(b)輸出解利用tf2sos函數(shù)很容易求得級聯(lián)結(jié)構(gòu),程序為

b=[0.823.21.2];a=1;

[sos,g]=tf2sos(b,a);

運行程序,得到系統(tǒng)級聯(lián)結(jié)構(gòu)系數(shù)矩陣sos為

1.00000.50000.0

1.000000

1.00002.00003.00001.000000

系統(tǒng)增益為0.8。

濾波器級聯(lián)結(jié)構(gòu)為

H(z)=0.8(1+0.5z-1)(1+2z-1+3z-2)到目前為止,我們所討論的數(shù)字信號處理理論及實現(xiàn)均是無限精度的,即考慮的主要是離散時間信號,沒有考慮系統(tǒng)中的參數(shù)字長效應(yīng)。實際中,無論是用專用硬件還是計算

機軟件來實現(xiàn),信號的樣值、系統(tǒng)中的參數(shù)以及運算過程中的結(jié)果均存儲在有限位數(shù)的存儲器中,因而處理結(jié)果相對于理論設(shè)計有了誤差。在數(shù)字信號處理中有三種因有限字長的影響而引起誤差的因素。8.6數(shù)字信號處理的誤差分析

(1)對輸入模擬信號的量化誤差(受A/D的精度或位數(shù)的影響);

(2)對系統(tǒng)中各系數(shù)的量化誤差(受計算機中存儲器的字長影響);

(3)運算過程誤差,如溢出、舍入及誤差累積等(受計算機精度的影響)。8.6.1數(shù)的表示方式及量化誤差

1.數(shù)的表示方法

數(shù)字信號處理中的數(shù)據(jù)一般用二進制編碼表示,有定點和浮點表示方法。

1)定點表示

整個運算中,二進制小數(shù)點在數(shù)碼中的位置固定不變,稱為定點制。

一般定點制總是把數(shù)限制在±1之間。最高位為符號位,0為正,1為負;小數(shù)點緊跟在符號位后;數(shù)的本身只有小數(shù)部分,稱為“尾數(shù)”。例如,0.375表示成二進制數(shù)為0.011。定點制在整個運算中,所有結(jié)果的絕對值不能超過1。當數(shù)較大時,一般乘一個比例因子,使整個運算過程中結(jié)果的絕對值不超過1,運算結(jié)束后,再除以同一個比例因子,還原成真值。如果運算過程中,數(shù)字超出±1,稱為“溢出”。定點制的加法運算不會增加字長,但有可能出現(xiàn)溢出。定點制做乘法時,由于兩個絕對值小于1的數(shù)相乘后,其絕對值仍小于1,因此定點制乘法運算不會溢出,但字長要增加一倍。為保證字長不變,相乘后,一般要對增加的尾數(shù)作截尾或舍入處理,故帶來誤差。另一種定點數(shù)的表示是把數(shù)看成整數(shù)。

設(shè)有一個b+1位碼定點數(shù),α0·α1·α2…αb,則定點數(shù)的表示分為三種:

(1)原碼表示。

原碼的尾數(shù)部分代表數(shù)的絕對值,符號位代表數(shù)的正負號。α0=0時代表正數(shù),α0=1時代表負數(shù)。因此b+1位定點數(shù)的原碼表示為

(8.6.1)例如:二進制1.111的十進制數(shù)為-0.875,二進制0.010的十進制數(shù)為0.25。

(2)補碼表示。

補碼中正數(shù)與原碼正數(shù)表示一樣,負數(shù)則將原碼中的尾數(shù)求反并在最低位加1。因此b+1位定點數(shù)的補碼表示為

(8.6.2)例如:-0.875的原碼表示為1.111,補碼為1.001;0.25的原碼為0.010,由于是正數(shù),因此其補碼仍為0.010。

(3)反碼表示。

反碼又稱“1的補碼”。和補碼一樣,反碼的正數(shù)與原碼正數(shù)相同。反碼的負數(shù)則將原碼中的尾數(shù)按位求反。因此b+1位定點數(shù)的反碼表示為

(8.6.3)例如:-0.875的原碼表示為1.111,反碼為1.000;0.25的原碼為0.010,由于是正數(shù),因此其反碼仍為0.010。

原碼的優(yōu)點是直觀,但做加減運算時要判別符號位的異同,增加了運算時間。補碼可以將加法和減法運算統(tǒng)一為加法運算。因此,在實際應(yīng)用中一般使用二進制補碼形式。

2)浮點表示

定點制的缺點是動態(tài)范圍小,有溢出現(xiàn)象。浮點制則可避免這一缺點。浮點制將一個數(shù)表示成尾數(shù)和指數(shù)兩部分,即

x=±2cM

(8.6.4)式中,M是數(shù)x的尾數(shù)部分;2c是x的指數(shù)部分,c是階數(shù),也稱為階碼。例如x=0.11×2010表示的十進制數(shù)為

x=0.75×22=3

浮點制將尾數(shù)用帶符號位的定點數(shù)來表示,因而尾數(shù)的第一位就表示浮點數(shù)的符號。

一般為了充分利用尾數(shù)的有效位數(shù),總是使尾數(shù)字長的最高位(符號位除外)為1,稱為規(guī)格化形式,這時尾數(shù)M是小數(shù),且滿足。例如,x=0.0101×2011改為規(guī)格化形

式為x=0.101×2010。階碼c也是帶符號的定點數(shù),這是因為要用負的階碼表示數(shù)值小于0.5的數(shù)。

浮點表示數(shù)的小數(shù)點是浮動的,在浮點制中,位數(shù)必須分為兩部分。尾數(shù)為bm+1位,其中1位是符號位;階碼為bc+1位,其中1位也是符號位。浮點數(shù)的尾數(shù)字長決定了浮點制的運算精度,階碼字長決定了浮點制的動態(tài)范圍。

浮點數(shù)相加、相乘時,尾數(shù)相乘,階碼相加。尾數(shù)相乘的過程與定點制相同,要作截尾或舍入處理。浮點數(shù)相加時,首先將階碼對齊,通過移動階碼小的尾數(shù)的小數(shù)點,使得兩數(shù)的階碼相同,再將尾數(shù)相加,最后規(guī)格化結(jié)果。一般來說,浮點數(shù)都用較長的字長,比如目前浮點DSP芯片一般位數(shù)為32位,精度較高,所以我們討論誤差影響主要是針對定點制。

2.定點制的量化及量化誤差

根據(jù)以上討論,定點制中的乘法運算會使字長增加,例如原來是b位字長,運算后增長到b1位,這時就需要對尾數(shù)作量化處理,使字長由b1位降低到b位。量化處理方式有兩種:一種是截尾即保留b位,拋棄余下的尾數(shù);另一種是舍入,即按最接近的值取b位碼。兩種處理方式產(chǎn)生的誤差不同。編碼不同,誤差也不同。下面我們分別討論。

1)截尾處理

(1)對于正數(shù)x,其三種碼的表示形式相同,因而量化影響也是相同的。一個b1位正數(shù)x的十進制數(shù)值為

(8.6.5)截尾處理后為b位字長,顯然b<b1。用Q[·]表示量化處理,用QT

[·]表示截尾處理。

則有

(8.6.6)

若用eT表示截尾誤差,則有

(8.6.7)可見,eT≤0,當被棄位αi,b+1≤i≤b1全為1,eT有最大誤差:

(8.6.8)

一般,令q=2-b,則正數(shù)的截尾誤差為

-q<eT≤0

(8.6.9)其中,q稱為量化寬度或量化階,代表b位字長可表示的最小數(shù)。

(2)對于負數(shù)x,其三種碼表示方式不同,所以誤差也不同。

①對于原碼負數(shù)(α0=1),則有

此時截尾誤差為正數(shù),滿足。因此定點制原碼負數(shù)的截尾誤差是正數(shù),并且有

0≤eT<q(8.6.10)

②對于補碼負數(shù)(α0=1),則有

此時補碼負數(shù)的截尾誤差與正數(shù)截尾誤差一樣滿足-q<eT≤0。

【例8.6.1】某一負數(shù)為-0.375,其二進制補碼為x=1.1010,截尾后QT[x]=1.10,求截尾誤差。

解因為截尾后的十進制數(shù)為-0.5,所以

eT=QT[x]-x=-0.5-(-0.375)=-0.125

③對于反碼負數(shù)(α0=1),則有

由上式可以看出,當被棄位αi,b+1≤i≤b1全為0時,eT有最大誤差,全為1時,誤差最小,因此

即反碼負數(shù)的截尾誤差與原碼負數(shù)截尾誤差相同,有

0≤eT<q

【例8.6.2】某一負數(shù)為-0.1875,其二進制反碼為x=1.1100,截尾后QT[x]=1.11,求截尾誤差。

解因為截尾后的十進制數(shù)為0,所以

eT=QT[x]-x=0.1875

總的來講,補碼的截尾誤差均是負數(shù),原碼和反碼的截尾誤差取決于數(shù)的正負,正數(shù)時誤差為負,負數(shù)時誤差為正。用式子表示為

正數(shù)及補碼負數(shù):-q<eT≤0

原碼負數(shù)及反碼負數(shù):0≤eT<q

2)舍入處理

舍入處理是按最接近的值取b位碼,通過b+1位上加1后作截尾處理實現(xiàn),就是通常的四舍五入法。按最接近的數(shù)值取量化,所以不論正數(shù)、負數(shù),還是原碼、補碼、反碼,

誤差總是在之間,以QR[·]表示對x作舍入處理,eR表示舍入誤差。則有

(8.6.11)

(8.6.12)例如:取b=2,則x=0.1001,QR[x]=0.10,舍去0.0001,誤差eR=-2-4;x=0.1011,QR[x]=0.11,將0.0011上入為0.01,誤差eR=2-4;x=0.1010,QR[x]=0.11,將0.0010上入為0.01,誤差eR=2-3。

舍入處理的誤差比截尾處理的誤差小,所以對信號進行量化時多用舍入處理。8.6.2A/D轉(zhuǎn)換中的量化效應(yīng)

A/D轉(zhuǎn)換器包括抽樣與量化兩個部分。在滿足抽樣定理的前提下,抽樣過程是可逆的,而量化過程是不可逆的,經(jīng)量化得到的數(shù)字信號不可能不失真地恢復(fù)原信號,它必定要引入量化誤差或量化噪聲。量化噪聲的大小決定了A/D轉(zhuǎn)換器的動態(tài)范圍,是衡量A/D轉(zhuǎn)換器性能的一個最重要指標。圖8.6.1A/D轉(zhuǎn)換器框圖一個A/D轉(zhuǎn)換器從功能上講,一般分為采樣與量化兩部分,如圖8.6.1所示。模擬信號xa(t)經(jīng)采樣后,轉(zhuǎn)變?yōu)殡x散時間信號xa(nT),在第1章我們討論過,離散時間信號xa(nT)

在時間上是離散的,但在幅度上是連續(xù)的,一般用x(n)表示。量化器即二進制數(shù)字編碼器對x(n)進行截尾或舍入處理,得到b+1位(含1位符號位)有限字長的數(shù)字信號。

1.量化誤差的統(tǒng)計分析

定義量化誤差為

e(n)=Q[x(n)]-x(n)

(8.6.13)

在數(shù)字信號處理中,待處理的信號x(n)一般是隨機信號,因此e(n)也是隨機的。要精確知道誤差的大小很困難。一般我們總是通過分析量化誤差的統(tǒng)計特性來分析量化誤差。

我們對其統(tǒng)計特性作如下假定:

(1)e(n)是平穩(wěn)隨機序列;

(2)e(n)與信號x(n)是互不相關(guān)的;

(3)e(n)在誤差范圍內(nèi)是均勻分布的加性白噪聲序列。由上述假定知,量化誤差e(n)是一個與信號序列完全不相關(guān)的白噪聲序列,稱為量化噪聲。定點補碼表示的量化誤差概率密度函數(shù)為

(8.6.14)

(8.6.15)圖8.6.2量化誤差的概率密度函數(shù)曲線(a)截尾誤差;(b)舍入誤差量化誤差的概率密度函數(shù)曲線分別如圖8.6.2所示。

若定點補碼截尾量化,則誤差eT的統(tǒng)計平均值和方差分別為

(8.6.16a)

(8.6.16b)定點補碼舍入量化誤差eR的統(tǒng)計平均值和方差分別為

(8.6.17a)

(8.6.17b)統(tǒng)計分析結(jié)果表明,量化誤差e(n)是由量化引起的量化噪聲。定點補碼截尾處理量化噪聲的統(tǒng)計平均值,相當于給信號增加了一個直流分量,從而改變了信號的頻

譜特性,而方差(即量化噪聲功率)相當于增加了噪聲強度,降低了信噪比,這就是量化效應(yīng)。定點舍入處理量化噪聲的統(tǒng)計平均值,這一點比定點補碼截尾方法好。另外,因為q=2-b,因此量化噪聲的方差與量化位數(shù)b有關(guān),b越大,方差越小,即為了減小量化

噪聲,必須增加量化位數(shù)。

2.量化信噪比與所需字長的關(guān)系

對信號的A/D轉(zhuǎn)換而言,量化過程可等效為無限精度信號疊加上量化噪聲,補碼截尾和舍入的量化噪聲除均值不同外,兩者的方差均為。顯然,量化噪聲的方差與A/D變換的字長有關(guān),字長越長,量化噪聲越小。

定義信號功率與量化噪聲之比為量化信噪比,即

(8.6.18)式中,和分別是信號和量化噪聲的功率。用對數(shù)表示量化信噪比SNR,即

(8.6.19)

式(8.6.19)說明,字長每增加一位,信號的信噪比提高約6dB;越大,信噪比越高。

但是字長過長也沒有必要,因為輸入信號x(n)本身有一定的信噪比,字長長到A/D轉(zhuǎn)換器的量化噪聲比x(n)的噪聲電平低得多,就沒有意義了。

【例8.6.3】已知A/D轉(zhuǎn)換器輸入信號x(n)在-1至1之間均勻分布,求A/D轉(zhuǎn)換器分別為8、12位時的SNR。

解因x(n)均勻分布,所以有

均值:

方差:當A/D轉(zhuǎn)換器的位數(shù)為8(b=7)位時,SNR≈48dB;當A/D轉(zhuǎn)換器的位數(shù)為12(b=11)位時,SNR≈72dB。

【例8.6.4】對xa(t)=sin(2πf1t)進行采樣,f1=0.042kHz,采樣頻率Fs=10kHz。分別用不同的A/D采樣位數(shù)6、16,用Matlab畫出采樣后的時域和頻域圖。

x=sin(2*pi*0.042*(0:500)/10);

x6=intbR(x,6);

%將信號按6位舍入量化,量化后轉(zhuǎn)為浮點數(shù)x16=intbR(x,16);

%將信號按16位舍入量化,量化后轉(zhuǎn)為浮點數(shù)x6f=fft(x6,4096); %計算6位量化后的信號頻譜

x16f=fft(x16,4096); %計算16位量化后的信號頻譜

%br=intbR(d,b)將十進制數(shù)d利用舍入法得到b(不包括符號位)位的二進制數(shù),然后將該二進制數(shù)再轉(zhuǎn)換為十進制數(shù)br

functionbr=intbR(d,b)

m=1;dr1=abs(d);

whilefix(dr1)>0

dr1=abs(d)/(2^m);

m=m+1;

end

br=fix(dr1*2^b+.5);

br=sign(d).*br.*2^(m-b-1);運行程序,得到結(jié)果如圖8.6.3所示。圖(a)為6位和16位采樣的時域波形圖,由圖中可以看出,由于采樣位數(shù)少,6位采樣的時域波形有較為明顯的階梯現(xiàn)象,此時帶來量化

噪聲的增加。圖(b)、(c)分別為6位采樣和16位采樣的頻譜圖,由圖可以明顯看出6位量化后噪聲比16位大。圖8.6.3例8.6.4程序運行結(jié)果(a)采樣時域圖;(b)6位采樣頻譜圖;(c)16位采樣頻譜圖

【例8.6.5】對xa(t)=sin(2πf1t)+0.0055*cos(2πf2t)進行采樣,f1=0.042kHz,f2=2.3kHz,采樣頻率Fs=10kHz。

解用不同的采樣位數(shù),運行上例程序,得到結(jié)果如圖8.6.4所示。圖(a)、(b)分別為6、16位量化后的信號頻譜圖,由圖中可以看出,采樣位數(shù)少,表示信號的動態(tài)范圍就小。對于相差45dB的兩個單載波信號,16位采樣的頻譜圖,可以明顯地觀察到兩個信號,而6位采樣的頻譜圖,弱信號已淹沒在噪聲中。圖8.6.4例8.6.5采樣頻譜圖(a)6位采樣頻譜圖;(b)16位采樣頻譜圖8.6.3量化噪聲通過線性系統(tǒng)的響應(yīng)

當已量化的信號通過離散線性時不變(LTI)系統(tǒng)時,量化噪聲也隨之通過該系統(tǒng),并以輸出噪聲的形式出現(xiàn)在系統(tǒng)響應(yīng)中。為了單獨分析量化噪聲通過LTI系統(tǒng)后的影響,將

系統(tǒng)近似看做完全理想的(即具有無限精度的線性系統(tǒng))。在輸入端線性相加的噪聲,在系統(tǒng)的輸出端也是線性相加的。量化噪聲通過LTI系統(tǒng)的響應(yīng)如圖8.6.5所示。圖8.6.5量化噪聲通過LTI系統(tǒng)的響應(yīng)設(shè)離散LTI系統(tǒng)的系統(tǒng)函數(shù)為H(z),單位脈沖響應(yīng)為h(n),當系統(tǒng)輸入信號為

時,系統(tǒng)的輸出為

(8.6.20)系統(tǒng)輸出噪聲為

(8.6.21)

輸出噪聲ef(n)的統(tǒng)計平均值(即直流分量)為

(8.6.22)式中,H(ej0)=H(ejω)|ω=0為系統(tǒng)的直流增益。當e(n)為舍入量化噪聲時,me=0,此時,輸出噪聲的均值mf=0,輸出噪聲的方差為

由于e(n)是方差為的白噪聲序列,各變量之間互不相關(guān),即

可得

(8.6.23)由Z變換中的帕斯瓦爾(Parseval)定理,有

(8.6.24)

式中,H(z)的全部極點在單位圓內(nèi)(系統(tǒng)是因果、穩(wěn)定的),∮c表示沿單位圓逆時針方向的圓周積分。根據(jù)傅里葉變換中的帕斯瓦爾定理,得

(8.6.25)

【例8.6.6】一個8位A/D轉(zhuǎn)換器,其輸出作為IIR數(shù)字濾波器的輸入,求濾波器輸出端的量化噪聲功率。已知IIR濾波器的系統(tǒng)函數(shù)為

解由于A/D的量化效應(yīng),濾波器輸入端的噪聲功率為

濾波器的輸出噪聲功率為

其積分值等于單位圓內(nèi)所有極點留數(shù)的和。單位圓內(nèi)有一個極點z=0.999,所以

也可以直接由時域形式計算,由H(z)知h(n)=0.999nu(n),所以

由此例可以看出字長b越大,系統(tǒng)輸出噪聲越小。8.6.4數(shù)字系統(tǒng)中的系數(shù)量化效應(yīng)

對輸入信號進行處理時,需要若干參數(shù)或系數(shù),由于系統(tǒng)所有系數(shù)必須以有限長度的二進制碼存放在存儲器中,因此必須對理想系數(shù)值量化,造成實際系數(shù)存在誤差,使零、

極點位置發(fā)生偏離,影響系統(tǒng)性能。一個設(shè)計正確的數(shù)字濾波器,在實現(xiàn)時,由于系數(shù)量化,可能會導(dǎo)致實際濾波器特性不符合要求,嚴重時甚至使單位圓內(nèi)的極點偏離到單位圓

上或者單位圓外,從而使系統(tǒng)失去穩(wěn)定性。

系數(shù)量化引起的量化效應(yīng)對濾波器的影響與寄存器的字長有關(guān),也與濾波器的結(jié)構(gòu)有關(guān),選擇合適的結(jié)構(gòu)可減小系數(shù)量化的影響。

1.系數(shù)量化對系統(tǒng)頻率特性的影響

N階系統(tǒng)函數(shù)H(z)為

(8.6.26)由于系數(shù)ak和bi量化而產(chǎn)生的量化誤差為Δak和Δbi,量化后的系數(shù)用和表示,則

(8.6.27)

(8.6.28)量化后的系統(tǒng)函數(shù)用表示,即

(8.6.29)

顯然,系數(shù)量化后的系統(tǒng)頻率響應(yīng)不同于原來設(shè)計的頻率響應(yīng)。

2.極點位置靈敏度

由于系統(tǒng)函數(shù)系數(shù)的量化將引起系統(tǒng)零、極點位置的改變,而極點位置的變化將直接影響系統(tǒng)的穩(wěn)定性,因此引入極點位置靈敏度的概念。極點位置靈敏度是指每個極點位置

對各系數(shù)偏差的敏感程度,它可以反映系數(shù)量化對濾波器穩(wěn)定性的影響。不同形式的系統(tǒng)結(jié)構(gòu),在相同的系數(shù)量化位數(shù)情況下,其量化靈敏度是不同的,這是比較各種結(jié)構(gòu)形式的

重要標準。設(shè)N階數(shù)字濾波器系統(tǒng)函數(shù)的分母多項式A(z)有N個根,即H(z)有N個極點pk(k=1,2,…,N),系數(shù)量化后的極點為(k=1,2,…,N),則有

(8.6.30)

式中,Δpk表示第k個極點的位置偏差,它與各個系數(shù)的量化誤差有關(guān),即

(8.6.31)式中,稱為極點pk對系數(shù)ai變化的靈敏度,它表示第i個系數(shù)量化誤差Δai對第k個極點位置偏差Δpk的影響程度。顯然,越大,Δai對Δpk的影響越大,靈敏度越高;反之,Δai對Δpk的影響越小,靈敏度越低。

系統(tǒng)函數(shù)的分母多項式為

(8.6.32)由于

從而

(8.6.33)由式(8.6.32)可得

(8.6.34)

(8.6.35)將式(8.6.34)和式(8.6.35)代入式(8.6.33),得到第k個極點對系數(shù)ai的極點位置靈敏度為

(8.6.36)

上式只對單階極點有效,多階極點可以進行類似的推導(dǎo)。將式(8.6.36)代入式(8.6.31),可得各個ai的量化誤差Δai引起的第k個極點的位置偏差為

(8.6.37)分析極點位置靈敏度公式和極點位置偏差公式,可以得出以下結(jié)論:

(1)式(8.6.36)中,分母中的每一個因子(pk-pi)是極點pk指向極點pi的矢量,整個分母是所有極點(不包括極點pk)指向極點pk的矢量之積。矢量越長,極點位置靈敏度越低。即極點彼此間距離越遠,極點位置靈敏度就越低;極點彼此越密集,極點位置靈敏度就越高。

(2)式(8.6.37)表明,極點位置Δpk不僅與極點位置靈敏度

和濾波器系數(shù)量化誤差Δai有關(guān),還與濾波器階數(shù)N有關(guān),階數(shù)越高,極點位置偏差越大。高階直接型結(jié)構(gòu)濾波

器的極點數(shù)目多而密集,而低階直接型結(jié)構(gòu)濾波器的極點數(shù)目少而稀疏,因而前者對系數(shù)量化誤差要敏感得多。

(3)并聯(lián)型結(jié)構(gòu)和級聯(lián)型結(jié)構(gòu)的每一對共軛極點是單獨用一個二階子系統(tǒng)實現(xiàn)的,每對極點只受與之有關(guān)的兩個系數(shù)的影響,級聯(lián)或并聯(lián)后,每個子系統(tǒng)的極點密集度就比直接型高階網(wǎng)絡(luò)的要稀疏得多,因而極點位置受系數(shù)量化的影響比直接型結(jié)構(gòu)要小得多。

【例8.6.7】分析橢圓型帶通濾波器結(jié)構(gòu)的量化效應(yīng),其通帶截止頻率為[0.3π,0.55π],通帶最大衰減為0.4dB,最小的阻帶衰減為50dB。對濾波器系數(shù)分別進行舍入、截尾處理。

Matlab程序如下:

clear;qq=5; %量化位數(shù)qq

[b,a]=ellip(4,0.4,50,[0.30.55]);

%設(shè)計橢圓帶通濾波器[h,w]=freqz(b,a,512);

h=20*log10(abs(h)/max(abs(h))); %求頻率響應(yīng),幅度歸一bqr=intbR(b,qq);aqr=intbR(a,qq);

%濾波器系數(shù)舍入量化為qq位[hr,wr]=freqz(bqr,aqr,512);

hr=20*log10(abs(hr)/max(abs(hr)));

%求量化后濾波器的頻率響應(yīng),幅度歸一[sos,g]=tf2sos(b,a);

%求濾波器級聯(lián)子系統(tǒng)的系統(tǒng)函數(shù)

b1=sos(1,1:3);a1=sos(1,4:6);

b2=sos(2,1:3);a2=sos(2,4:6);

b3=sos(3,1:3);a3=sos(3,4:6);

b4=sos(4,1:3);a4=sos(4,4:6);

bqr1=intbR(b1,qq);aqr1=intbR(a1,qq);

%量化子系統(tǒng)系數(shù)

[h1,w1]=freqz(bqr1,aqr1,512);

%求量化后子系統(tǒng)的頻率響應(yīng)

bqr2=intbR(b2,qq);

aqr2=intbR(a2,qq);

[h2,w1]=freqz(bqr2,aqr2,512);

bqr3=intbR(b3,qq);aqr3=intbR(a3,qq);

[h3,w1]=freqz(bqr3,aqr3,512);

bqr4=intbR(b4,qq);

aqr4=intbR(a4,qq);

[h4,w1]=freqz(bqr4,aqr4,512);

hhh=h1.*h2.*h3.*h4;hhh=20*log10(abs(hhh)/max(abs(hhh)));

%級聯(lián)子系統(tǒng)系數(shù)量化后的頻率響應(yīng)

[z,p,k]=tf2zp(b,a); %求直接型系統(tǒng)的零、極點

[zr,pr,kr]=tf2zp(bqr,aqr);

%求直接型系數(shù)量化后的系統(tǒng)零、極點

functionbt=intbT(d,b)

%bt=intbT(d,b)將十進制數(shù)d利用截尾

%法得到b(不包括符號位)位的二進制數(shù),%然后將該二進制數(shù)再轉(zhuǎn)換為十進制數(shù)bt

m=1;dt1=abs(d);

whilefix(dt1)>0

dt1=abs(d)/(2^m);

m=m+1;

end

bt=fix(dt1*2^b);

bt=sign(d).*bt.*2^(m-b-1);

舍入量化程序運行結(jié)果如圖8.6.6所示。圖8.6.6例8.6.7舍入量化前后比較圖(a)系統(tǒng)的幅頻響應(yīng);(b)極點位置;(c)零點位置由于量化位數(shù)少(只有5位),IIR高階直接型對量化非常敏感,由圖(b)(量化前后極點位置變化圖)和圖(c)(量化前后零點位置變化圖)可以看出,直接型量化前后的零、極點位置均發(fā)生了變化,造成系統(tǒng)特性的改變,如圖(a)所示,通帶內(nèi)的頻率響應(yīng)已發(fā)生了較大的改變(圖中粗線所示)。而在級聯(lián)型的子系統(tǒng)中,直接型階數(shù)較低(2階),對系數(shù)量化不敏感,因此系統(tǒng)特性量化前后沒有太大改變,如圖(a)中虛線所示。截尾量化程序運行結(jié)果如圖8.6.7所示。由圖中可以明顯看出分子系數(shù)由于截尾量化誤差過大,使得零點位置發(fā)生了較大的變化,如圖8.6.7(c)所示,因此造成直接型結(jié)構(gòu)的頻

溫馨提示

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

評論

0/150

提交評論