DSP課程設(shè)計(jì) 基于DSP開(kāi)發(fā)板的語(yǔ)言信號(hào)濾波處理 電信畢業(yè)設(shè)計(jì)
《DSP課程設(shè)計(jì) 基于DSP開(kāi)發(fā)板的語(yǔ)言信號(hào)濾波處理 電信畢業(yè)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《DSP課程設(shè)計(jì) 基于DSP開(kāi)發(fā)板的語(yǔ)言信號(hào)濾波處理 電信畢業(yè)設(shè)計(jì)(42頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 DSP原理與接口技術(shù) 課程設(shè)計(jì)報(bào)告 基于DSP開(kāi)發(fā)板的語(yǔ)言信號(hào)濾波處理 姓 名: 班 級(jí): 09電信1 學(xué) 號(hào): 2009305901 2009305901 2009305901 指導(dǎo)老師: 日期: 2012. XX.XX~2012.XX.XX 華南農(nóng)業(yè)大學(xué)工程學(xué)院 摘 要 通過(guò)語(yǔ)音傳遞信息是人類最重要、最有效、最常用
2、、最方便的交換信息的方法,因此,如何去除混雜在有用信號(hào)中的噪聲并獲得低損甚至無(wú)損的有用語(yǔ)音信號(hào)成為語(yǔ)音信號(hào)處理(即用數(shù)字信號(hào)處理技術(shù)和語(yǔ)言學(xué)知識(shí)對(duì)語(yǔ)音信號(hào)進(jìn)行處理并提取有用信息)至關(guān)重要的問(wèn)題。但是因?yàn)檎Z(yǔ)音識(shí)別技術(shù)對(duì)信號(hào)噪聲非常敏感,系統(tǒng)本身和器件對(duì)系統(tǒng)的處理結(jié)果都有著不可忽視的干擾,因此很難實(shí)現(xiàn)效果較好的語(yǔ)音信號(hào)濾波處理。而DSP因?yàn)檫\(yùn)算速度快,片上資源豐富和能夠?qū)崿F(xiàn)復(fù)雜的線性和非線性算法等特性,在語(yǔ)音信號(hào)處理技術(shù)方面有明顯的優(yōu)勢(shì)。雖然DSP自身在一定程度上也是語(yǔ)音信號(hào)干擾源,但綜其上述良好特性,以及干擾源的不可避免性,我們選擇用DSP實(shí)現(xiàn)語(yǔ)音信號(hào)濾波處理。 為了實(shí)現(xiàn)基于DSP開(kāi)發(fā)
3、板的語(yǔ)音信號(hào)濾波處理,我們對(duì)混雜噪聲信號(hào)的有用信號(hào)音頻進(jìn)行時(shí)域和頻譜分析,得出其頻譜特性后,在軟件編程方面,我們用匯編語(yǔ)言在CCS中設(shè)計(jì)出三個(gè)濾波器,分別是:低通濾波器、高通濾波器以及帶通濾波器,同時(shí)實(shí)現(xiàn)A/D和D/A轉(zhuǎn)換。在硬件方面,通過(guò)接口電路從電腦下載混雜噪聲的有用音頻,以及將程序下載到芯片中。語(yǔ)音信號(hào)在硬件電路芯片上進(jìn)行ADC轉(zhuǎn)換變?yōu)閿?shù)字信號(hào),通過(guò)濾波、壓縮等變化濾去噪聲之后再進(jìn)行DA轉(zhuǎn)換返回模擬語(yǔ)音信號(hào)并從硬件電路輸出。從而實(shí)現(xiàn)DSP的語(yǔ)音信號(hào)濾波處理。 關(guān)鍵詞: 語(yǔ)音信號(hào)處理 濾波 DSP 39 目 錄
4、1 方案比較與選擇 1.1 方案目標(biāo) 基于DSP開(kāi)發(fā)板,在CCS中用匯編語(yǔ)言設(shè)計(jì)一個(gè)濾波器,運(yùn)用該濾波器能將混雜有高頻噪聲的歌聲中的噪聲信號(hào)去除。濾波的整個(gè)過(guò)程通過(guò)DSP開(kāi)發(fā)板上實(shí)現(xiàn),并且要滿足以下要求: 1、根據(jù)被處理對(duì)象設(shè)置濾波器參數(shù); 2、該濾波器要用匯編語(yǔ)言實(shí)現(xiàn); 3、待處理語(yǔ)音信號(hào)采集通過(guò)開(kāi)發(fā)板上的信號(hào)采集模塊輸入; 4、所設(shè)計(jì)的濾波器能濾除語(yǔ)音信號(hào)中的高頻噪聲; 5、實(shí)現(xiàn)濾除噪聲功能后,能在電腦上顯示濾波器的頻譜; 6、通過(guò)開(kāi)發(fā)板上的語(yǔ)音模塊播放處理后的語(yǔ)音信號(hào); 我們組將合成信號(hào)(混有高頻噪聲與有用的歌曲信號(hào))通過(guò)DSP開(kāi)發(fā)板的耳機(jī)輸入接口輸入
5、TMS320VC5416芯片,該音頻信號(hào)的時(shí)域波形和頻域波形如圖1、圖2、圖3、圖4所示: 圖1 混合時(shí)域波形(1) 圖2 混合時(shí)域波形(2) 圖3 混合時(shí)域波形(3) 圖4 混合頻域波形 通過(guò)濾波器對(duì)高頻噪聲的濾除后,理想情況下的有用信號(hào)輸出時(shí)域波形和頻域波形如圖5、圖6所示: 圖5 理想結(jié)果時(shí)域 圖6 理想結(jié)果頻域 而被濾除的高頻噪聲信號(hào)的時(shí)域波形和頻域波形則分別如圖7、圖8所示: 圖7 噪聲時(shí)域 圖8 噪聲頻域 1.2方案選擇 1.2.1 濾波器選擇 A.IIR數(shù)字濾波器 IIR數(shù)字
6、濾波器具有無(wú)限的脈沖響應(yīng),具有如下特點(diǎn): 1. IIR數(shù)字濾波器的系統(tǒng)函數(shù)可以寫成封閉函數(shù)的形式; 2. IIR數(shù)字濾波器采用遞歸型結(jié)構(gòu); 3. IIR數(shù)字濾波器在設(shè)計(jì)上可借助成熟的模擬濾波器的結(jié)果; 4. IIR數(shù)字濾波器需要加相位校準(zhǔn)網(wǎng)絡(luò); IIR數(shù)字濾波器的相位特性不好控制,當(dāng)對(duì)相位要求較高的時(shí)候,需要外加相位校準(zhǔn)網(wǎng)絡(luò)。由于IIR數(shù)字濾波器采用遞歸型結(jié)構(gòu),結(jié)構(gòu)上帶有反饋回路,在運(yùn)算的舍入處理過(guò)程中,會(huì)使誤差不斷累積,致使有時(shí)會(huì)產(chǎn)生微弱的寄生振蕩。但是在設(shè)計(jì)上,IIR數(shù)字濾波器能借助成熟的模擬濾波器結(jié)果,如巴特沃斯、契比雪夫等,因有現(xiàn)成的設(shè)計(jì)數(shù)據(jù)或圖表可以查閱,使設(shè)計(jì)工作量相
7、對(duì)比較小,對(duì)計(jì)算工具的要求也不高。 B.FIR濾波器 FIR濾波器為有限長(zhǎng)單位沖激響應(yīng)濾波器,是數(shù)字信號(hào)處理系統(tǒng)中最基本的原件,它能夠保證任意幅頻特性的同時(shí)又具有嚴(yán)格的線性相頻特性,與此同時(shí),它的單位抽樣響應(yīng)是有限長(zhǎng)的,因此,F(xiàn)IR濾波器是穩(wěn)定的系統(tǒng)。它具有如下特點(diǎn): 1. FIR濾波器系統(tǒng)的單位沖激響應(yīng)h(n)在有限個(gè)n值處不為零; 2. FIR濾波器的系統(tǒng)函數(shù)H(z)在|z|>0處收斂,極點(diǎn)全部在z=0處,是因果系統(tǒng); 3. FIR濾波器在結(jié)構(gòu)上主要為非遞歸結(jié)構(gòu),沒(méi)有輸出到輸入的反饋; FIR濾波器能夠在DSP芯片中實(shí)現(xiàn),DSP芯片中有專用的數(shù)字信號(hào)處理函數(shù)可以調(diào)用,因此,在D
8、SP芯片中,F(xiàn)IR濾波器的實(shí)現(xiàn)相對(duì)簡(jiǎn)單。但是由于程序是順序執(zhí)行的,它的速度會(huì)受到限制。 1.2.2 DSP芯片選擇 A.TMS320C5402 TI公司第五代16bit定點(diǎn)DSP處理器,它適用于語(yǔ)音通信等實(shí)施嵌入應(yīng)用場(chǎng)合,其特性為:操作速度可以達(dá)100MIPS;先進(jìn)的多總線結(jié)構(gòu);整合維特比加速器;數(shù)據(jù)/程序?qū)ぶ窂摹⒖臻g為1M16bit,內(nèi)置4K16bit的ROM和16K16bit的RAM;內(nèi)置可編程等待狀態(tài)發(fā)生器、鎖相環(huán)(PLL)時(shí)鐘產(chǎn)生器、兩個(gè)多通道緩沖串口、兩個(gè)16位定時(shí)器,與’C54X系列的其他芯片相比,’C5402具有高性能,低功耗和低價(jià)格等特點(diǎn),它采用6級(jí)流水線
9、,而且當(dāng)RPT(重復(fù)指令)有效時(shí),一些多周期的指令就編程單周期的指令;芯片內(nèi)部RAM和ROM可以根據(jù)PMST寄存器中的OVLY和DROM位靈活設(shè)置,這些都是有利于算法的優(yōu)化。 B.TMS320VC5416 TMS320VC5416芯片的運(yùn)行速度為160M,具有低功耗設(shè)計(jì);其工作速度可以高達(dá)160MIPS;它的片內(nèi)RAM存儲(chǔ)空間為128K16Bit;而其擴(kuò)張的2路6bitA/D接口TLV0832的最大采樣速率為20K;具有2路的TLC7528D/A轉(zhuǎn)換,10M/S,8Bit;具有UAET串行接口,符合RS232標(biāo)準(zhǔn);有8M bit的擴(kuò)展Flash,能存儲(chǔ)大量固化程序和數(shù)據(jù);設(shè)計(jì)配
10、置有用戶可以自定義的開(kāi)關(guān)盒測(cè)試指示燈,方便用戶進(jìn)行調(diào)試;4組標(biāo)準(zhǔn)化擴(kuò)展連接器,為用戶進(jìn)行二次開(kāi)發(fā)提供條件;具有能與IEEE1149.1相兼容的僅用于測(cè)試和仿真的邏輯掃描電路;+5V電源輸入,內(nèi)部為+3.3V、+1.6V電源管理;四層板設(shè)計(jì)工藝,工作穩(wěn)定可靠;具有自啟動(dòng)功能設(shè)計(jì),可以實(shí)現(xiàn)脫機(jī)工作;可以選配多張應(yīng)用接口板,包括USB板。 1.3方案選擇 1.3.1 濾波器選擇 在很多實(shí)際應(yīng)用中如語(yǔ)音和音頻信號(hào)處理中,常用數(shù)字濾波器來(lái)實(shí)現(xiàn)選頻功能。因此,應(yīng)將頻域中的幅度和相位響應(yīng)設(shè)為選頻功能的指標(biāo)。在通帶中,線性相位響應(yīng)常是被希望的,但精確的線性相位在FIR濾波器中可以得到,而在IIR濾波器中
11、通帶的相位卻不可能得到的。在幅度指標(biāo)的考量方面,IIR數(shù)字濾波器的設(shè)計(jì)和模擬濾波器的設(shè)計(jì)有著緊密的聯(lián)系,通常是在設(shè)計(jì)出適當(dāng)?shù)哪M濾波器后,再通過(guò)一定的頻帶變換把它轉(zhuǎn)換成為所需要的數(shù)字IIR濾波器。此外,任何數(shù)字信號(hào)處理系統(tǒng)中也還不可避免地用到模擬濾波器,比如A/D變換器前的抗混疊濾波器及D/A轉(zhuǎn)換后的平緩濾波器,因此模擬濾波器設(shè)計(jì)也是數(shù)字信號(hào)處理中應(yīng)當(dāng)掌握的技術(shù)。 從性能上來(lái)說(shuō),IIR數(shù)字濾波器傳遞函數(shù)包括零點(diǎn)和極點(diǎn)兩組可調(diào)因素,對(duì)極點(diǎn)的唯一限制是在單位圓內(nèi)。因此可用較低的階數(shù)獲得高的選擇性,所用的存儲(chǔ)單元少、計(jì)算量小、效率高。但是這個(gè)高效率是以相位的非線性為代價(jià)的。IIR數(shù)字濾波器的選擇性
12、越好,則相位非線性越嚴(yán)重。因?yàn)樵谟?jì)算量相等的情況下,雖然IIR 數(shù)字濾波器比FIR濾波器的幅頻特性優(yōu)越,頻率選擇性也好,但是它有著致命的缺點(diǎn):相位特性不好控制。它的相位特性是非線性函數(shù)。例如雙線性變換法產(chǎn)生的IIR 濾波器模擬指標(biāo)的頻率與數(shù)字化指標(biāo)的頻率轉(zhuǎn)換關(guān)系是 ,這是使頻率產(chǎn)生嚴(yán)重的非線性的原因,這種W與w的非線性關(guān)系,使數(shù)字濾波器與模擬濾波器在響應(yīng)與頻率的對(duì)應(yīng)關(guān)系上發(fā)生了畸變。而FIR濾波器傳遞函數(shù)的極點(diǎn)是固定在原點(diǎn),是不能動(dòng)的,它只能靠改變零點(diǎn)位置來(lái)改變它的性能,所以要達(dá)到高的選擇性,必須用高的階數(shù),對(duì)于同樣的濾波器設(shè)計(jì)指標(biāo),F(xiàn)IR濾波器所要求的階數(shù)可能比IIR濾波器高5-10倍,結(jié)果
13、成本高信號(hào)延時(shí)也較大,如果按線性相位要求來(lái)說(shuō),則IIR濾波器就必須加全通網(wǎng)絡(luò)進(jìn)行相位校正,但是,在對(duì)程序運(yùn)行周期數(shù)要求十分嚴(yán)格的DSP處理中加上一個(gè)全通均衡器是十分浪費(fèi)資源的,另外即使加上全通均衡器 對(duì)于因果的IIR 濾波器仍將得不到線性的相位,反而會(huì)大大增加了濾波器的階數(shù)和復(fù)雜性。而FIR濾波器卻可以在幅度特性隨意設(shè)計(jì)的同時(shí)保證精確嚴(yán)格的線性相位。FIR濾波器的這一特點(diǎn)在現(xiàn)代電子系統(tǒng)中諸如圖像處理數(shù)據(jù)傳輸?shù)炔ㄐ蝹鬟f系統(tǒng)中都越來(lái)越多的要求信道具有線性相位特性的情況下,成為了FIR濾波器獨(dú)特的優(yōu)點(diǎn)。 另外,從結(jié)構(gòu)上看,IIR濾波器必須采用遞歸結(jié)構(gòu)來(lái)配置極點(diǎn),并保證極點(diǎn)位置在單位圓內(nèi)。由于有限字
14、長(zhǎng)效應(yīng),運(yùn)算過(guò)程中將對(duì)系數(shù)進(jìn)行舍入處理,引起極點(diǎn)的偏移,這種情況有時(shí)會(huì)造成穩(wěn)定性問(wèn)題,甚至造成寄生振蕩。相反,F(xiàn)IR濾波器只要采用非遞歸結(jié)構(gòu),不論在理論上還是實(shí)際的有限精度運(yùn)算中都不存在穩(wěn)定性問(wèn)題,因此造成的頻率特性誤差也較小。此外FIR濾波器可以采用快速傅立葉變換算法,在相同的階數(shù)條件下運(yùn)算速度可以快的多。 因此,我們小組選擇FIR濾波器進(jìn)行后續(xù)的語(yǔ)音信號(hào)濾波處理。 1.3.2 DSP芯片選擇 綜合分析TMS320C5402芯片和TMS320VC5416的功能特點(diǎn),在同樣具有低功耗、高穩(wěn)定性的條件下,TMS320C5402芯片具有先進(jìn)的多總線結(jié)構(gòu),能整合維特比加速器,同時(shí)它采用
15、6級(jí)流水線,使工作能同時(shí)進(jìn)行,工作速率提高,其芯片內(nèi)部RAM和ROM可以根據(jù)PMST寄存器中的OVLY和DROM位靈活設(shè)置等有利于算法的優(yōu)化,并且價(jià)格較低,適合于學(xué)生進(jìn)行開(kāi)發(fā)。但是,TMS320VC5416芯片具有更高的運(yùn)行速度,是目前為止,C54X系列產(chǎn)品中最快的,其速度是C5410的1.6倍,其內(nèi)部空間更大,是C5410的2倍。同時(shí)配置有較大的ROM能存儲(chǔ)大量的固化程序和數(shù)據(jù),有利于運(yùn)行速度的提升和減少因處理數(shù)據(jù)量太大而死機(jī)的可能,能處理信息量的音頻信號(hào)。TMS320VC5416芯片配置有用戶可以自定義的開(kāi)關(guān)盒測(cè)試指示燈和4組標(biāo)準(zhǔn)化擴(kuò)展連接器,為用戶調(diào)試和進(jìn)行二次開(kāi)發(fā)提供便利條件,此外,它
16、能夠選配諸如USB接口的應(yīng)用接口板,便于與電腦進(jìn)行數(shù)據(jù)交換。 因此,我們小組選擇TMS320VC5416芯片來(lái)進(jìn)行開(kāi)發(fā)。 2 硬件電路概述 2.1 DSP開(kāi)發(fā)系統(tǒng) 通用DSP開(kāi)發(fā)系統(tǒng)的三大要素為: 1.界面友好、調(diào)試方便、具有圖形顯示功能以及能對(duì)程序問(wèn)題快速定位的開(kāi)發(fā)軟件; 2.與PC機(jī)接口方便、與目標(biāo)板連接方便、硬件可靠以及通用性好的開(kāi)發(fā)系統(tǒng); 3.具有流行DSP芯片、具有A/D、D/A等豐富外圍接口、擴(kuò)展方便意見(jiàn)實(shí)驗(yàn)軟件豐富的目標(biāo)板; 此處僅對(duì)開(kāi)發(fā)系統(tǒng)以及目標(biāo)板進(jìn)行具體描述。 2.2 開(kāi)發(fā)系統(tǒng) 在這次語(yǔ)音信號(hào)濾波處理設(shè)計(jì)中,我們小組采用ICETE
17、K-5100PP系列開(kāi)發(fā)系統(tǒng),其外觀圖如圖9所示: 圖9 ICETEK-5100PP開(kāi)發(fā)系統(tǒng)外觀圖 其各部件的說(shuō)明如下: a.仿真頭:JTAG接口,其各管腳定義如圖10所示: 圖10 JTAG管腳定義 b.仿真頭:MPSD接口,其各管腳定義如圖11所示: 圖11 MPSD仿真接口各管腳定義 c.開(kāi)發(fā)系統(tǒng)電源接口 d.并口電纜 e.開(kāi)發(fā)系統(tǒng)供電指示燈 f.正確運(yùn)行指示燈 2.2.1 系統(tǒng)工作環(huán)境 ICETEK-5100PP開(kāi)發(fā)系統(tǒng)對(duì)主的硬件要求如下:ICETEK-5100PP采用并口與計(jì)算機(jī)相連接,在使用開(kāi)發(fā)系統(tǒng)之前需要
18、正確配置并行端口和開(kāi)發(fā)系統(tǒng)的相應(yīng)設(shè)置。一般的,臺(tái)式機(jī)并行端口有三種工作模式,分別是:SPP、EPP、ECP;而筆記本電腦則只支持其中的SPP和ECP兩種工作模式。ICETEK-5100PP可以再SPP和EPP模式下工作,所以要把計(jì)算機(jī)的并行端口配置為SPP或EPP模式。如果主機(jī)支持EPP工作模式,則推薦使用EPP模式。其中,修改并行端口工作模式需要在計(jì)算機(jī)的BIOS中操作。 2.2.2 安裝步驟 在使用ICETEK-5100PP系列開(kāi)發(fā)系統(tǒng)之前,需要先安裝開(kāi)發(fā)軟件,其安裝步驟如下: 1. 關(guān)閉計(jì)算機(jī)電源; 2. +5V電源與開(kāi)發(fā)系統(tǒng)的電源接口相接; 3. 仿真頭與目標(biāo)板相接;
19、 4. 打開(kāi)目標(biāo)板電源,這是開(kāi)發(fā)系統(tǒng)供電指示燈會(huì)亮; 5. 打開(kāi)計(jì)算機(jī); 注意:在安裝過(guò)程中,要在避免接通計(jì)算機(jī)電源和目標(biāo)板電源的情況下插播接口,否則會(huì)燒壞計(jì)算機(jī)并口或開(kāi)發(fā)系統(tǒng)。 2.3 系統(tǒng)板 本次設(shè)計(jì)中,我們將會(huì)選用ICETEK—VC5416-A作系統(tǒng)板,其實(shí)物圖如圖12所示: 圖12 ICETEK—VC5416-A實(shí)物圖 其中各接口具體如下: A. JTAG仿真插座,與ICETEK-5100PP開(kāi)發(fā)板的a接口相連; B. 四位設(shè)置撥碼開(kāi)關(guān); C. HPI設(shè)置跳線J1、J2; D. U320:四位撥動(dòng)開(kāi)關(guān)輸入; E. +5V電源插座; F. 電源
20、指示; G. 四位用戶可控指示燈:D3~D6; H. P3擴(kuò)展插座; I. PI擴(kuò)展插座; J. 標(biāo)準(zhǔn)RS232接口; K. 語(yǔ)音輸入輸出接口:MIC IN、LINE IN、HEDA PHONE、LINE OUT; L. P2擴(kuò)展插座; M. P4擴(kuò)展插座; N. 復(fù)位按鈕; DSP系統(tǒng)板ICETEK—VC5416-A的模數(shù)轉(zhuǎn)換模塊:精度為12bit,同相位最多采集路數(shù)為6,兩路工作時(shí),最高采集數(shù)率為450K/路,而6路工作時(shí),則是150K/路,信號(hào)輸入范圍為0~5V,而信號(hào)耦合方式既可以是直流也可以使交流; DSP系統(tǒng)板ICETEK—VC5416-A的數(shù)模轉(zhuǎn)換:精度為1
21、2bit,路數(shù)為4路,其交換數(shù)率為100K(10us),輸出范圍為0~5V; DSP系統(tǒng)板ICETEK—VC5416-A的周邊設(shè)計(jì):其主處理器是TMS320VC5416,內(nèi)部存儲(chǔ)空間為128K16bit,具有看門狗功能設(shè)計(jì)。它的上位機(jī)接口為RS232串行數(shù)據(jù)接口,即接口J,同時(shí)具有DSP擴(kuò)展總線。 2.4 硬件電路連接 1.將DSP開(kāi)發(fā)系統(tǒng)ICETEK-5100PP的JTAG仿真插座連接到實(shí)驗(yàn)系統(tǒng)的DSP模塊ICETEK—VC5416-A的JTAG上,如圖13所示: 計(jì)算機(jī) 開(kāi)發(fā)系統(tǒng)ICETEK-5100PP 系統(tǒng)板ICETEK—VC5416-A SPP/EPP/ECP JTA
22、G 圖13 硬件電路各部件連接說(shuō)明 2.系統(tǒng)上電后,將開(kāi)發(fā)系統(tǒng)ICETEK-5100PP與計(jì)算機(jī)相連; 3.雙擊桌面的SET UP CCS圖標(biāo),配置并啟動(dòng)CCS軟件; 3軟件編程實(shí)現(xiàn)分功能模塊寫,代碼&代碼功能說(shuō)明,以及代碼算法思想,和流程圖 為實(shí)現(xiàn)本設(shè)計(jì),需在MATLAB協(xié)助中進(jìn)行軟件仿真,仿真成功后,再通過(guò)CCS進(jìn)行硬件仿真、編譯并通過(guò)串口將程序下載到DSP芯片之中執(zhí)行。 3.1 軟件仿真實(shí)現(xiàn) 3.1.1 MATLAB簡(jiǎn)介 MATLAB是美國(guó)Mathworks公司于1984年正式推出的一套高性能的數(shù)值計(jì)算和可視 化軟件,適用于工程應(yīng)用各個(gè)領(lǐng)域的分析
23、設(shè)計(jì)和復(fù)雜計(jì)算,是一種功能性很強(qiáng)、效率高、便于進(jìn)行科學(xué)和工程計(jì)算的交互式軟件包,它集數(shù)值分析、矩陣運(yùn)算、信號(hào)處理和圖形顯示于一體,為用戶提供方便和友好的界面環(huán)境。 MATLAB中的工具箱中包含了很多使用程序,如數(shù)值分析、矩陣運(yùn)算、數(shù)字信號(hào)處理、建模和系統(tǒng)控制等。濾波器的設(shè)計(jì)就包含在該工具箱的Signal中,它提供了很多種FIR濾波器設(shè)計(jì)方法。 MATLAB因其語(yǔ)言簡(jiǎn)潔緊湊,使用方便靈活,庫(kù)函數(shù)極其豐富,又具有結(jié)構(gòu)化的控制語(yǔ)句(如for循環(huán),while循環(huán),break語(yǔ)句和if語(yǔ)句),又有面向?qū)ο缶幊痰奶匦?程序的可移植性很好,基本上不做修改就可以在各種型號(hào)的計(jì)算機(jī)和操作系統(tǒng)
24、上運(yùn)行,等等優(yōu)點(diǎn)。因此在各個(gè)學(xué)科和領(lǐng)域得到了廣泛的應(yīng)用。 3.1.2 數(shù)字濾波器在MATLAB的實(shí)現(xiàn) 其設(shè)計(jì)流程如圖14所示: 初始化 產(chǎn)生需要慮波信號(hào) 畫出原始信號(hào)頻譜圖 生成fir濾波器 進(jìn)行濾波 畫出濾波后信號(hào)頻譜圖 圖14 Matlab中設(shè)計(jì)流程圖 在Matlab中,可以利用矩形窗、三角窗、漢寧窗、漢明窗、布萊克曼窗、凱塞窗等設(shè)計(jì)FIR濾波器,在本次課程設(shè)計(jì)中主要應(yīng)用漢寧窗設(shè)計(jì)出FIR濾波器。利用Matlab中的函數(shù)freqz畫出各濾波器的頻率響應(yīng),首先利用數(shù)字信號(hào)處理里面學(xué)過(guò)的
25、知識(shí),根據(jù)自己選定的參數(shù),用漢寧窗函數(shù)法設(shè)計(jì)FIR數(shù)字濾波器,得到數(shù)字濾波器的參數(shù)b,a。其中b為系統(tǒng)函數(shù)的分子系數(shù),a為系統(tǒng)函數(shù)分母系數(shù)。再調(diào)用freqz(b,a,512,fs)即可得到該濾波器的頻率響應(yīng)。 主程序如下: fpd=1700;fsd=1750;fsu=1850;fpu=1900; % FIR濾波器的上下截止頻率 Rp=1;As=36; % 帶阻濾波器設(shè)計(jì)指標(biāo) fcd=(fpd+fsd)/2;fcu=(fpu+fsu)/2; df=min((fsd-fpd),(fpu-fsu)); % 計(jì)算上下邊帶中心頻率,和頻率間隔 wcd=fcd/fs*2*pi;
26、 wcu=fcu/fs*2*pi; dw=df/fs*2*pi; % 將Hz為單位的模擬頻率換算為rad為單位的數(shù)字頻率 wsd=fsd/fs*2*pi; wsu=fsu/fs*2*pi; M=ceil(6.2*pi/dw)+1; % 計(jì)算漢寧窗設(shè)計(jì)該濾波器時(shí)需要的階數(shù) n=0:M-1; % 定義時(shí)間范圍 w_ham=hanning(M); % 產(chǎn)生M階的漢寧窗 hd_bs=ideal_lp(wcd,M)+ideal_lp(pi,M)-ideal_lp(wcu,M); % 調(diào)用自編函數(shù)計(jì)算理想帶阻濾波器的脈沖響應(yīng) h_bs=w
27、_ham.*hd_bs; % 用窗口法計(jì)算實(shí)際濾波器脈沖響應(yīng) [db,mag,pha,grd,w]=freqz_m(h_bs,1); % 調(diào)用自編函數(shù)計(jì)算濾波器的頻率特性 阻帶最大衰減為-75dB,FIR濾波器的主瓣寬度很小,這樣可以使過(guò)渡帶很陡,旁瓣相對(duì)于主瓣也比較小。 3.2 硬件仿真實(shí)現(xiàn) 3.2.1 CCS簡(jiǎn)介 DSP芯片的開(kāi)發(fā)需要一套完整的軟、硬件開(kāi)發(fā)工具,可以分為代碼生成工具和代碼調(diào)試工具兩類.而CCS(CodeComPoserStudio)就是TI推出的用于開(kāi)發(fā)其DSP芯片的集成開(kāi)發(fā)環(huán)境,它采用Windows風(fēng)格界面,集編輯、編譯、鏈接軟件仿真、硬件調(diào)
28、試及實(shí)時(shí)跟蹤等功能于一體,極大的方便了DSP程序的設(shè)計(jì)與開(kāi)發(fā)。 CCS集成開(kāi)發(fā)環(huán)境中包含Simulator(軟件仿真器)和Emulator(硬件仿真器)兩部分。它們使用的是同一個(gè)集成開(kāi)發(fā)環(huán)境。在本設(shè)計(jì)中,采用軟件仿真器進(jìn)行程序的調(diào)試。 3.2.2 MATLAB與CCS的連接 MATLAB輔助DSP開(kāi)發(fā)實(shí)現(xiàn)的關(guān)鍵是建立MATLAB與DSP間的連接。以往一般是由開(kāi)發(fā)工具M(jìn)ATLAB把仿真結(jié)果先保存,再調(diào)入CCS中,在CCS中的仿真中間結(jié)果與MATLAB的仿真結(jié)果進(jìn)行比較,以此發(fā)現(xiàn)DSP程序的不足,這需要反復(fù)操作,比較麻煩。 MathWorkS公司和TI公司共同開(kāi)發(fā)的MATLABLin
29、kforCCS開(kāi)發(fā)工具(CCSLink),實(shí)現(xiàn)了在MATLAB,TICCS開(kāi)發(fā)環(huán)境和DSP硬件間的雙向連接,開(kāi)發(fā)者可以利用MATLAB強(qiáng)大的數(shù)據(jù)處理、分析、可視化功能來(lái)處理CCS和目標(biāo)DSP中的數(shù)據(jù),可以大大簡(jiǎn)化DSP軟件開(kāi)發(fā)的分析、調(diào)試和驗(yàn)證過(guò)程,縮短軟件開(kāi)發(fā)周期。MATLAB可通過(guò)3種方式與CCS、目標(biāo)DSI,進(jìn)行連接、數(shù)據(jù)交換。CCSLink提供了3種連接對(duì)象:與CCS的連接對(duì)象可從MATLAB命令窗運(yùn)行CCS中的應(yīng)用程序,向目標(biāo)DSP的存貯器、寄存器讀出/寫人數(shù)據(jù),檢查DSP狀態(tài),開(kāi)始/停止目標(biāo)DSP中運(yùn)行的程序。與RTDX(實(shí)時(shí)數(shù)據(jù)交換)的連接對(duì)象使MATLAB與目標(biāo)DSP直接通信,
30、MATLAB可以實(shí)時(shí)地向目標(biāo)DSP取出/發(fā)送數(shù)據(jù),并不停止DSP中正在執(zhí)行的程序。嵌入式對(duì)象在MATLAB環(huán)境中創(chuàng)建,該對(duì)象可代表嵌入在目標(biāo)C程序中的變量,由其可以直接對(duì)嵌入在目標(biāo)DSP存貯器/寄存器中的變量進(jìn)行操作。 3.2.3 數(shù)字濾波器在CCS中的實(shí)現(xiàn) 其設(shè)計(jì)流程如圖15所示: 圖15 DSP程序設(shè)計(jì)流程圖 3.1音頻文件生成 [y,fs,nbits]=wavread(dsp.wav); y=y(:,1); n=length(y); f=fs*(0:511)/1024; t=0:1/22050:(n-1)/22050; Au=0.3; d=[Au*cos(p
31、i*6000*t)]; %噪聲為6kHz的余弦信號(hào) x2=y+d; %加噪聲后的語(yǔ)音信號(hào) %sound(x2,fs); %播放加噪聲后的語(yǔ)音信號(hào) wavwrite(x2,input.wav); n2=length(x2); y1=fft(y,n); y2=fft(x2,1024); figure(1); subplot(2,1,1); plot(y); title(原始的信號(hào)波形); subplot(2,1,2); plot(x2); title(加噪后的信號(hào)波形); figure(2); plot(f
32、,abs(y2(1:512))); title(噪音信號(hào)頻譜); figure(3); subplot(2,1,1) plot(abs(y1));title(原始信號(hào)頻譜); subplot(2,1,2) plot(abs(x2)); title(加噪后信號(hào)頻譜); xout=x2/max(x2);% 歸一化? xto_ccs=round(32767*xout) ; %clear playsnd; fid=fopen(dspindata.dat,w);% 打開(kāi)文件 fprintf(fid,1651 1 0 0 0\n);% 輸出文件頭 fprintf(fi
33、d,%d\n,xto_ccs);% 輸出 fclose(fid); 用Malab生成混入雜聲后的音頻文件 3.2音頻數(shù)據(jù)讀入: STM #temp,AR1 ;temp存輸入左聲道樣本 STM #temp+1,AR2 ;temp+1存輸入右聲道樣本 LDM DRR10,A STL A,*AR1 ;AR1存左聲道,AR2存右聲道 LDM DRR20,A STL A,*AR2 分左右聲道分別讀入音頻樣本數(shù)據(jù),放入寄存器,等待進(jìn)行處理 3.3判斷是否進(jìn)入FIR處理的分支: STM #Echo,AR4 ;是否
34、FIR處理的分支 CMPM *AR4,#1 BC FIR,TC B NOFIR 根據(jù)寄存器數(shù)據(jù)內(nèi)容,判斷是否進(jìn)入FIR處理的分支 3.4FIR處理分支內(nèi)容(核心部分) FIR: SSBX FRCT STM #temp,AR1 ;temp存輸入左聲道樣本 LD *AR1,A ; STM #buffer+1,AR3 ; STL A,*AR3 ;將最新樣本存入fx[1],fx[0]保留空間,存FIR后的輸出暫存 STM #buffer+25,AR2 ;將AR2指針指向最高位(最老數(shù)據(jù)) RPTZ A
35、,#24 ;24 MACD *AR2-,COEF,A STH A,*AR2 ;把FIR后的數(shù)據(jù)放在fx[0] RSBX FRCT LD *AR2,A STLM A,DXR10 ;把FIR后的數(shù)據(jù)輸出語(yǔ)音端口 NOP STLM A,DXR20 ;這里兩個(gè)聲道一起輸出同一個(gè)數(shù)據(jù) RSBX FRCT NOP B L1 把讀入的聲音樣本數(shù)據(jù)在芯片內(nèi)進(jìn)行FIR處理 4結(jié)果分析 4.1 軟件仿真運(yùn)行結(jié)果及分析 為了更好的實(shí)現(xiàn)語(yǔ)音信號(hào)的濾波處理,我們?cè)贛ATLAB上進(jìn)行軟件仿真。在MATLAB中模擬語(yǔ)音濾波器的
36、功能,將語(yǔ)音信號(hào)中的高頻噪聲去除,還原歌曲音頻。 圖16 濾波器頻率響應(yīng)圖 4.2 硬件仿真運(yùn)行結(jié)果及分析 未經(jīng)濾波的混有噪聲的音頻頻域波形和經(jīng)過(guò)CCS濾波后還原的歌曲音頻的時(shí)域和頻域波形分別如圖: 圖17 濾波前的音頻時(shí)域波形圖 圖18 濾波后的音頻時(shí)域波形圖 圖19 濾波前的音頻頻域波形圖 圖20 濾波后的音頻頻域域波形圖 比較硬件仿真后得到的還原音頻和MATLAB軟件仿真得到的還原音頻,可得經(jīng)CCS硬件仿真后的還原的音頻不及MATLAB中的還原的音頻與原來(lái)的相近,這是因?yàn)閿?shù)字濾波器的性能主要取決于乘法器的各
37、系數(shù),而這些洗漱在MATLAB上仿真的時(shí)候是沒(méi)有經(jīng)過(guò)處理的真實(shí)數(shù)據(jù),因此在MATLAB上仿真是理想的仿真,因而效果比較好。而在CCS上的各個(gè)系數(shù)是經(jīng)過(guò)量化處理的,因此系數(shù)和原始系數(shù)比較會(huì)有變化,令在CCS中仿真濾波的結(jié)果不如MATLAB中的好,但是并不影響它的正確性。 5問(wèn)題,調(diào)試 1.用CCS3.3進(jìn)行硬件仿真時(shí),無(wú)法打開(kāi)仿真軟件,判斷為軟硬件不兼容,改用CCS2.3實(shí)現(xiàn),問(wèn)題解決。 2.繪制出濾波后的波形,發(fā)現(xiàn)FIR濾波器沒(méi)有濾掉單頻噪聲。通過(guò)自己的仔細(xì)檢查,是單頻噪聲的頻率改動(dòng)后,F(xiàn)IR濾波器的頻率沒(méi)有改動(dòng)。所以單頻噪聲的頻率也應(yīng)該自己先定義,F(xiàn)IR濾波器的截止頻率應(yīng)該以單頻噪
38、聲的頻率為中心,這樣重新運(yùn)行后,結(jié)果正確。 3.采集的語(yǔ)音信號(hào)中高頻噪音不很明顯,使得最后不能較好的觀察到濾波器的性能。解決的方法是:利用matlab產(chǎn)生一個(gè)6khz的高頻信號(hào)與原來(lái)的語(yǔ)音信號(hào)相加,這時(shí)可以明顯的聽(tīng)到語(yǔ)音信號(hào)中同時(shí)伴隨著刺耳的高頻噪音。 4.在選擇濾波器的參數(shù)時(shí),對(duì)具體的音頻信息沒(méi)有整體的了解,使得最后FIR濾波器不能達(dá)到很好的濾波效果。解決的方法是,首先對(duì)音頻信息進(jìn)行采集,加上高頻噪聲后,再整體的觀察語(yǔ)音信號(hào)的波形、頻譜,對(duì)高頻段進(jìn)行分析,設(shè)計(jì)滿足要求的濾波器。 5.在ccs調(diào)試過(guò)程中,導(dǎo)入indata.dat文件沒(méi)有完全體現(xiàn)在波形圖和頻譜圖上。解決的方法是,經(jīng)過(guò)仔細(xì)的
39、推敲,原因是導(dǎo)入時(shí)沒(méi)有正確的設(shè)定數(shù)據(jù)的起始地址,再重新設(shè)定地址為0x00E5和長(zhǎng)度為256后,正確的顯示出了對(duì)應(yīng)的波形圖和頻譜圖。 6.在編寫ccs程序時(shí),沒(méi)有正確的設(shè)定緩沖區(qū)長(zhǎng)度,引起了對(duì)濾波器性能的誤判斷。解決方法是,重新設(shè)定緩沖區(qū)的長(zhǎng)度為40。 6 設(shè)計(jì)改進(jìn) FIR數(shù)字濾波器的設(shè)計(jì)有多種方法:有窗函數(shù)法,頻率采樣法,切比雪夫逼近法等。其中,窗函數(shù)不僅有截?cái)嘧饔?,而且能夠起到平滑的功能。加窗雖然會(huì)使原信號(hào)時(shí)域波形發(fā)生較大變化,但卻更有效地保留了原信號(hào)的頻率信息,在很多領(lǐng)域得到了應(yīng)用。對(duì)不同類型的信號(hào),因?yàn)橛刹煌拇昂瘮?shù)實(shí)現(xiàn)的FIR濾波器其性能不同,因此在截?cái)嗵幚碇胁煌臑V波器
40、所用的窗函數(shù)也不相同。在各種窗函數(shù)中,三角窗阻帶最小衰減最小,其次是漢寧窗,再次是哈明窗,布萊克曼窗阻帶最小衰減最大。主瓣寬度方面,三角形窗,漢寧窗以及哈明窗一樣,布萊克曼窗比以三種的主瓣要寬,表現(xiàn)在用布萊克曼窗的濾波器的過(guò)渡帶比用其他三種窗函數(shù)的要寬。主瓣高度與第一旁瓣高度的差值方面,三角窗高度差最小,其次是漢寧窗,再次是哈明窗,Blackman窗高度差最大。旁瓣衰減的速率,三角形窗和哈明窗比較緩慢,漢寧窗相對(duì)前麗種要快,布萊克曼窗很快。旁瓣幅度漢寧窗和哈明窗較大,三角形窗和布萊克曼窗較小。所設(shè)計(jì)的FIR數(shù)字濾波器的階數(shù)N不同,所得到的濾波器的過(guò)渡帶會(huì)不一樣,N越小,過(guò)渡帶越寬。而對(duì)于同一種
41、窗,N的值越大主瓣寬度越小,相應(yīng)地,濾波器的過(guò)渡帶就越窄,主瓣高度與第一旁瓣高度的差值方面基本不變 而旁瓣的個(gè)數(shù)越來(lái)越多,但旁瓣的寬度隨著N的加大而減小。 因?yàn)閔amming窗的FIR濾波器使99.963%的能量集中在主瓣內(nèi),旁瓣峰值小于主瓣峰值的1%,是各種窗函數(shù)中性能較好的一種,因此它被廣泛應(yīng)用。而在四種窗函數(shù)中,因?yàn)椴既R克曼窗的旁瓣峰值最低為一57db可以充分抑制干擾頻譜的旁瓣泄露,所以它的干擾抑制性能最為穩(wěn)定。 針對(duì)采用不同的窗函數(shù)所造成的頻譜泄露問(wèn)題,則要采用采用hamming窗,因?yàn)樗蓪?9.99%的能量集中在窗譜的主瓣內(nèi),有效地消除頻譜泄漏,并能在一定程度上減少柵欄效應(yīng)。
42、7 課程設(shè)計(jì)心得 在本次課程設(shè)計(jì)的過(guò)程中,雖然遇到很多問(wèn)題,讓組內(nèi)成員一度灰心喪氣,但經(jīng)過(guò)組內(nèi)各成員同心協(xié)力的查找問(wèn)題,翻閱資料以及討論解決方案后,成功的完成了課程設(shè)計(jì)的內(nèi)容。此過(guò)程中,我們不但能夠?qū)⒄n堂上學(xué)到的知識(shí)加以運(yùn)用,通過(guò)實(shí)際應(yīng)用掌握DSP的操作以及原理。同時(shí),也培養(yǎng)了我們克服困難戰(zhàn)勝困難的能力,讓我們懂得了團(tuán)隊(duì)合作的重要性,學(xué)會(huì)根據(jù)組內(nèi)每個(gè)成員自己的特點(diǎn)以及長(zhǎng)處不同,針對(duì)每個(gè)成員對(duì)該設(shè)計(jì)的完成在不同方面的獨(dú)特作用,充分地了解各成員特性,更好的發(fā)揮團(tuán)隊(duì)的作用,最大化的提升團(tuán)隊(duì)的人員配置,對(duì)更好的完成該設(shè)計(jì)有著不可忽視的作用。 另外,此次設(shè)計(jì)的過(guò)程中,除了增加了對(duì)濾波器的設(shè)
43、計(jì)、實(shí)現(xiàn)的認(rèn)識(shí)外,還增加了對(duì)MATLAB和CCS的認(rèn)識(shí)和了解,MATLAB具有強(qiáng)大的數(shù)值計(jì)算和圖形功能,雖然其執(zhí)行效率較低,但其編程效率與可讀性、可移植性要遠(yuǎn)高于其他高級(jí)語(yǔ)言。它集數(shù)值分析、矩陣運(yùn)算、信號(hào)處理和圖形顯示于一體,構(gòu)成了一個(gè)界面友好的用戶環(huán)境,是一個(gè)非常優(yōu)秀的算法研究與輔助設(shè)計(jì)的工具。運(yùn)用它來(lái)進(jìn)行輔助設(shè)計(jì),在系統(tǒng)的準(zhǔn)確性和高效率方面起到了至關(guān)重要的作用。而CCS加速和增強(qiáng)了實(shí)時(shí),嵌入信號(hào)處理的開(kāi)發(fā)過(guò)程,它提供配置、構(gòu)造、調(diào)試、跟蹤和分析程序的工具,在基本代碼產(chǎn)生工具的基礎(chǔ)上增加了調(diào)試和實(shí)時(shí)分析的功能。開(kāi)發(fā)設(shè)計(jì)人員可在不中斷程序運(yùn)行的情況下檢查算法的對(duì)錯(cuò),實(shí)現(xiàn)對(duì)硬件的實(shí)時(shí)跟蹤調(diào)試,從
44、而大大縮減了程序的開(kāi)發(fā)時(shí)間。另外,也學(xué)會(huì)了利用CCSLINL命令在MATLAB 和CCS之間進(jìn)行通信,提高操作的方便度和速度。 附錄 主函數(shù): .title "FIR.ASM" .mmregs .def start .def rxData levelN .set 25 buffer .usect "buffer",levelN+2 ;25級(jí)數(shù)組空間,有1個(gè)是保留空間 IN .usect "IN",8192 ;輸入的數(shù)據(jù)保存區(qū) OUT .usect "OU
45、T",8192 ;輸出的數(shù)據(jù)保存區(qū) STACK .usect "stack",400h ;堆棧的長(zhǎng)度 .bss kong,2 .bss Echo,1 .bss ncount,1 .bss temp,5 .bss temp1,1 .bss temp2,5 ;*************************************************** ;* 系統(tǒng)變量定義 * ;**************************
46、************************* CPU_SPEED_160M .set 9007h LEFT_PTRq .set 4000h RIGHT_PTR .set 8000h FLAG .set 0060h DataBuffSize .set 8192 DELAYTIME .set 0 ;6134 ;*************************************************** ;* mcBSP變量預(yù)定義 * ;*****************
47、********************************** SPSA0 .set 38h SPSD0 .set 39h SPSA1 .set 48h SPSD1 .set 49h SPCR1 .set 00h SPCR2 .set 01h RCR1 .set 02h RCR2 .set 03h XCR1 .set 04h XCR2 .set 05h SRGR1 .set 06h SRGR2 .set 07h MCR1 .set 08h MCR2 .set 09h RCERA .set 0ah RCERB .set 0
48、bh XCERA .set 0ch XCERB .set 0dh PCR .set 0eh RCERC .set 10h RCERD .set 11h XCERC .set 12h XCERD .set 13h RCERE .set 14h RCERF .set 15h XCERE .set 16h XCERF .set 17h RCERG .set 18h RCERH .set 19h XCERG .set 1ah XCERH .set 1bh DRR20 .set 20h DRR10 .set 21h DXR20
49、 .set 22h DXR10 .set 23h DRR21 .set 40h DRR11 .set 41h DXR21 .set 42h DXR11 .set 43h ;*************************************************** ;* 語(yǔ)音AIC23的參數(shù)預(yù)定義 * ;*************************************************** AIC23_RESET_REG .set 0fh AIC23_P
50、OWER_DOWN_CTL .set 06h AIC23_ANALOG_AUDIO_CTL .set 04h ANAPCTL_DAC .set 10h AIC23_DIGITAL_AUDIO_CTL .set 05h AIC23_LT_LINE_CTL .set 00h AIC23_RT_LINE_CTL .set 01h AIC23_DIGITAL_IF_FORMAT .set 07h DIGIF_FMT_LRP .set 10h DIGIF_FMT_MS .set 40h DIGIF_FMT_IWL_16 .set 00h DI
51、GIF_FMT_FOR_DSP .set 03h AIC23_SAMPLE_RATE_CTL .set 08h SRC_SR_08 .set 0ch AIC23_DIG_IF_ACTIVATE .set 09h DIGIFACT_ACT .set 01h SRC_BOSR .set 02h SRC_MO .set 01h HECHENGDIGIF .set DIGIF_FMT_LRP|DIGIF_FMT_MS|DIGIF_FMT_IWL_16|DIGIF_FMT_FOR_DSP ;************************
52、*************************** ;* FIR濾波器的系數(shù) * ;*************************************************** .data COEF: .word 20*32768/10000, 16*32768/10000 ;b24,b23 .word 0*32768/10000, -44*32768/10000 ;b22,b21 .word -117*32768/10000, -181*32768/10000 ;b20,b19 .
53、word -168*32768/10000, 0*32768/10000 ;b18,b17 .word 359*32768/10000,870*32768/10000 ;b16,b15 .word 1415*32768/10000, 1835*32768/10000 ;b14,b13 .word 1992*32768/10000, 1835*32768/10000 ;b12,b11 .word 1415*32768/10000, 870*32768/10000 ;b10,b9 .word 359*32
54、768/10000, 0*32768/10000 ;b8,b7 .word -168*32768/10000, -181*32768/10000 ;b6,b5 .word -117*32768/10000, -44*32768/10000 ;b4,b3 .word 0*32768/10000, 16*32768/10000 ;b2,b1 .word 20*32768/10000 ;b0 ;*************************************************** ;* 主程序
55、 * ;*************************************************** .text start: STM #STACK+400h,SP ;設(shè)置堆棧 STM #temp,AR1 ;向3005h的IO端口寫1 ST #1,*AR1 PORTW *AR1,3005h STM #0,CLKMD ;初始化頻率 RPT #50 NOP STM #CPU_SPEED_160M,CLKMD RPT #50
56、 NOP ;********************************************************** STM #SPCR1,SPSA1 ;mcBSP1的初始化 STM #0,SPSD1 STM #SPCR2,SPSA1 STM #0,SPSD1 STM #SPCR1,SPSA1 STM #1800h,SPSD1 STM #RCR1,SPSA1 STM #040h,SPSD1 STM #XCR1,SPSA1 STM #040h,SPSD1
57、 STM #SRGR2,SPSA1 STM #2000h,SPSD1 STM #SRGR1,SPSA1 STM #0FFh,SPSD1 STM #XCR2,SPSA1 STM #0,SPSD1 STM #RCR2,SPSA1 STM #0,SPSD1 STM #PCR,SPSA1 STM #0A08h,SPSD1 STM #SPCR2,SPSA1 ORM #40h,SPSD1 RPT 100 NOP STM #SPCR1,SPSA1
58、 ORM #01h,SPSD1 STM #SPCR2,SPSA1 ORM #01h,SPSD1 RPT 100 NOP ;******************************************************************* STM #temp,AR1 ;AIC23初始化AIC23_Write(AIC23_RESET_REG, 0); ST #AIC23_RESET_REG,*AR1 STM #temp+1,AR2 ST #0,*AR2 LD *AR
59、1,9,A ADD *AR2,A STL A,*AR1 STM #SPCR2,SPSA1 Testma1: ;MVKD SPSD1,*AR2 LDM SPSD1,A STL A,*AR2 BITF *AR2,#02h BC SendReady1,TC B Testma1 SendReady1: ;MVKM,*AR1,DXR11; LD *AR1,A STLM A,DXR11; STM #temp,AR1 ;AIC23_Write(AIC23_POWER_DOWN_
60、CTL, 0); ST #AIC23_POWER_DOWN_CTL,*AR1 STM #temp+1,AR2 ST #0,*AR2 LD *AR1,9,A ADD *AR2,A STL A,*AR1 STM #SPCR2,SPSA1 Testma2: ;MVMD SPSD1,*AR2 LDM SPSD1,A STL A,*AR2 BITF *AR2,#02h BC SendReady2,TC B Testma2 SendReady2: ;MVDM,*AR1,DXR1
61、1; LD *AR1,A STLM A,DXR11; STM #temp,AR1 ; AIC23_Write(AIC23_ANALOG_AUDIO_CTL, ANAPCTL_DAC ); ST #AIC23_ANALOG_AUDIO_CTL,*AR1 STM #temp+1,AR2 ST #ANAPCTL_DAC,*AR2 LD *AR1,9,A ADD *AR2,A STL A,*AR1 STM #SPCR2,SPSA1 Testma3: ;MVMD SPSD1,*AR
62、2 LDM SPSD1,A STL A,*AR2 BITF *AR2,#02h BC SendReady3,TC B Testma3 SendReady3: ;MVDM,*AR1,DXR11; LD *AR1,A STLM A,DXR11; STM #temp,AR1 ; AIC23_Write(AIC23_DIGITAL_AUDIO_CTL, 0); ST #AIC23_DIGITAL_AUDIO_CTL,*AR1 STM #temp+1,AR2 ST #0,*AR2
63、LD *AR1,9,A ADD *AR2,A STL A,*AR1 STM #SPCR2,SPSA1 Testma4: ;MVMD SPSD1,*AR2 LDM SPSD1,A STL A,*AR2 BITF *AR2,#02h BC SendReady4,TC B Testma4 SendReady4: ;MVDM,*AR1,DXR11; LD *AR1,A STLM A,DXR11; STM #temp,AR1 ;AIC23_Write(AIC23_LT
64、_LINE_CTL, 0x17); ST #AIC23_LT_LINE_CTL,*AR1 STM #temp+1,AR2 ST #017h,*AR2 LD *AR1,9,A ADD *AR2,A STL A,*AR1 STM #SPCR2,SPSA1 Testma5: ;MVMD SPSD1,*AR2 LDM SPSD1,A STL A,*AR2 BITF *AR2,#02h BC SendReady5,TC B Testma5 SendReady5: ;MVDM,*
65、AR1,DXR11; LD *AR1,A STLM A,DXR11; STM #temp,AR1 ; AIC23_Write(AIC23_RT_LINE_CTL,0x17); ST #AIC23_RT_LINE_CTL,*AR1 STM #temp+1,AR2 ST #017h,*AR2 LD *AR1,9,A ADD *AR2,A STL A,*AR1 STM #SPCR2,SPSA1 Testma6: ;MVMD SPSD1,*AR2 LDM SPSD1,A ST
66、L A,*AR2 BITF *AR2,#02h BC SendReady6,TC B Testma6 SendReady6: ;MVDM,*AR1,DXR11; LD *AR1,A STLM A,DXR11; STM #temp,AR1 ; ST #AIC23_DIGITAL_IF_FORMAT,*AR1 STM #temp+1,AR2 ST #HECHENGDIGIF,*AR2 LD *AR1,9,A ADD *AR2,A STL A,*AR1 STM #SPCR2,SPSA1 Testma7: ;MVMD SPSD1,*AR2 LDM SPSD1,A STL A,*AR2 BITF *AR2,#02h BC SendReady7,TC B Testma7 SendReady7: ;MVDM,*AR1,DXR11; LD
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 精美實(shí)用框架完整的年終總結(jié)工作匯報(bào)新年計(jì)劃
- 英語(yǔ)滬教版小學(xué)六年級(jí)下冊(cè)Module4Unit12Thefivepeas優(yōu)質(zhì)課ppt課件
- 四年級(jí)上冊(cè)書法ppt課件-第14課-弓字旁-西泠印社版
- 腦卒中患者良肢位的擺放
- 九年級(jí)語(yǔ)文上學(xué)期期中測(cè)試(含第三單元)課件 語(yǔ)文版 (23)
- 第1講Java概覽
- 護(hù)理質(zhì)量匯報(bào)一季度
- 2020年鼠年公司年會(huì)PPT模板課件
- 六年級(jí)語(yǔ)文下冊(cè)《古詩(shī)詞背誦》課件-課件
- 二年級(jí)語(yǔ)文下冊(cè)《開(kāi)滿鮮花的小路》教學(xué)課件-部編版
- C語(yǔ)言課件二維數(shù)組
- 精神科病歷書寫及存在問(wèn)題解答課件
- 銷售管家終端數(shù)據(jù)采集方案課件
- 無(wú)創(chuàng)呼吸機(jī)課件
- 安全使用食品添加劑-說(shuō)課課件