《數(shù)字信號(hào)處理》課件第7章_第1頁(yè)
《數(shù)字信號(hào)處理》課件第7章_第2頁(yè)
《數(shù)字信號(hào)處理》課件第7章_第3頁(yè)
《數(shù)字信號(hào)處理》課件第7章_第4頁(yè)
《數(shù)字信號(hào)處理》課件第7章_第5頁(yè)
已閱讀5頁(yè),還剩66頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第7章數(shù)字信號(hào)處理中的有限字長(zhǎng)效應(yīng)7.1

數(shù)值表示的有限字長(zhǎng)效應(yīng)7.2

A/D變換的有限字長(zhǎng)效應(yīng)7.3數(shù)字濾波器系數(shù)量化的有限字長(zhǎng)效應(yīng)7.4定點(diǎn)運(yùn)算對(duì)數(shù)字濾波器的影響

7.1數(shù)值表示的有限字長(zhǎng)效應(yīng)7.1.1定點(diǎn)數(shù)與浮點(diǎn)數(shù)為了用有限的數(shù)字符號(hào)代表所有的數(shù)值,人們通常采用進(jìn)位制(也稱(chēng)進(jìn)制)的方法,即按給定的規(guī)則進(jìn)位。例如,對(duì)于R進(jìn)制,就表示某一位置上的數(shù)運(yùn)算時(shí)每逢R進(jìn)一位。R進(jìn)制下,任何一個(gè)數(shù)P可以表示為(7-1)當(dāng)式(7-1)中的下限m≥0時(shí),P是純整數(shù),上限n≤0時(shí),P是純小數(shù)。可以看出,i=0是區(qū)分?jǐn)?shù)P的整數(shù)部分和小數(shù)部分的關(guān)鍵位置,稱(chēng)為小數(shù)點(diǎn)位置。根據(jù)小數(shù)點(diǎn)位置是否變化,將數(shù)的表示區(qū)分為定點(diǎn)數(shù)和浮點(diǎn)數(shù)兩種。小數(shù)點(diǎn)位置固定不變的數(shù)稱(chēng)為定點(diǎn)數(shù),如11.556,3.189等。定點(diǎn)數(shù)表示數(shù)的格式規(guī)范,他所表示的數(shù)的精度固定。小數(shù)點(diǎn)位置可以變化的數(shù)稱(chēng)為浮點(diǎn)數(shù)。浮點(diǎn)數(shù)所表示數(shù)的精度是不同的,如111.76,1.2357,1000.1等。同一個(gè)數(shù)也可以用不同的形式來(lái)表示,如111.76,可以用科學(xué)計(jì)數(shù)法表示成11.176×101,1.1176×102,0.11176×103等。數(shù)字系統(tǒng)中,所采用的二進(jìn)制表示法有定點(diǎn)制和浮點(diǎn)制兩種。無(wú)論是采用軟件編程還是采用專(zhuān)用硬件實(shí)現(xiàn),存儲(chǔ)和處理過(guò)程中所采用的存儲(chǔ)單元的長(zhǎng)度都只能是有限的,也就是說(shuō)數(shù)值表達(dá)的精度是有限的。接下來(lái)對(duì)二進(jìn)制的定點(diǎn)、浮點(diǎn)表示因寄存器長(zhǎng)度限制而導(dǎo)致的誤差進(jìn)行分析,并就折中的成組浮點(diǎn)制(BlockFloatingPoint,BFP,也稱(chēng)塊浮點(diǎn)制)進(jìn)行簡(jiǎn)單討論。7.1.2定點(diǎn)制誤差分析

1.數(shù)的定點(diǎn)表示定點(diǎn)制下,一旦確定了小數(shù)點(diǎn)在整個(gè)數(shù)碼中的位置,在整個(gè)運(yùn)算過(guò)程中即保持不變。因此,根據(jù)系統(tǒng)設(shè)計(jì)要求、數(shù)值范圍來(lái)確定小數(shù)點(diǎn)處于什么位置很重要,這就是數(shù)的定標(biāo)。數(shù)的定標(biāo)有Q表示法和S表示法兩種。Q表示法形如Qn,字母Q后的數(shù)值n表示包含n位小數(shù)。如Q0表示小數(shù)點(diǎn)在第0位的后面,數(shù)為整數(shù);Q15表示小數(shù)點(diǎn)在第15位的后面,0~14位都是小數(shù)位。S表示法則形如Sm.n,m表示整數(shù)位,n表示小數(shù)位。以16位DSP為例,通過(guò)設(shè)定小數(shù)點(diǎn)在16位數(shù)中的不同位置,可以表示不同大小和不同精度的小數(shù)。表7.1列出了一個(gè)16位數(shù)的16種Q表示、S表示及它們所能表示的十進(jìn)制數(shù)值范圍。

