第8章 TMS320C55x軟件設(shè)計(jì)實(shí)例_第1頁(yè)
第8章 TMS320C55x軟件設(shè)計(jì)實(shí)例_第2頁(yè)
第8章 TMS320C55x軟件設(shè)計(jì)實(shí)例_第3頁(yè)
第8章 TMS320C55x軟件設(shè)計(jì)實(shí)例_第4頁(yè)
第8章 TMS320C55x軟件設(shè)計(jì)實(shí)例_第5頁(yè)
已閱讀5頁(yè),還剩22頁(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)介

第8章

TMS320C55x軟件設(shè)計(jì)實(shí)例

如果說(shuō)DSP的硬件設(shè)計(jì)是基礎(chǔ),那么軟件算法則是系統(tǒng)的精華所在。精確、高效的軟件算法設(shè)計(jì)確保所需功能的實(shí)現(xiàn),而且系統(tǒng)的精確性和高效性也十分依賴(lài)于軟件設(shè)計(jì)。

在本章中給出了一系列軟件設(shè)計(jì)實(shí)例,既有數(shù)字信號(hào)處理的基本算法的實(shí)例——卷積算法、FIR濾波器算法、IIR濾波器算法和FFT算法;又有語(yǔ)音壓縮和解壓縮算法的例子——G711語(yǔ)音壓縮和解壓縮;然后給出了圖像處理算法的實(shí)例——圖像銳化算法的實(shí)現(xiàn);最后是有關(guān)C55x處理器在通信系統(tǒng)中應(yīng)用的實(shí)例——包括卷積編碼的DSP實(shí)現(xiàn)和Viterbi譯碼算法的DSP實(shí)現(xiàn)。希望這些軟件設(shè)計(jì)實(shí)例能夠給讀者以啟發(fā)。2023/1/311DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.1卷積算法

8.1.1卷積算法

卷積積分是計(jì)算連續(xù)線(xiàn)性時(shí)不變系統(tǒng)輸出響應(yīng)的主要方法。同樣,對(duì)于離散系統(tǒng),卷積和也是求線(xiàn)性時(shí)不變系統(tǒng)輸出響應(yīng)的重要方法

卷積和的運(yùn)算在圖形表示上可分為四步:

(1)翻轉(zhuǎn):先在變量坐標(biāo)m上作圖x(m)和h(m),將h(m)以m=0的垂直軸為對(duì)稱(chēng)軸翻轉(zhuǎn)成h(m);

(2)移位:將h(m)移位n,即得h(nm)。當(dāng)n為正整數(shù)時(shí),右移n位。當(dāng)n為負(fù)整數(shù)時(shí),左移n位;

(3)相乘:再將h(nm)和x(m)的相同m值的對(duì)應(yīng)點(diǎn)值相乘;

(4)相加:把以上所有對(duì)應(yīng)點(diǎn)的乘積疊加起來(lái),即得y(n)值。

2023/1/312DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.1.2

卷積算法的MATLAB實(shí)現(xiàn)

MATLAB提供了一個(gè)函數(shù)conv用于計(jì)算兩個(gè)有限長(zhǎng)序列之間的卷積。conv函數(shù)假定這兩個(gè)序列都在n=0開(kāi)始。

例如:已知兩個(gè)序列:

x(n)=[3,11,7,0,1,4,2],3≤n≤3;

h(n)=[2,3,0,5,2,1],1≤n≤4求卷積y(n)=x(n)h(n)。

要作該例子的卷積,就能用>>x=[3,11,7,0,1,4,2];>>h=[2,3,0,5,2,1];>>y=conv(x,h)y=631476515411822382得到y(tǒng)(n)值。然而conv函數(shù)不提供任何定時(shí)信息。通過(guò)對(duì)conv函數(shù)的簡(jiǎn)單擴(kuò)展,它能完成任意位置序列的卷積。2023/1/313DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.2有限沖激響應(yīng)濾波器(FIR)的實(shí)現(xiàn)8.2.1有限沖激響應(yīng)濾波器的特點(diǎn)和結(jié)構(gòu)

有限沖激響應(yīng)濾波器是信號(hào)處理中常用的一種濾波器,這種濾波器有如下優(yōu)點(diǎn):容易實(shí)現(xiàn)線(xiàn)性相位。只要保證系數(shù)的偶對(duì)稱(chēng),就可很容易實(shí)現(xiàn)線(xiàn)性相位;可以實(shí)現(xiàn)任意形狀濾波器。通過(guò)窗函數(shù)法可以方便的實(shí)現(xiàn)多通帶、多阻帶濾波器;