2.定點(diǎn)運(yùn)算定點(diǎn)表示的兩個(gè)數(shù)在進(jìn)行加減法運(yùn)算前,必須保證這兩個(gè)數(shù)的定標(biāo)值Q嚴(yán)格相等。假設(shè)進(jìn)行加減運(yùn)算的兩個(gè)數(shù)分別為x和y,它們的Q值相等且都為Qc,則進(jìn)行加減運(yùn)算的結(jié)果為x±y,結(jié)果的Q值仍為Qc。當(dāng)x和y的Q值不相等時(shí),假設(shè)它們的Q值分別為Qx和Qy,且有Qx>Qy,運(yùn)算結(jié)果z的定標(biāo)值為Qz,進(jìn)行加減運(yùn)算的步驟如下:

(1)將Q值較小的數(shù)y的Q值調(diào)整為Qx,即y′=y×2(Qx-Qy);

(2)計(jì)算z′=x±y′的值,其Q值為Qx;

(3)將z′的Q值調(diào)整到Qz,即:z=z′×2(Qz-Qx),得到最終的運(yùn)算結(jié)果。乘除運(yùn)算時(shí),假設(shè)進(jìn)行運(yùn)算的兩個(gè)數(shù)分別為x和y,它們的Q值分別為Qx和Qy,則兩者進(jìn)行乘法運(yùn)算的結(jié)果為xy,Q值為Qx+Qy,除法運(yùn)算的結(jié)果為x/y,Q值為Qx-Qy。在程序或硬件實(shí)現(xiàn)中,上述定標(biāo)值的調(diào)整可以直接通過(guò)寄存器的左移或右移完成。若b>0,實(shí)現(xiàn)x×2b需將存儲(chǔ)x的寄存器左移b位;若b<0,實(shí)現(xiàn)x×2b則需將存儲(chǔ)x的寄存器右移|b|位即可。

3.定點(diǎn)數(shù)的原碼、補(bǔ)碼和反碼表示從前面的分析過(guò)程可知,采用定點(diǎn)處理器進(jìn)行小數(shù)的運(yùn)算,其小數(shù)點(diǎn)位是由程序員根據(jù)處理問(wèn)題的需要人為設(shè)定的,在處理的過(guò)程中需要時(shí)刻關(guān)注Q值的變化及其所表示的物理含義,因而,從處理器的角度來(lái)看,定點(diǎn)制下進(jìn)行小數(shù)的運(yùn)算實(shí)質(zhì)上還是按處理器字長(zhǎng)進(jìn)行整數(shù)的各種運(yùn)算。同樣,對(duì)數(shù)進(jìn)行存儲(chǔ)和處理的時(shí)候,數(shù)的各種碼制表示規(guī)律也同樣適用于定點(diǎn)表示下的小數(shù)處理。計(jì)算機(jī)基礎(chǔ)課程中,計(jì)算機(jī)在表達(dá)數(shù)值的時(shí)候,二進(jìn)制數(shù)的最高位一般用作符號(hào)位,0表示正數(shù),1表示負(fù)數(shù),一個(gè)數(shù)可以有原碼、補(bǔ)碼和反碼三種形式。對(duì)于正數(shù)來(lái)說(shuō),三種碼都一樣,而對(duì)于負(fù)數(shù),這三種碼并不一致,用途也各不相同。如原碼適合做乘除法,常被用作設(shè)計(jì)串行乘法器,而補(bǔ)碼適合做加減法,加法器的硬件多采用補(bǔ)碼制。表7.2列出了三種碼的特性對(duì)比。在數(shù)字信號(hào)處理器(DSP)中,通常采用補(bǔ)碼制。數(shù)的轉(zhuǎn)換在MATLAB中的實(shí)現(xiàn)有如下幾種方式。

(1)函數(shù)dec2bin可以實(shí)現(xiàn)將一個(gè)十進(jìn)制正整數(shù)轉(zhuǎn)換成一個(gè)二進(jìn)制的字符串。調(diào)用格式:

dec2bin(D)

dec2bin(D,N)輸入變量:D是小于252的非負(fù)整數(shù),N為轉(zhuǎn)換后的二進(jìn)制字符串的長(zhǎng)度。

(2)函數(shù)bitcmp可以用于求一個(gè)十進(jìn)制正整數(shù)的補(bǔ)數(shù),和函數(shù)dec2bin一起使用可以求一個(gè)十進(jìn)制整數(shù)的反碼和補(bǔ)碼。調(diào)用格式:

bitcmp(A,N)輸入變量:A是無(wú)符號(hào)型整數(shù),其中A≤2N-1,計(jì)算結(jié)果為2N-1-A。

(3)函數(shù)num2bin用于將一個(gè)數(shù)值矩陣轉(zhuǎn)化成二進(jìn)制的字符串。調(diào)用格式:

B=num2bin(Q,X)輸入變量:X是數(shù)值矩陣,Q用于表明X的屬性。在MATLAB里用函數(shù)?quantizer生成量化目標(biāo)Q,常用的調(diào)用格式為Q=quantizer([w,f]),w是字符串B的長(zhǎng)度,f是小數(shù)位數(shù)。需要注意的是,如果不是0.xxxx,必須要給整數(shù)位保留兩個(gè)比特(包含一位符號(hào)位)。

【例7-1】用MATLAB編程求十進(jìn)制數(shù)-1325的二進(jìn)制原碼、反碼和補(bǔ)碼表示。

解:因?yàn)?10<1325<211,需要用11位的二進(jìn)制數(shù)來(lái)表示該十進(jìn)制數(shù),假設(shè)用12位二進(jìn)制數(shù)表示,其中第12位為符號(hào)位。利用前面介紹的MATLAB函數(shù)編寫(xiě)程序如下:

x=-1325;

a=abs(x);

b=dec2bin(a+211,12)%原碼

c=dec2bin(bitcmp(a,12),12)%反碼

d=dec2bin(bitcmp(a,12)+1,12)%補(bǔ)碼運(yùn)行結(jié)果:

b=110100101101

c=101011010010

d=101011010011■

【例7-2】

用MATLAB編程求十進(jìn)制數(shù)123.874的二進(jìn)制原碼表示,小數(shù)位數(shù)保留8位。

解:利用前面介紹的MATLAB函數(shù)編寫(xiě)程序如下:

Q=quantizer([16,8]);

num2bin(Q,123.874)運(yùn)行結(jié)果:

ans=

0111101111011111■

4.定點(diǎn)量化誤差分析定點(diǎn)制下,當(dāng)Q值確定以后,即用來(lái)表示小數(shù)的寄存器位數(shù)L確定后,其可表示的最小數(shù)的單位也就確定了,記為2-L,這個(gè)值稱(chēng)為量化間距,記作q。超出L位的部分,可以通過(guò)直接截?cái)嗟姆绞竭M(jìn)行處理,所產(chǎn)生的誤差稱(chēng)為截尾誤差,也可以通過(guò)舍入的方式進(jìn)行處理,產(chǎn)生舍入誤差。如果數(shù)P的小數(shù)部分是x,通過(guò)M位二進(jìn)制表示,存入Q值定義為L(zhǎng)的寄存器中被量化為Q[x],則其量化誤差e定義為(7-2)e=Q[x]-xx∈[0,1)

1)截尾誤差對(duì)于正數(shù),原碼、補(bǔ)碼和反碼的形式都相同,有(7-3)(7-4)(7-5)顯然,此時(shí)有-(2-L-2-M)≤e≤0,當(dāng)M→∞時(shí),有-2-L≤e≤0。也就是說(shuō),截尾誤差最大不超出量化間距q。對(duì)于負(fù)數(shù),由于三種碼的表達(dá)方式不同,誤差也不同。(7-6)(7-7)(7-8)易知,0≤e≤2-L-2-M。當(dāng)M→∞時(shí),有0≤e≤2-L。也就是說(shuō),用原碼表示負(fù)數(shù)時(shí),截尾誤差始終為正,誤差均值為2-(L+1),且最大誤差不超出量化間距q。當(dāng)負(fù)數(shù)用補(bǔ)碼表示時(shí),有(7-9)(7-10)(7-11)

易知,-(2-L-2-M)≤e≤0。當(dāng)M→∞時(shí),有-2-L≤e≤0。也就是說(shuō),用補(bǔ)碼表示負(fù)數(shù)時(shí),其截尾誤差與正數(shù)情況一致,始終為負(fù),均值為-2-(L+1),最大誤差不超出量化間距q。當(dāng)負(fù)數(shù)用反碼表示時(shí),有(7-12)(7-14)(7-13)