穩(wěn)定性好。因?yàn)镕IR濾波器沒(méi)有反饋,是自然穩(wěn)定的。2023/1/314DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.2.1有限沖激響應(yīng)濾波器的特點(diǎn)和結(jié)構(gòu)

但FIR濾波器也有一些缺點(diǎn):

設(shè)計(jì)FIR濾波器無(wú)法直接設(shè)定阻帶衰減指標(biāo)。為了達(dá)到阻帶衰減指標(biāo)往往要多次更改設(shè)計(jì)參數(shù),直到通帶、阻帶性能達(dá)到要求;階數(shù)較大。要滿(mǎn)足理想的濾波器性能需要比無(wú)限沖激響應(yīng)濾波器更長(zhǎng)的階數(shù);

過(guò)渡帶性能和實(shí)時(shí)性之間存在矛盾。要使FIR濾波器的過(guò)渡帶盡量小就需要較長(zhǎng)的階數(shù),這就需要在過(guò)渡帶性能和實(shí)時(shí)性之間尋求平衡。2023/1/315DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.2.1

有限沖激響應(yīng)濾波器的特點(diǎn)和結(jié)構(gòu)

FIR濾波器差分方程如下,x(n)為輸入序列,y(n)為輸出序列,h(k)為濾波器系數(shù),N為濾波器階數(shù)。下圖是FIR濾波器的結(jié)構(gòu)圖。2023/1/316DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.2.2

有限沖激響應(yīng)濾波器的MATLAB設(shè)計(jì)

FIR濾波器系數(shù)的產(chǎn)生可以通過(guò)MATLAB得到。MATLAB是MathWorks公司用于數(shù)值計(jì)算和信號(hào)處理的數(shù)學(xué)計(jì)算工具包,可以方便直觀(guān)地進(jìn)行分析、計(jì)算和系統(tǒng)仿真。b=fir1(20,[0.20.5])freqz(b,1,512)

FIR濾波器設(shè)計(jì)可以采用兩種方法實(shí)現(xiàn)。

方法1:直接通過(guò)MATLAB的濾波器設(shè)計(jì)函數(shù),具體示例如下:

2023/1/317DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.2.2

有限沖激響應(yīng)濾波器的MATLAB設(shè)計(jì)b=fir1(20,[0.20.5])freqz(b,1,512)

fir1函數(shù)需要兩個(gè)參數(shù),即濾波器階數(shù)和濾波器參數(shù)。

可以看到,所設(shè)計(jì)的濾波器階數(shù)為20階,[0.20.5]表示該濾波器為帶通濾波器,通帶范圍為歸一化頻率0.2~0.5,指令freqz(b,1,512)所給出的是該濾波器的幅頻、相頻響應(yīng)特性,如圖所示。2023/1/318DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.2.2

有限沖激響應(yīng)濾波器的MATLAB設(shè)計(jì)

方法2:采用濾波器設(shè)計(jì)工具箱來(lái)設(shè)計(jì)濾波器的參數(shù),可以方便地得到所需濾波器。該方法按照如下步驟來(lái)實(shí)現(xiàn):

(1)打開(kāi)MATLAB濾波器設(shè)計(jì)工具箱中的濾波器設(shè)計(jì)與分析工具(FDATool)。(2)在濾波器設(shè)計(jì)頁(yè)面中設(shè)置濾波器參數(shù):

濾波器類(lèi)型選擇帶通;設(shè)計(jì)方法選擇FIR(有限沖激響應(yīng)濾波器)、窗函數(shù)法設(shè)計(jì);濾波器階數(shù)選擇最小階數(shù),窗類(lèi)型采用Kaiser窗;頻率選擇歸一化頻率,阻帶1設(shè)為0.15,通帶1設(shè)為0.2,通帶2設(shè)為0.5,阻帶2設(shè)為0.55;幅度單位選分貝,阻帶1設(shè)為20dB,通帶設(shè)為1dB,阻帶2設(shè)為20dB。2023/1/319DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.2.2

有限沖激響應(yīng)濾波器的MATLAB設(shè)計(jì)

方法2:采用濾波器設(shè)計(jì)工具箱來(lái)設(shè)計(jì)濾波器的參數(shù),可以方便地得到所需濾波器。該方法按照如下步驟來(lái)實(shí)現(xiàn):

(3)單擊設(shè)計(jì)濾波器按鈕,在右上窗口可以看到所設(shè)計(jì)濾波器的幅頻、相頻等各種圖形。(4)在File菜單,選擇“Export”子菜單出現(xiàn)Export窗口,選擇輸出到Text-file,單擊“OK”按鈕即可將參數(shù)輸出到指定文件中。2023/1/3110DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.2.2