2)舍入誤差當(dāng)定點(diǎn)數(shù)用于表示小數(shù)的寄存器長(zhǎng)度為L(zhǎng),將長(zhǎng)度為M(M>L)的數(shù)據(jù)存入該寄存器進(jìn)行舍入處理時(shí),就是將第L+1位加1,然后再截?cái)鄶?shù)據(jù)到第L位。容易理解,無(wú)論采用原碼、補(bǔ)碼還是反碼表示,這個(gè)過(guò)程都調(diào)整了誤差范圍,誤差均值的絕對(duì)值由2-(L+1)調(diào)整為0,而誤差范圍調(diào)整為[-2-(L+1),2-(L+1)]。7.1.3浮點(diǎn)制誤差分析從前面對(duì)定點(diǎn)制表示分析的過(guò)程可以看出,定點(diǎn)制的優(yōu)點(diǎn)是運(yùn)算簡(jiǎn)便,對(duì)處理器要求低。但數(shù)的表達(dá)能力有限,所處理數(shù)的動(dòng)態(tài)范圍較小。同時(shí),寄存器的利用效率低,如表示較小的小數(shù)時(shí),小數(shù)的有效位數(shù)較短,由截尾舍入產(chǎn)生的百分比誤差隨著數(shù)的絕對(duì)值的減小而增加。科學(xué)計(jì)數(shù)法中,允許將任意一個(gè)數(shù)字表示為一個(gè)純小數(shù)與一個(gè)指數(shù)相乘的形式

(P)R=S·RcS一般為絕對(duì)值介于0~1之間的規(guī)格化尾數(shù),機(jī)器中可用原碼或補(bǔ)碼表示。R為基數(shù),在數(shù)字處理器中通常取2。c為浮點(diǎn)數(shù)的階碼,也即是指數(shù),為整數(shù)。采用浮點(diǎn)制表示,可以在兼顧表達(dá)范圍的同時(shí)保證運(yùn)算精度。根據(jù)IEEE754國(guó)際標(biāo)準(zhǔn),常用的浮點(diǎn)數(shù)有單精度浮點(diǎn)數(shù)(single)和雙精度浮點(diǎn)數(shù)(double)兩種格式。單精度浮點(diǎn)數(shù)占用4個(gè)字節(jié)(32位)存儲(chǔ)空間,在數(shù)字寄存器中,單精度浮點(diǎn)數(shù)的存儲(chǔ)格式如圖7-1所示,包括1位符號(hào)位S,8位階碼(指數(shù))E,23位尾數(shù)F。其表示范圍為

(1)當(dāng)S=0,E=127,F(xiàn)的23位均為1時(shí),表示的浮點(diǎn)數(shù)為最大的正數(shù):

(01.111..1)2×2127=(2-2-23)×2127≈3.4×1038

(2)當(dāng)S=1,E=127,F(xiàn)的23位均為0時(shí),表示的浮點(diǎn)數(shù)為絕對(duì)值最大的負(fù)數(shù):

(10.000..0)2×2-127=-2×2-127≈-3.4×1038

(3)當(dāng)S=0,E=-127,F(xiàn)的23位均為0時(shí),表示的浮點(diǎn)數(shù)為最小的正數(shù):

(01.000..0)2×2-127=1×2-127≈5.9×10-39

(4)當(dāng)S=1,E=-127,F(xiàn)的23位均為1時(shí),表示的浮點(diǎn)數(shù)為絕對(duì)值最小的負(fù)數(shù):

(10.111..1)2×2-127=(-1-2-23)×2-127≈-5.9×10-39雙精度浮點(diǎn)數(shù)占用8個(gè)字節(jié)(64位)存儲(chǔ)空間,包括1位符號(hào)位、11位階碼、52位尾數(shù),數(shù)值范圍為1.7E-308~1.7E+308。圖7-1單精度浮點(diǎn)數(shù)存儲(chǔ)格式浮點(diǎn)數(shù)進(jìn)行加減運(yùn)算一般需要有五個(gè)步驟:

(1)對(duì)階:使兩數(shù)的小數(shù)點(diǎn)位置對(duì)齊。

(2)尾數(shù)求和(差):將對(duì)階后的兩尾數(shù)按定點(diǎn)加減運(yùn)算規(guī)則求和(差)。

(3)規(guī)格化:為增加有效數(shù)字的位數(shù),提高運(yùn)算精度,必須將求和(差)后的尾數(shù)規(guī)格化。

(4)舍入:為提高精度,要考慮尾數(shù)右移時(shí)丟失的數(shù)值位。

(5)判斷結(jié)果:即判斷結(jié)果是否溢出。進(jìn)行浮點(diǎn)數(shù)的乘除運(yùn)算分為階碼運(yùn)算和尾數(shù)運(yùn)算兩個(gè)步驟。階碼運(yùn)算較為簡(jiǎn)便,若是乘法則對(duì)階碼寄存器段做加法運(yùn)算,除法則做減法運(yùn)算。對(duì)于浮點(diǎn)數(shù)的乘法,尾數(shù)運(yùn)算一般需要四個(gè)步驟:

(1)預(yù)處理:檢測(cè)兩個(gè)尾數(shù)中是否有一個(gè)為0,若有一個(gè)為0,乘積必為0,不再作其他操作;如果兩尾數(shù)均不為0,則可進(jìn)行乘法運(yùn)算。

(2)相乘:兩個(gè)浮點(diǎn)數(shù)的尾數(shù)相乘可以采用定點(diǎn)小數(shù)的任何一種乘法運(yùn)算來(lái)完成。

(3)規(guī)格化:相乘結(jié)果可能要進(jìn)行左規(guī),左規(guī)時(shí)調(diào)整階碼后如果發(fā)生階下溢,則作機(jī)器零處理;如果發(fā)生階上溢,則作溢出處理。

(4)尾數(shù)截?cái)啵何矓?shù)相乘會(huì)得到一個(gè)雙倍字長(zhǎng)的結(jié)果,若限定只取1倍字長(zhǎng),則乘積的若干低位將會(huì)丟失??梢酝ㄟ^(guò)前面討論的定點(diǎn)制截?cái)嗵幚矸椒ㄟM(jìn)行截尾或舍入處理。對(duì)于浮點(diǎn)除法,尾數(shù)運(yùn)算需要先檢測(cè)被除數(shù)是否為0,若為0,則商為0;再檢測(cè)除數(shù)是否為0,若為0,則商為無(wú)窮大,另作處理。若兩數(shù)均不為0,則可進(jìn)行除法運(yùn)算。兩浮點(diǎn)數(shù)尾數(shù)相除同樣可采取定點(diǎn)小數(shù)的任何一種除法運(yùn)算來(lái)完成。對(duì)已規(guī)格化的尾數(shù),為了防止除法運(yùn)算結(jié)果溢出,可先比較被除數(shù)和除數(shù)的絕對(duì)值,如果被除數(shù)的絕對(duì)值大于除數(shù)的絕對(duì)值,則先將被除數(shù)右移一位,其階碼加1,再作尾數(shù)相除。此時(shí)所得結(jié)果必然是規(guī)格化的定點(diǎn)小數(shù)。與定點(diǎn)制相比,浮點(diǎn)制一定程度上可以兼顧動(dòng)態(tài)范圍和運(yùn)算精度,但其指數(shù)和尾數(shù)都需要參與運(yùn)算,運(yùn)算過(guò)程復(fù)雜,實(shí)現(xiàn)難度大,硬件成本高,在僅提供定點(diǎn)運(yùn)算的處理器中很難獲得實(shí)時(shí)的運(yùn)算結(jié)果。從處理誤差方面看,浮點(diǎn)制所產(chǎn)生的誤差傳播范圍廣,分析起來(lái)難度較大,此處不做詳細(xì)論述,可參閱相關(guān)書(shū)籍。7.1.4成組浮點(diǎn)制(BFP)成組浮點(diǎn)制(BlockFloatingPoint)也稱(chēng)為塊浮點(diǎn)制,基本思想是兼顧定點(diǎn)制和浮點(diǎn)制的優(yōu)點(diǎn),將一組數(shù)值相近的數(shù)據(jù)定義成一個(gè)具有統(tǒng)一指數(shù)的數(shù)據(jù)塊,換句話說(shuō),就是將該組數(shù)據(jù)同時(shí)根據(jù)這個(gè)共享指數(shù)進(jìn)行縮放,在保證動(dòng)態(tài)范圍和精度的同時(shí)又不需要考慮彼此間指數(shù)的影響。

BFP是一種在工程實(shí)現(xiàn)中較常采用的方法。如Altra公司提供的IP核FFTMegacore中就集成了該算法。

7.2A/D變換的有限字長(zhǎng)效應(yīng)7.2.1A/D變換及其量化誤差的統(tǒng)計(jì)分析

A/D變換包括采樣和量化兩部分,如圖7-2所示。模擬信號(hào)xa(t)經(jīng)過(guò)采樣后轉(zhuǎn)換為時(shí)域離散信號(hào)x(n),然后對(duì)x(n)做截尾或者舍入的量化處理后得到二進(jìn)制數(shù)字信號(hào)x(n)。由于A/D變換總是采用定點(diǎn)制,因此需要將模擬信號(hào)乘以比例因子A,以限定其最大值不能超過(guò)A/D變換的動(dòng)態(tài)范圍,即

x(n)=Axa(t))|t=nT=Axa(nT)

(7-15)顯然信號(hào)x(n)具有無(wú)限精度,受存儲(chǔ)單元的字長(zhǎng)限制,必須對(duì)其做截尾或者舍入的量化處理,用e(n)表示量化誤差,則^(7-16)圖7-2A/D變換器的非線性模型