有限沖激響應(yīng)濾波器的MATLAB設(shè)計(jì)

右圖顯示了用濾波器設(shè)計(jì)與分析工具設(shè)計(jì)FIR濾波器的界面。如果對(duì)比兩種濾波器設(shè)計(jì)方法就會(huì)發(fā)現(xiàn),利用濾波器設(shè)計(jì)與分析工具設(shè)計(jì)濾波器更為直觀(guān)、方便。2023/1/3111DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.2.3有限沖激響應(yīng)濾波器DSP實(shí)現(xiàn)

在利用C55x系列處理器編寫(xiě)程序時(shí),應(yīng)充分利用處理器所提供的各種條件。在下面所給出的實(shí)例中,可以發(fā)現(xiàn)該程序充分發(fā)揮了C55x內(nèi)核雙乘法器的作用,并靈活使用輔助寄存器的各種尋址方式。這樣做將提高處理器的工作效率,更好地滿(mǎn)足系統(tǒng)實(shí)時(shí)性的要求。該濾波器的階數(shù)為4,輸入數(shù)據(jù)長(zhǎng)度為11。2023/1/3112DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例程序清單:N_TAPS.set4N_DATA.set11.dataCOEFFS.int1,2,3,4IN_DATA.int1,2,3,4,5,6,7,8,9,10,11.bssOUT_DATA,N_DATA+N_TAPS1,,1.textBCLRARMS.arms_off

bfir:MOV #CODFFS,XCDPAMOV #(IN_DATA+N_TAPS1),XAR0AMOV #(IN_DATA+N_TAPS),XAR1AMOV #OUT_DATA,XAR2

;濾波器抽頭;XAR2指向輸出向量8.2.3有限沖激響應(yīng)濾波器DSP實(shí)現(xiàn)

;輸入數(shù)據(jù)數(shù)

;濾波器系數(shù)

;輸入向量

;ARMS清零

;輸出向量

;ARMS=0

;指向?yàn)V波器系數(shù)

;XAR0指向輸入向量

;XAR1指向輸入向量2023/1/3113DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例MOV#((N_DATAN_TAPS+1)/21),BRC0MOV#(N_TAPS3),CSR MOV#(-(N_TAPS1)),T0MOV#(N_TAPS+1),T1|| RPTBLOCALFIREND1 MPY *AR0,*CDP+,AC0::MPY*AR1,*CDP+,AC1 RPT CSR MACM *AR0,*CDP,AC0 ::MACM*AR1,*CDP+,AC1MACM *AR0(T1),*CDP(T0),AC0::MACM *AR1(T1),*CDP(T0),AC1MOV dbl(LO(AC0)),dbl(*AR2)FIREND

;載入外循環(huán)次數(shù)8.2.3有限沖激響應(yīng)濾波器DSP實(shí)現(xiàn)

;載入內(nèi)循環(huán)次數(shù)

;外循環(huán)開(kāi)始

;抽頭1

;內(nèi)循環(huán)開(kāi)始

;存儲(chǔ)結(jié)果

;循環(huán)結(jié)束2023/1/3114DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.2.3有限沖激響應(yīng)濾波器DSP實(shí)現(xiàn)

計(jì)算的最終結(jié)果為:0x0014,0x001E,0x0028,0x0032, 0x003C,0x0046,0x0050,0x005A在取濾波器系數(shù)時(shí),應(yīng)注意要對(duì)生成的系數(shù)進(jìn)行處理。這是因?yàn)樯傻南禂?shù)一般都帶有小數(shù)部分,而C55x系列處理器是定點(diǎn)處理器,不能處理小數(shù)。因此,要對(duì)系數(shù)進(jìn)行適當(dāng)放大,使所有系數(shù)都在32768~+32767之間。

2023/1/3115DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.3無(wú)限沖激響應(yīng)濾波器(IIR)的實(shí)現(xiàn)

8.3.1無(wú)限沖激響應(yīng)濾波器的結(jié)構(gòu)

無(wú)限沖激響應(yīng)濾波器的差分方程如下:右圖是無(wú)限沖激響應(yīng)濾波器的結(jié)構(gòu)。2023/1/3116DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.3.2

無(wú)限沖激響應(yīng)濾波器的MATLAB設(shè)計(jì)

同有限沖激響應(yīng)濾波器一樣,無(wú)限沖激響應(yīng)濾波器也可以在MATLAB中通過(guò)兩種不同的方法進(jìn)行設(shè)計(jì)。