A/D變換的量化方式和數(shù)的表示方式直接決定了其量化特性。設(shè)A/D變換的輸出是字長(zhǎng)為b+1位的補(bǔ)碼定點(diǎn)小數(shù),其中b位是小數(shù)部分,若用eT(n)表示采用截尾的誤差,用eR(n)表示采用舍入處理的誤差,由7.1節(jié)可以得到量化誤差的范圍為(7-17)(7-18)這里,q=2-b表示量化階距。式(7-17)、(7-18)給出了量化誤差的范圍,但是要想精確地刻畫(huà)出每個(gè)量化誤差的值還是非常困難的。通常用統(tǒng)計(jì)分析的方法來(lái)分析量化誤差的統(tǒng)計(jì)特性,研究A/D變換的有限字長(zhǎng)效應(yīng)。A/D變換器的統(tǒng)計(jì)模型如圖7-3所示。圖7-3A/D變換器的統(tǒng)計(jì)模型為了研究其統(tǒng)計(jì)特性,首先對(duì)量化誤差e(n)作如下假設(shè):

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

(2)e(n)與采樣信號(hào)x(n)互不相關(guān);

(3)e(n)序列中任意兩個(gè)值之間不相關(guān),即e(n)為白噪聲序列;

(4)e(n)在其取值范圍內(nèi)均勻等概分布。根據(jù)上述假設(shè),e(n)是與輸入信號(hào)完全不相關(guān)的、均勻分布的白噪聲序列,采用截尾和舍入時(shí)誤差的概率密度函數(shù)分別如圖7-4(a)、(b)所示。圖7-4量化誤差的概率分布(a)截尾誤差;(b)舍入誤差采用截尾處理時(shí)的均值和方差分別為(7-19)(7-20)采用舍入處理時(shí)的均值和方差分別為(7-21)(7-22)分析式(7-19)~(7-22)可知:

(1)采用截尾處理時(shí)誤差序列的均值不為零,也就是說(shuō)誤差序列eT(n)中包含直流分量,直流分量的存在會(huì)使信號(hào)的頻譜在頻率等于0處存在δ函數(shù),從而影響信號(hào)的頻譜結(jié)構(gòu)。而采用舍入處理時(shí)誤差序列的均值為0,不存在直流分量。因此,實(shí)際應(yīng)用中多采用舍入處理的方式。

(2)采用截尾處理和舍入處理時(shí)誤差序列的方差相等,且都為σ2T=σ2R=σ2e,都取決于A/D變換的字長(zhǎng)b,字長(zhǎng)越長(zhǎng),量化誤差越小。用符號(hào)σ2x表示信號(hào)功率,則量化信噪比為(7-23)對(duì)數(shù)表示為(7-24)從式(7-24)可以看出,信號(hào)功率一定的情況下,字長(zhǎng)每增加1bit,量化信噪比約增加6個(gè)分貝。

【例7-3】

假設(shè)語(yǔ)音信號(hào)量化編碼時(shí),選用12bit的A/D,其動(dòng)態(tài)范圍為0~5V,求系統(tǒng)量化誤差的均方差。

解:量化階距電壓:

Vq=5×2-b=5×2-12=1.2mV

7.2.2量化噪聲通過(guò)線性系統(tǒng)這一節(jié)在不考慮系統(tǒng)實(shí)現(xiàn)誤差和運(yùn)算誤差的情況下,將系統(tǒng)近似看作是完全理想的,即具有無(wú)限精度的線性系統(tǒng),討論量化信號(hào)通過(guò)線性時(shí)不變系統(tǒng)的問(wèn)題。假設(shè)量化序列x(n)=x(n)+e(n),線性時(shí)不變系統(tǒng)的單位脈沖響應(yīng)為h(n),由7.2.1節(jié)的假設(shè),信號(hào)x(n)和量化噪聲e(n)相互獨(dú)立,假設(shè)系統(tǒng)為因果系統(tǒng),則根據(jù)線性疊加原理,系統(tǒng)的輸出為

(7-25)^其中,y(n)是系統(tǒng)對(duì)信號(hào)x(n)的響應(yīng),f(n)是噪聲信號(hào)e(n)通過(guò)線性系統(tǒng)的輸出,有(7-26)量化噪聲通過(guò)線性系統(tǒng)的框圖如圖7-5所示。圖7-5量化噪聲通過(guò)線性系統(tǒng)(1)若e(n)是舍入誤差,則輸出噪聲信號(hào)f(n)的均值為(7-27)由式(7-21)me=0,可求得mf=0。其方差為由前面的假設(shè)e(n)為白噪聲序列,序列中任意兩個(gè)值之間不相關(guān)。因此

E[e(n-m)e(n-k)]=σ2eδ(m-k)則有(7-28)從上式可以看出,量化噪聲通過(guò)線性時(shí)不變系統(tǒng)后,其輸出信號(hào)的方差依然和量化字長(zhǎng)成反比。在量化字長(zhǎng)一定的情況下,其輸出信號(hào)的方差取決于系統(tǒng)單位脈沖響應(yīng)的能量。假設(shè)h(n)是實(shí)序列,由帕塞伐定理(7-29)代入式(7-28)可得(7-30)

(2)若e(n)是截尾誤差,輸出噪聲信號(hào)f(n)的方差仍為式(7-28),其均值為(7-31)顯然,輸入信號(hào)時(shí)截尾量化,在輸出端也引入了一個(gè)直流分量?!纠?-4】

已知IIR濾波器的系統(tǒng)函數(shù)為假設(shè)其輸入信號(hào)x(n)為8位A/D變換器(b=7)的輸出,求濾波器輸出端的量化噪聲功率。

解:由于A/D變換的量化效應(yīng),濾波器輸入端的噪聲功率為^(7-32)濾波器的輸出噪聲功率為圍線c內(nèi)只有兩個(gè)極點(diǎn)z1=0.7,z2=0.8,根據(jù)留數(shù)定理有

7.3數(shù)字濾波器系數(shù)量化的有限字長(zhǎng)效應(yīng)7.3.1系數(shù)量化對(duì)IIR濾波器性能的影響無(wú)限長(zhǎng)單位脈沖響應(yīng)(IIR)濾波器的系統(tǒng)函數(shù)可以表示為(7-33)對(duì)分子和分母多項(xiàng)式的系數(shù)進(jìn)行量化。假設(shè)系數(shù)bi和ai的量化值分別為b

i和ai,對(duì)應(yīng)的量化誤差為Δbi和Δai,則^^(7-34)量化后的系統(tǒng)函數(shù)為通過(guò)前面章節(jié)的學(xué)習(xí)可知,系統(tǒng)性能在很大程度上取決于系統(tǒng)的極點(diǎn)。而量化誤差的存在會(huì)造成系統(tǒng)極點(diǎn)位置的改變,從而影響系統(tǒng)的穩(wěn)定性。為了衡量系數(shù)量化對(duì)極點(diǎn)位置的影響,定義系統(tǒng)中每個(gè)極點(diǎn)位置對(duì)各系數(shù)偏差的敏感程度為極點(diǎn)位置靈敏度,用極點(diǎn)位置靈敏度來(lái)反映系數(shù)量化對(duì)濾波器穩(wěn)定性的影響。假設(shè)量化前系統(tǒng)的理想極點(diǎn)為:zi(i=1,2,…,N),對(duì)分母多項(xiàng)式A(z)進(jìn)行因式分解可得(7-36)系數(shù)量化后,由于量化誤差Δai的存在,對(duì)應(yīng)的極點(diǎn)變?yōu)閦

i=zi+Δzi(i=1,2,…,N)。因?yàn)闃O點(diǎn)zi的值和分母多項(xiàng)式中每個(gè)系數(shù)ai(i=1,2,…,N)都有關(guān)系,因此可以把極點(diǎn)zi表示成如式(7-37)所示的函數(shù)形式:

zi=zi(a1,a2,…,aN)i=1,…,N

(7-37)由系數(shù)量化帶來(lái)的極點(diǎn)的改變量Δzi為(7-38)7.3.2系數(shù)量化對(duì)FIR數(shù)字濾波器性能的影響上一節(jié)我們通過(guò)分析系數(shù)量化帶來(lái)的系統(tǒng)極點(diǎn)位置的變化,研究了系數(shù)量化對(duì)IIR數(shù)字濾波器穩(wěn)定性的影響。這一節(jié)我們將以直接型結(jié)構(gòu)為例分析系數(shù)量化對(duì)FIR系統(tǒng)性能的影響。對(duì)于直接型FIR濾波器而言,系數(shù)量化時(shí)濾波器仍然能夠保持線性相位特性,系數(shù)量化主要會(huì)對(duì)系統(tǒng)的幅頻特性產(chǎn)生影響。由4.3節(jié)可知,F(xiàn)IR濾波器的系統(tǒng)函數(shù)可以表示為(7-44)對(duì)系數(shù)h(n)進(jìn)行量化,假設(shè)量化誤差為e(n),則量化后的結(jié)果h(n)為