方法1:利用濾波器設(shè)計(jì)函數(shù)直接生成濾波器。

MATLAB中提供了多種IIR濾波器的設(shè)計(jì)方法,包括巴特沃斯濾波器,切比雪夫Ⅰ型、切比雪夫Ⅱ型濾波器,橢圓濾波器等,接下來(lái)以切比雪夫Ⅰ型濾波器為例設(shè)計(jì)一個(gè)低通濾波器。設(shè)計(jì)的低通濾波器要求其采樣頻率為44100Hz,通帶為8kHz,過(guò)渡帶為500Hz,阻帶衰減為30dB。2023/1/3117DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.3.2

無(wú)限沖激響應(yīng)濾波器的MATLAB設(shè)計(jì)右圖是該濾波器的幅頻、相頻曲線(xiàn)圖。Wp=8000/22050;Ws=8500/22050;[n,Wn]=cheb1ord(Wp,Ws,3,30)[b,a]=cheby1(n,3,Wn) freqz(b,a,512,44100)

;計(jì)算在所給參數(shù)下所需最小階數(shù)

;給出濾波器系數(shù)

2023/1/3118DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.3.2

無(wú)限沖激響應(yīng)濾波器的MATLAB設(shè)計(jì)

方法2:采用濾波器設(shè)計(jì)與分析工具設(shè)計(jì)濾波器。

右圖是應(yīng)用濾波器設(shè)計(jì)與分析工具設(shè)計(jì)同樣參數(shù)的濾波器。具體步驟為:(1)

打開(kāi)FDATool

;(2)

設(shè)置濾波器參數(shù);在濾波器類(lèi)型中選擇低通

設(shè)計(jì)方法選擇IIR(3)

單擊設(shè)計(jì)濾波器按鈕,在右上窗口可以看到各種圖形。選擇頻率單位、通帶、阻帶選擇幅度單位、通帶、阻帶(4)

單擊File菜單,選擇“Export”子菜單,選擇輸出到“Text-file”,單擊“OK”

。2023/1/3119DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.3.3無(wú)限沖激響應(yīng)濾波器的DSP實(shí)現(xiàn)

接下來(lái)給出IIR濾波器的DSP實(shí)現(xiàn)算法,該算法把IIR濾波器分解成多個(gè)單元,每個(gè)單元如圖所示:?jiǎn)卧衳(n)、y(n)按下式推導(dǎo)

:2023/1/3120DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.3.3

無(wú)限沖激響應(yīng)濾波器的DSP實(shí)現(xiàn)

程序中AR0指向輸入數(shù)據(jù)*x(n),AR1指向?yàn)V波器系數(shù)*h,AR2指向輸出數(shù)據(jù)y(n),AR3指向中間變量dbuffer,T0存放濾波器中組成單元的數(shù)量,T1存放輸入數(shù)據(jù)個(gè)數(shù),濾波器的系數(shù)存放的順序如下:

a11a21b21b11....a1ia2ib2ib1i

中間變量的排列順序如下,i是中間變量所在單元的序號(hào):

d1(n–1),d2(n–1),..di(n–1)d1(n–2),d2(n–2)...di(n–2)2023/1/3121DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.4快速傅里葉變換(FFT)8.4.1快速傅里葉變換(FFT)算法

離散傅里葉變換作為信號(hào)處理中最基本和最常用的運(yùn)算,在信號(hào)處理領(lǐng)域占有基礎(chǔ)性的地位,離散傅里葉變換定義為:

k=0,1,…,N1,k=0,1,…,N1,

2023/1/3122DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.4.1快速傅里葉變換(FFT)算法

如果直接按照公式進(jìn)行計(jì)算,求出N點(diǎn)X(k)需要N2次復(fù)數(shù)乘法,N(N1)次復(fù)數(shù)加法,如此推算,進(jìn)行1024點(diǎn)傅里葉變換共需要4194304次實(shí)數(shù)乘法,這對(duì)于實(shí)時(shí)處理是無(wú)法接受的。而傅里葉快速(FFT)算法的提出使傅里葉變換成為一種真正實(shí)用的算法。

k=0,1,…,N1,FFT運(yùn)算公式為:2023/1/3123DSP系統(tǒng)設(shè)計(jì)第8章TMS320C55x軟件設(shè)計(jì)實(shí)例8.4.1快速傅里葉變換(FFT)算法接下來(lái)將介紹利用C55x處理器實(shí)現(xiàn)傅里葉快速算法。

k=0,1,…,N1,

右圖給出8點(diǎn)時(shí)域抽取FFT的示意圖:

溫馨提示

  • 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)論