(7-45)量化以后的系統(tǒng)函數(shù)為^(7-46)式中E(z)是誤差函數(shù)e(n)的z變換,對(duì)應(yīng)的頻率響應(yīng)為(7-47)量化字長(zhǎng)一定時(shí),系數(shù)的量化誤差是個(gè)有界量。假設(shè)量化字長(zhǎng)為b,量化階距為q,舍入時(shí)|e(n)|≤q/2=2-b/2。則量化誤差的幅度響應(yīng)為(7-48)從式(7-48)可以看出,濾波器階數(shù)固定的情況下,量化誤差的幅度響應(yīng)和量化字長(zhǎng)成反比,可以通過(guò)增加量化字長(zhǎng)來(lái)減少量化誤差的影響。從概率統(tǒng)計(jì)的角度,由7.2.1節(jié)可知,采用有限精度的舍入運(yùn)算時(shí),e(n)的均值為0,方差等于q2/12。假設(shè)N個(gè)系數(shù)的量化誤差之間是不相關(guān)的,則量化誤差的頻率響應(yīng)的方差σ2E是這N項(xiàng)誤差的方差之和,即(7-49)

7.4定點(diǎn)運(yùn)算對(duì)數(shù)字濾波器的影響在工程實(shí)現(xiàn)中,為了滿足系統(tǒng)信噪比要求,需要分析濾波器的運(yùn)算誤差,以選擇合適的濾波器運(yùn)算位數(shù)。數(shù)字濾波器的實(shí)現(xiàn)需要乘法、加法和延遲三種基礎(chǔ)運(yùn)算,其中延遲運(yùn)算不會(huì)造成字長(zhǎng)的變化。定點(diǎn)制運(yùn)算中,加法運(yùn)算不會(huì)造成尾數(shù)字長(zhǎng)的變化,誤差主要來(lái)自于數(shù)的溢出;而兩個(gè)尾數(shù)長(zhǎng)度為n的數(shù)相乘運(yùn)算后,乘積的尾數(shù)長(zhǎng)度為2n,受存儲(chǔ)器長(zhǎng)度的限制,要對(duì)乘積做截尾或者舍入運(yùn)算,這勢(shì)必會(huì)引入誤差,影響濾波器的性能。因此,這里僅分析乘法和加法,特別是乘法運(yùn)算的舍入誤差對(duì)數(shù)字濾波器性能的影響。圖7-6定點(diǎn)相乘運(yùn)算的算法流圖(a)理想相乘;(b)實(shí)際相乘的非線性流圖;(c)統(tǒng)計(jì)分析的流圖7.4.1IIR濾波器運(yùn)算中的有限字長(zhǎng)效應(yīng)一個(gè)N階的IIR濾波器的輸入輸出關(guān)系可以用式(7-51)所示的N階的線性常系數(shù)差分方程來(lái)描述:(7-51)(7-52)對(duì)式(7-52)兩邊作Z變換可得根據(jù)式(7-33),有(7-53)從式(7-53)可以看出舍入處理后,濾波器的輸出y(n)等于y(n)和f(n)之和,其中f(n)是系統(tǒng)總誤差e(n)通過(guò)傳輸函數(shù)為He(z)=1/A(z)的系統(tǒng)的輸出。^根據(jù)前面的假設(shè),每一個(gè)乘法支路中的舍入誤差是均值為零的平穩(wěn)白噪聲序列,系統(tǒng)總誤差e(n)是M+N+1個(gè)乘法支路的舍入誤差之和,因此e(n)也是均值為零的平穩(wěn)白噪聲序列,其方差(功率)等于各個(gè)乘法支路中舍入誤差的方差之和。假設(shè)e(n)的方差為σ2e,則(7-54)式中,σ2ε為單個(gè)乘法支路中舍入誤差的方差。由7.2.2節(jié),e(n)通過(guò)系統(tǒng)He(z)后輸出信號(hào)f(n)的方差σ2f為(7-55)式(7-55)也可表示為(7-56)從式(7-55)和式(7-56)可以看出,量化字長(zhǎng)(量化階距)固定的情況下,σ2f取決于IIR濾波器的系統(tǒng)函數(shù)。顯然,濾波器的結(jié)構(gòu)不同時(shí),σ2f的值也不相等。

【例7-5】一個(gè)因果的IIR系統(tǒng)的系統(tǒng)函數(shù)試分別在直接型、級(jí)聯(lián)型和并聯(lián)型情況下,求解由乘法舍入誤差所產(chǎn)生的輸出噪聲的方差。

解:

1)直接型結(jié)構(gòu)由有A(z)=1-0.9z-1+0.2z-2=(1-0.5z-1)(1-0.4z-1)M=0,N=2直接型結(jié)構(gòu)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論