基于DSP的音頻信號(hào)處理的濾波分析_第1頁
基于DSP的音頻信號(hào)處理的濾波分析_第2頁
基于DSP的音頻信號(hào)處理的濾波分析_第3頁
基于DSP的音頻信號(hào)處理的濾波分析_第4頁
基于DSP的音頻信號(hào)處理的濾波分析_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、華南師范大學(xué)DSP原理與應(yīng)用技術(shù)課程設(shè)計(jì)課程名稱: DSP原理與應(yīng)用技術(shù) 課程題目: 基于DSP的音頻信號(hào)處理的濾波分析 指導(dǎo)老師: 專業(yè)班級(jí): 2015級(jí) 電路與系統(tǒng) 姓 名: 學(xué) 號(hào): 20150 2016年7月20日基于DSP的音頻信號(hào)處理的濾波分析摘要:數(shù)字處理器(DSP)有很強(qiáng)的數(shù)據(jù)處理能力,它在高速數(shù)字信號(hào)處理領(lǐng)域有廣泛的應(yīng)用,例如數(shù)字濾波、音頻處理、圖像處理等。相對(duì)于模擬濾波器,數(shù)字濾波器沒有漂移,能夠處理低頻信號(hào),頻率響應(yīng)特性可做成非常接近于理想的特性,且精度可以達(dá)到很高,容易集成等1。使用可編程的DSP芯片實(shí)現(xiàn)數(shù)字濾波可以通過修改濾波器的參數(shù)十分方便地改變?yōu)V波器的特性2,本設(shè)

2、計(jì)是利用DSP芯片TMS320VC5409的實(shí)驗(yàn)室開發(fā)板設(shè)計(jì)實(shí)現(xiàn)高階FIR帶通數(shù)字濾波器。本設(shè)計(jì)利用了matlab的fdatool工具箱產(chǎn)生FIR濾波器的參數(shù),matlab的fdatool工具提供了一個(gè)很強(qiáng)大且十分便捷的方式去獲得FIR濾波器的的C程序頭文件。關(guān)鍵詞:DSP TMS320VC5409 高階FIR帶通數(shù)字濾波器 fdatool工具箱AbstractDigital processor (DSP) has a strong ability of data processing, it has extensive application in the field of high spe

3、ed digital signal processing, such as digital filter, audio processing, image processing, etc. Compared with analog filters, digital filter without drift, able to handle low frequency signal, the frequency response can be made very close to the ideal characteristics, and can reach high precision, ea

4、sy integration, etc. Using programmable DSP chip to realize digital filtering by modifying the parameters of filter is very convenient to change the filter characteristics, this design is the use of DSP chip TMS320VC5409 laboratory development board design realization of FIR bandpass digital filter.

5、Fdatool book design using the matlab toolbox to produce the parameters of FIR filter, the matlab fdatool toolkit provides a very powerful and convenient way to gain the FIR filter C program header files.Keywords: DSP TMS320VC5409 A high order bandpass FIR digital filter Fdatool toolkit目 錄第一章 緒論51.1設(shè)

6、計(jì)背景51.2設(shè)計(jì)目的61.3主要設(shè)計(jì)內(nèi)容6第二章 系統(tǒng)開發(fā)平臺(tái)與環(huán)境72.1 CCS開發(fā)環(huán)境72.1.1 CCS概述72.1.2 CCS集成開發(fā)環(huán)境82.2 本設(shè)計(jì)的系統(tǒng)的構(gòu)成92.2.1采用的開發(fā)平臺(tái)介紹92.2.2本系統(tǒng)的特點(diǎn)及設(shè)計(jì)過程112.3 用Matlab的FDATool生成FIR濾波器參數(shù)122.3.1 FDATool的介紹122.3.2 FDATool簡(jiǎn)要設(shè)計(jì)流程13第三章FIR濾波器的設(shè)計(jì)143.1FIR濾波器的基本理論143.1.1FIR濾波器的特點(diǎn)143.1.2FIR濾波器的基本結(jié)構(gòu)153.2 FIR濾波器設(shè)計(jì)總框圖16第四章系統(tǒng)軟件設(shè)計(jì)174.1 程序流程圖174.2程

7、序源代碼184.3程序調(diào)試19第五章系統(tǒng)功能驗(yàn)證22第六章設(shè)計(jì)總結(jié)24參考文獻(xiàn)25第一章 緒論1.1設(shè)計(jì)背景隨著信息時(shí)代和數(shù)字世界的到來,數(shù)字信號(hào)處理已成為如今一門極其重要的學(xué)科和技術(shù)領(lǐng)域。數(shù)字信號(hào)處理在通信、語音、圖像、自動(dòng)控制、雷達(dá)、軍事、航空航天、醫(yī)療和家用電器等眾多領(lǐng)域得到了廣泛的應(yīng)用。數(shù)字信號(hào)處理(DSP)包括兩重含義:數(shù)字信號(hào)處理技術(shù)(Digital Signal Processing)和數(shù)字信號(hào)處理器(Digital Signal Processor)。數(shù)字信號(hào)處理(DSP)是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)值計(jì)算的方法、對(duì)信號(hào)進(jìn)行采集、濾波、增強(qiáng)、壓縮、估值和識(shí)別等加工處理,借以

8、達(dá)到提取信息和便于應(yīng)用的目的,其應(yīng)用范圍涉及幾乎所有的工程技術(shù)領(lǐng)域3。在信號(hào)處理中,濾波就顯得非常重要。在數(shù)字信號(hào)處理過程中,經(jīng)常需對(duì)信號(hào)進(jìn)行過濾、檢測(cè)、預(yù)測(cè)等處理,這些任務(wù)的完成都要用到濾波器。數(shù)字濾波器是數(shù)字信號(hào)處理的基本方法。根據(jù)其單位沖激響應(yīng)函數(shù)的時(shí)域特性可分為兩類:無限沖激響應(yīng)( IIR)濾波器和有限沖激響應(yīng)(FIR)濾波器。FIR 濾波器是有限長(zhǎng)單位沖激響應(yīng)濾波器,在結(jié)構(gòu)上是非遞歸型的。它可以在幅度特性隨意設(shè)計(jì)的同時(shí),保證精確嚴(yán)格的線性相位。所以FIR 數(shù)字濾波器廣泛地應(yīng)用于數(shù)字信號(hào)處理領(lǐng)域。數(shù)字處理器(DSP)有很強(qiáng)的數(shù)據(jù)處理能力,它在高速數(shù)字信號(hào)處理領(lǐng)域有廣泛的應(yīng)用,例如數(shù)字濾

9、波、音頻處理、圖像處理等。相對(duì)于模擬濾波器,數(shù)字濾波器沒有漂移,能夠處理低頻信號(hào),頻率響應(yīng)特性可做成非常接近于理想的特性,且精度可以達(dá)到很高,容易集成等4。使用可編程的DSP芯片實(shí)現(xiàn)數(shù)字濾波可以通過修改濾波器的參數(shù)十分方便地改變?yōu)V波器的特性,下面主要說明利用型號(hào)為TMS320VC5409 的DSP芯片為基礎(chǔ)的實(shí)驗(yàn)板設(shè)計(jì)實(shí)現(xiàn)FIR數(shù)字濾波器。1.2設(shè)計(jì)目的用可編程DSP芯片實(shí)現(xiàn)數(shù)字濾波可通過修改濾波器的參數(shù)十分方便地改變?yōu)V波器的特性。因此,我們有必要對(duì)濾波器的設(shè)計(jì)方法進(jìn)行研究,理解其工作原理,優(yōu)化設(shè)計(jì)方法,設(shè)計(jì)開發(fā)穩(wěn)定性好的濾波器系統(tǒng)。我們將通過DSP設(shè)計(jì)平臺(tái),實(shí)現(xiàn)較為重要的FIR濾波器系統(tǒng)。從

10、而通過本課題的研究,掌握濾波器的設(shè)計(jì)技術(shù),為通信、信號(hào)處理等領(lǐng)域?qū)嵱没瘮?shù)字濾波器設(shè)計(jì)提供技術(shù)準(zhǔn)備。本科題的研究,將為今后設(shè)計(jì)以DSP為核心部件的嵌入式系統(tǒng)集成提供技術(shù)準(zhǔn)備,這不僅具有重要的理論意義,同時(shí)還具有重要的實(shí)際意義5。同時(shí)本設(shè)計(jì)還結(jié)合了matlab的fdatool工具去設(shè)計(jì)生產(chǎn)FIR濾波器的參數(shù),可以很好的實(shí)現(xiàn)音頻信號(hào)的濾波,即可以很好達(dá)到實(shí)驗(yàn)設(shè)計(jì)要求。FIR 濾波器可以設(shè)計(jì)為線性相位,并且總是穩(wěn)定的。在多數(shù)情況下,F(xiàn)IR濾波器的階數(shù)通常為高階的,這時(shí)直接計(jì)算濾波器的參數(shù)變的非常困難,這時(shí)利用matlab可以非常方便的計(jì)算出要設(shè)計(jì)的FIR濾波器6。1.3主要設(shè)計(jì)內(nèi)容本課題是基于TI公司

11、近年推出的高性能定點(diǎn)DSPTMS320VC5409設(shè)計(jì)濾波器系統(tǒng),如:有限沖擊響應(yīng)濾波器(FIR)。本次課題的主要任務(wù),就是掌握DSP芯片開發(fā)技術(shù),完成如下工作:1、用窗函數(shù)法實(shí)現(xiàn)高階帶通FIR濾波器,以便濾除帶噪聲的音頻信號(hào)中的噪聲;2、用時(shí)間抽取法實(shí)現(xiàn)FFT/IFFT算法,通過此算法,對(duì)信號(hào)進(jìn)行頻域分析、頻域處理;3、研究DSP的結(jié)構(gòu)特點(diǎn),了解TI公司的TMS320VC5409 DSP器件,掌握DSP系統(tǒng)的構(gòu)成及軟硬件設(shè)計(jì)方法和CCS軟件的調(diào)試方法;并以TI公司的TMS320VC5409 DSP為核心處理器的實(shí)驗(yàn)套件上實(shí)現(xiàn)FIR濾波器系統(tǒng)。第二章 系統(tǒng)開發(fā)平臺(tái)與環(huán)境2.1 CCS開發(fā)環(huán)境本

12、節(jié)將介紹CCSCodeComposerStudio的基本開發(fā)環(huán)境、軟件開發(fā)過程、CCS組件。CCS提供了配置、建立、調(diào)試、跟蹤和分析程序的工具,它便于實(shí)時(shí)、嵌入式信號(hào)處理程序的編制和測(cè)試,能夠加速開發(fā)進(jìn)程,提高工作效率。2.1.1 CCS概述CCS全稱是CodeComposerStudio它提供了基本的代碼生成工具,具有一定的調(diào)試、分析能力,在CCS下的程序開發(fā)過程如圖2.1示:圖2.1程序開發(fā)過程CCS包括:1、CCS代碼生成工具2、CCS集成開發(fā)環(huán)境IDE3、DSP/BIOS插件程序和APIRTDX插件,主機(jī)接口和API等。2.1.2 CCS集成開發(fā)環(huán)境調(diào)試DSP目標(biāo)程序,它主要由幾個(gè)主要

13、的窗口組成:工程組顯示窗口、程序內(nèi)容顯示窗口、編輯信息提示窗口和主要工具欄。另外,在編輯過程中 還可以顯示諸如存儲(chǔ)器觀察窗口、變量監(jiān)視框、圖形顯示框等調(diào)試界面,他們?yōu)槌绦蚓帉懻{(diào)試提供多種手段為軟件開發(fā)提供了極大的方便7。圖 2.2就是基本編輯界面。在利用CCS編程的過程中,不可避免的要遇到如何將程序變量分配到內(nèi)存中去的問題。因?yàn)?,即使DSP的存儲(chǔ)空間比較大,速度也十分快,但是如果內(nèi)存空間分配不當(dāng)?shù)脑?,還是會(huì)出現(xiàn)空間不夠行速度下降,甚至程序跑飛的情況,這樣會(huì)時(shí)程序調(diào)試起來十分麻煩。所以,一定要分配好內(nèi)存空間CCS提供了兩種分配空間的方法:利用cmd文件或rcp文件分配空間,其中cmd文件是純文本

14、格式的描述性的空間分配方式,它的優(yōu)點(diǎn)是程序員對(duì)空間的可控制性較高,可以將不同的塊分配到指定的地址,并規(guī)定長(zhǎng)度。但它對(duì)于初學(xué)者來說,要求對(duì)C5410的內(nèi)存空間的分配有較清楚的認(rèn)識(shí),否則容易將數(shù)據(jù)分配到不該分配的地方,引起程序運(yùn)行的沖突,甚至程序跑飛。所以,一般在編程過程中,使用rcp文件對(duì)程序進(jìn)行內(nèi)存分rcp文件全稱是recipe文件,這是一種圖形化界面的內(nèi)存分配文件。對(duì)于一個(gè)新生成的工程組rcp文件的生成方法是:選擇CCS菜單上的Tools項(xiàng),選擇linkerconfiguration項(xiàng),將分配方式改為usethevisuallinker之后直接編譯,編譯信息提示窗口中會(huì)顯示出錯(cuò)信息,提示找不

15、到rcp文件,雙擊提示CCS會(huì)自動(dòng)彈出rcp生成向?qū)?,按照要求選擇rcp模板,就會(huì)生成這個(gè)工程對(duì)應(yīng)的rcp文件,雙擊生成的rcp文件,通過visuallinker連接器可以打開這個(gè)文件8。當(dāng)程序中新增加了變量后,在rcp文件中會(huì)出現(xiàn)Notyetplaced項(xiàng),只要將其下的文件夾,根據(jù)類型拖動(dòng)到run_view下的相應(yīng)的數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器即可。還可以選擇用何種類型的存儲(chǔ)器空間裝載,通過觀察存儲(chǔ)空間以使用的狀況自行分配空間,所以十分靈活,并且不會(huì)出現(xiàn)空間重疊的現(xiàn)象,避免了程序跑飛。2.2 本設(shè)計(jì)的系統(tǒng)的構(gòu)成2.2.1采用的開發(fā)平臺(tái)介紹本設(shè)計(jì)采用的實(shí)驗(yàn)室開發(fā)板分為DSP處理,F(xiàn)PGA處理,單片機(jī)

16、處理,音頻處理電路模塊。其系統(tǒng)框圖如下圖2.3所示:圖2.3 系統(tǒng)框圖本設(shè)計(jì)的采用的開發(fā)套件的實(shí)物圖如下圖2.4所示:圖2.4 開發(fā)套件的實(shí)物圖該開發(fā)平臺(tái)采用的芯片基本介紹:1.TPS767D318,電源管理芯片,提供3.3V IO電壓和1.8V 內(nèi)核電壓。2.MAX232,232串口芯片,做音效處理時(shí),可以通過上位機(jī)將效果器的參數(shù)傳給 DSP。3.CS4221,專業(yè)音頻處理AD/DA,采樣率最高可達(dá)96k,采樣寬度 24bit或20bit可選,滿足專業(yè)音頻處理的要求。4.DSP,使用TI公司的TMS320C5409,存儲(chǔ)空間和寄存器均滿足設(shè)計(jì)要求。由于DSP是用來對(duì)數(shù)字信號(hào)進(jìn)行處理的,所以首

17、先必須將輸入的模擬信號(hào)變換為數(shù)字信號(hào)。于是先對(duì)輸入模擬信號(hào)進(jìn)行調(diào)整,輸出的模擬信號(hào)經(jīng)過A/D變換后變成DSP可以處理的數(shù)字信號(hào),DSP根據(jù)實(shí)際需要對(duì)其進(jìn)行相應(yīng)的處理,如FFT、卷積等;處理得到的結(jié)果仍然是數(shù)字信號(hào),可以直接通過相應(yīng)通信接口將它傳輸出去,或者對(duì)它進(jìn)行D/A變換將其轉(zhuǎn)換為模擬采樣值,最后再經(jīng)過內(nèi)插和平滑濾波就得到了連續(xù)的模擬波形模擬信號(hào)。當(dāng)然,圖中的有些環(huán)節(jié)并不是必需的。如A/D轉(zhuǎn)換,如果輸入的是數(shù)字信號(hào),就可以直接交給DSP進(jìn)行運(yùn)算。在dsp中經(jīng)過FIR濾波處理后經(jīng)過D/A變換后即可得到想要的音頻信號(hào)9。2.2.2本系統(tǒng)的特點(diǎn)及設(shè)計(jì)過程由于數(shù)字信號(hào)處理系統(tǒng)是以數(shù)字信號(hào)處理理論為基

18、礎(chǔ),所以具有數(shù)字信號(hào)處理的全部?jī)?yōu)點(diǎn):(1) 接口方便 :DSP 系統(tǒng)與其它以數(shù)字技術(shù)為基礎(chǔ)的系統(tǒng)或設(shè)備都是相互兼容的,比模擬系統(tǒng)與這些系統(tǒng)接口要容易的多。(2)編程方便:DSP系統(tǒng)中的可編程DSP芯片可以使設(shè)計(jì)人員在開發(fā)過程中靈活方便的進(jìn)行修改和升級(jí),可以將C語言與匯編語言結(jié)合使用。(3)具有高速性:DSP系統(tǒng)的運(yùn)行較高,最新的DSP芯片運(yùn)行速度高達(dá)10GMIPS以上。(4)穩(wěn)定性好:DSP 系統(tǒng)以數(shù)字處理為基礎(chǔ), 受周圍環(huán)境,如噪聲、溫度等的影響小、可靠性高。(5)精度高:由于DSP能進(jìn)行浮點(diǎn)運(yùn)算,例如16位數(shù)字系統(tǒng)可以達(dá)到10-5的精度。(6)可重復(fù)性好:模擬系統(tǒng)的性能受元件參數(shù)性能變化影

19、響大,而數(shù)字系統(tǒng)基本不受影響,更便于測(cè)試、調(diào)試和大規(guī)模生產(chǎn)。 (7)集成方便:DSP系統(tǒng)中的數(shù)字部件有高度的規(guī)范性,便于大規(guī)模生產(chǎn)。當(dāng)然DSP也存在一定的缺點(diǎn)。例如,對(duì)于一些簡(jiǎn)單的信號(hào)處理任務(wù),如與模擬交換線的電話接口,若采用DSP則使成本增加。另外,DSP系統(tǒng)中的高速時(shí)鐘通常在幾十兆赫,可能帶來高頻干擾和電磁泄漏等問題,而且DSP的功率消耗在系統(tǒng)中也是較大的。此外,DSP技術(shù)發(fā)展得很快,數(shù)學(xué)知識(shí)要求多,開發(fā)和調(diào)試工具還很不完善。雖然DSP系統(tǒng)還存在一些缺點(diǎn),但是隨著近兩年來DSP技術(shù)突飛猛進(jìn)的發(fā)展,成本的下降,很多問題都得到了緩解。其突出的優(yōu)點(diǎn)已經(jīng)使其在通信、語音、圖像、雷達(dá)、生物醫(yī)學(xué)、工業(yè)

20、控制、儀器儀表等許多領(lǐng)域得到越來越廣泛的應(yīng)用10。一般來說DSP的設(shè)計(jì)過程應(yīng)遵循一定的設(shè)計(jì)流程,如圖2.5示。 圖2.5 DSP基本設(shè)計(jì)流程2.3 用Matlab的FDATool生成FIR濾波器參數(shù)2.3.1 FDATool的介紹FDATool(FilterDesign&AnalysisTool)是MATLAB信號(hào)處理工具箱里專用的濾波器設(shè)計(jì)分析工具,MATLAB6.O以上的版本還專門增加了濾波器設(shè)計(jì)工具箱(FilterDesignToolbox)。FDATool可以設(shè)計(jì)幾乎所有的常規(guī)濾波器,包括FIR和IIR的各種設(shè)計(jì)方法。它操作簡(jiǎn)單,方便靈活。FDATool。界面總共分兩大部分,一部分是D

21、esignFilter。在界面的下半部,用來設(shè)置濾波器的設(shè)計(jì)參數(shù);另一部分則是特性區(qū),在界面的上半部分,用來顯示濾波器的各種特性。DesignFilter部分主要分為:FilterType(濾波器類型)選項(xiàng),包括Lowpass(低通)、Highpass(高通)、Bandpass(帶通)、Bandstop(帶阻)和特殊的FIR濾波器。2.3.2 FDATool簡(jiǎn)要設(shè)計(jì)流程在matlab的命令窗口里輸入fdatool,即可以得到如下圖2. 6濾波器設(shè)計(jì)界面。圖2. 6 濾波器設(shè)計(jì)界面在該界面里輸入能達(dá)到設(shè)計(jì)要求的參數(shù),然后點(diǎn)擊design filter即產(chǎn)生了要設(shè)計(jì)的fir濾波器。點(diǎn)擊【targe

22、ts】-【generate C header】可以得到生成的系數(shù)C頭文件。第三章 FIR濾波器的設(shè)計(jì)3.1FIR濾波器的基本理論3.1.1FIR濾波器的特點(diǎn)數(shù)字濾波器的功能,就是把輸入序列通過一定的運(yùn)算變換成輸出序列??梢杂脙煞N方法來實(shí)現(xiàn)數(shù)字濾波器:種方法是采用通用計(jì)算機(jī),利用計(jì)算機(jī)的存儲(chǔ)器、運(yùn)算器和控制器把濾波器所要完成的運(yùn)算編成程序通過計(jì)算機(jī)來執(zhí)行,也就是采用計(jì)算機(jī)軟件來實(shí)現(xiàn);另一種方法是設(shè)計(jì)專用的數(shù)字硬件(通常稱之為數(shù)字信號(hào)處理器)。數(shù)字濾波器的實(shí)現(xiàn)方法是多種多樣的,其中比較常用到的是無限長(zhǎng)脈沖響應(yīng)濾波器IIR和有限長(zhǎng)脈沖響應(yīng)濾波器FIR兩種,另外還有維納濾波器、自適應(yīng)濾波器等,但是在一

23、般通信領(lǐng)域,尤其是信號(hào)傳輸領(lǐng)域,在一個(gè)信號(hào)的發(fā)送與接收端都是發(fā)出或接收一路信號(hào)。所以,前兩種濾波器還是現(xiàn)在濾波器設(shè)計(jì)的主要方面,例如在線譜分析、基音檢測(cè)、線性預(yù)測(cè)編碼等方面都有著廣泛的應(yīng)用11。本來在計(jì)算量相等的情況下,IIR數(shù)字濾波器比FIR濾波器的幅頻特性優(yōu)越,頻率選擇性也好,但是,它有著致命的缺點(diǎn),相位特性不好控制。它的相位特性是使頻率產(chǎn)生嚴(yán)重的非線性的原因,這種與的非線性關(guān)系,使數(shù)字濾波器與模擬濾波器在響應(yīng)與頻率的對(duì)應(yīng)關(guān)系上發(fā)生了畸變。如果需要線性相位,就必須用全通網(wǎng)絡(luò)進(jìn)行復(fù)雜的相位校正,但是,在對(duì)程序運(yùn)行周期數(shù)要求十分嚴(yán)格的DSP處理中加上一個(gè)全通均衡器是十分浪費(fèi)資源的。另外,即使加

24、上全通均衡器,對(duì)于因果的IIR濾波器,仍將得不到線性的相位。在現(xiàn)代電子系統(tǒng)中,如圖像處理、數(shù)據(jù)傳輸?shù)炔ㄐ蝹鬟f系統(tǒng)中都越來越多的要求信道具有線性的相位特性。在這方面FIR濾波器具有獨(dú)到的優(yōu)點(diǎn),它可以在幅度特性隨意設(shè)計(jì)的同時(shí),保證精確、嚴(yán)格的線性相位,因此這類濾波器應(yīng)用很廣泛。3.1.2FIR濾波器的基本結(jié)構(gòu)數(shù)字濾波是將輸入的信號(hào)序列,按規(guī)定的算法進(jìn)行處理,從而得到所期望的輸出序列。一個(gè)線性位移不變系統(tǒng)的輸出序列y(n)和輸入x(n)之間的關(guān)系,應(yīng)滿足常系數(shù)線性差分方程12,見公式3.1。其中,x(n)為輸入序列,y(n)為輸出序列,和為濾波器系數(shù),N是濾波器的階數(shù)。若上式中所有的kb均為零,則有

25、FIR濾波器的差分方程為:對(duì)上式進(jìn)行Z變換得到FIR濾波器的傳遞函數(shù)為:由上式可以看出,H(z)是的N-1次多項(xiàng)式,它在z平面內(nèi)有N-1個(gè)零點(diǎn),同時(shí)在原點(diǎn)處有N-1個(gè)重極點(diǎn)。N階濾波器通常采用N個(gè)延遲單元、N個(gè)加法器與N+1個(gè)乘法器,取圖3-1中(a)、(b)兩種結(jié)構(gòu)。3.2 FIR濾波器設(shè)計(jì)總框圖FIR濾波器設(shè)計(jì)總框圖如圖3.2所示: 圖3.2 FIR濾波器設(shè)計(jì)總框圖第四章 系統(tǒng)軟件設(shè)計(jì)4.1 程序流程圖本文設(shè)計(jì)的FIR濾波器的程序流程圖如下所示: 圖4.1 程序流程圖4.2程序源代碼程序清單詳見附錄4.3程序調(diào)試將仿真器的并口與計(jì)算機(jī)并口連接起來,計(jì)算機(jī)并口最好設(shè)置在 EPP+ECP 模式

26、,將仿真器的電源連接上,把 JTAG 插在開發(fā)板的 DSP JTAG 口上,打開開發(fā)板的電源,這時(shí)可以看到仿真器上的電源 LED 和目標(biāo)板 LED 均點(diǎn)亮。1、點(diǎn)擊桌面 Setup CCS 2 進(jìn)入驅(qū)動(dòng)配置選項(xiàng),完成圖4.2相關(guān)設(shè)置。圖4.2 驅(qū)動(dòng)配置選項(xiàng)驅(qū)動(dòng)程序的添加,如圖4.3所示,開發(fā) C54X 系列雙擊下圖中的 sdgo5xx.dvr ,安裝按照光標(biāo)提示依次執(zhí)行(I/OPort 根據(jù)計(jì)算機(jī) CMOS里的并口模式來決定,假設(shè)為 0X378H,所以需將 0X240 改成 0X378,系統(tǒng)假設(shè)為單 DSP,點(diǎn)擊 Add Single圖標(biāo)一次,如果是多 DSP,則點(diǎn)擊 Add Single 相

27、應(yīng)次數(shù)); 圖4.3 驅(qū)動(dòng)程序配置雙擊桌面上的 SDConfig 圖標(biāo)(圖4.4),同時(shí)點(diǎn)擊 378,使用驅(qū)動(dòng)程序來驗(yàn)證 DSP 目標(biāo)板是否跟仿真器連接上:圖4.4 SDConfig 圖標(biāo)Default 下,配置Name of hardware (圖4.5)為 XDS510PP,Emulator port 根據(jù)計(jì)算機(jī) CMOS 并口設(shè)置決定,在此認(rèn)為是 EPP 模式;并進(jìn)行復(fù)位。 圖4.5 配置Name of hardware如果出現(xiàn)*Emulator is reset,說明仿真器復(fù)位成功;2、調(diào)試程序點(diǎn)擊桌面上的 CCS2(5000)圖標(biāo)進(jìn)入程序調(diào)試界面(圖4.6)圖4.6 程序調(diào)試界面接下

28、來我們就可以開始調(diào)試程序了,先將光盤 work 目錄下的 Timer 工程文件 Copy 到你自己的硬盤上,Copy 完之后記得把它的只寫屬性去掉。點(diǎn)擊菜單上的 Project,下拉點(diǎn)擊 open(圖4.7),再在目錄中打開工程文件就可以了。點(diǎn)擊 Project-Rebuild All,將程序重新編譯一下,接著就可以把程序通過仿真;點(diǎn)擊 File-Load Program 雙擊 time4s.out 文件,程序就會(huì)下載到 DSP 中。下載完后程序會(huì)跳到_c_int00 的程序入口處,用戶程序就是從這里開始往下執(zhí)行的,我們可以看到項(xiàng)目管理窗口左邊有一豎的帶箭頭的大括號(hào)圖標(biāo),它們就是執(zhí)行調(diào)試的工具

29、鍵,分單步、跳進(jìn)跳出子程序,執(zhí)行到光標(biāo)處等,跑步樣的圖標(biāo)就是全速執(zhí)行了。我們點(diǎn)擊全速執(zhí)行,程序就跑起來,就會(huì)看到 LED 一閃一閃的了13。第五章 系統(tǒng)功能驗(yàn)證由上述方法設(shè)計(jì)的程序在TMS320VC5409實(shí)驗(yàn)套件上運(yùn)行。實(shí)驗(yàn)結(jié)果證明,采用FIR濾波后抗干擾能力有了明顯的提高,利用matlab的fdatool能夠快速的設(shè)計(jì)fir濾波器,以便完成復(fù)雜功能DSP程序設(shè)計(jì),并且只需要進(jìn)行少量的添加和修改,節(jié)省程序的編寫和輸入時(shí)間。波器幅頻響應(yīng)曲線如圖4-7: 圖4-7濾波器幅頻響應(yīng)曲線濾波器相頻響應(yīng)曲線如圖4-8:圖4-8濾波器相頻響應(yīng)曲 從幅頻響應(yīng)曲線可以看到,濾波器的通帶、阻帶、通帶波紋、阻帶衰

30、減都滿足設(shè)計(jì)要求。從相頻響應(yīng)曲線可以看出,該FIR濾波器的相位響應(yīng)可為嚴(yán)格的線性,因此它不存在延遲失真,只有固定的時(shí)間延遲,適用于圖像信號(hào)處理、數(shù)據(jù)傳輸?shù)纫圆ㄐ螖y帶信息的系統(tǒng)。FIR濾波器克服了模擬濾波器和IIR數(shù)字濾波器只考慮幅頻特性不考慮相位特性的缺點(diǎn),它們要得到線性相位必須外加相位矯正網(wǎng)絡(luò),使濾波器變的復(fù)雜。而FIR濾波器在保證幅頻特性滿足技術(shù)要求的同時(shí),更容易做到嚴(yán)格的線性相位14。 當(dāng)運(yùn)行ccs時(shí),播放一首經(jīng)過噪聲污染的歌曲,而開發(fā)板端經(jīng)過fir濾波輸出的清晰音頻信號(hào)。第六章 設(shè)計(jì)總結(jié)通過這次課程設(shè)計(jì),使我對(duì)語音信號(hào)有了全面的認(rèn)識(shí),對(duì)數(shù)字信號(hào)處理的知識(shí)又有了深刻的理解,在之前數(shù)字信號(hào)

31、與處理的學(xué)習(xí)以及完成課后的作業(yè)的過程中,已經(jīng)使用過MATLAB,對(duì)其有了一些基礎(chǔ)的了解和認(rèn)識(shí)。通過這次練習(xí)是我進(jìn)一步了解了信號(hào)的產(chǎn)生、采樣及頻譜分析的方法。以及其中產(chǎn)生信號(hào)和繪制信號(hào)的基本命令和一些基礎(chǔ)編程語言。讓我感受到只有在了解課本知識(shí)的前提下,才能更好的應(yīng)用這個(gè)工具;并且熟練的應(yīng)用MATLAB也可以很好的加深我對(duì)課程的理解,方便我的思維,使我意識(shí)到:(1)首先是應(yīng)用領(lǐng)域的拓寬。許多過去用模擬信號(hào)處理的設(shè)備,現(xiàn)在都力圖用數(shù)字信號(hào)處理來代替。包括通信、語音處理、雷達(dá)和聲納信號(hào)處理、廣播和電視技術(shù)、生物和醫(yī)學(xué)信號(hào)處理、地震和地理信息、交通和工業(yè)控制等。出現(xiàn)了數(shù)萬種用于信號(hào)處理的專用集成電路芯片

32、,使得數(shù)字信號(hào)處理的速度飛速提高,而其成本不斷降低。(2)數(shù)字信號(hào)處理應(yīng)用的發(fā)展提出了多種多樣的復(fù)雜功能以及越來越高的技術(shù)指標(biāo),推動(dòng)了新的理論不斷出現(xiàn)。本論文討論的只限于一維信號(hào),要處理圖形和圖象就設(shè)計(jì)二維信號(hào)處理。雖然它的基礎(chǔ)是一維信號(hào)處理,但究竟更加復(fù)雜,而且?guī)砹嗽S多新的更加復(fù)雜更難的問題;在三維空間成像、虛擬現(xiàn)實(shí)、數(shù)字視頻、數(shù)字電影和動(dòng)畫等又使信號(hào)處理進(jìn)入了三維。在理論方面,它早就涉及了統(tǒng)計(jì)理論、非線性理論等,現(xiàn)在又出現(xiàn)了模糊集合、小波變換、神經(jīng)元網(wǎng)絡(luò)、還有各種譜估計(jì)理論等。 參考文獻(xiàn)1陳懷深.數(shù)字信號(hào)處理教程一MATLAB釋義與實(shí)現(xiàn),北京:電子工業(yè)出版社,2004.209-2492付

33、家才.DSP控制工程實(shí)踐技術(shù).北京:化學(xué)工業(yè)出版社,2005.169-1803張雄偉、陳亮,DSP芯片的原理與開發(fā)應(yīng)用.北京:電子工業(yè)出版社,2003.156-2274 Andrew Bateman,Lain Paterson-Stephens. DSP算法、應(yīng)用與設(shè)計(jì)(陳建、汪書寧等譯),北京:機(jī)械工業(yè)出版社,2003.260-2885童詩白、華成英.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,2001.345-3636飛思科技產(chǎn)品研發(fā)中心.MATLAB7輔助信號(hào)處理技術(shù)與應(yīng)用.北京:電子工業(yè)出版社,2005.213-2817羅軍輝、羅勇江等.MATLAB7在數(shù)字信號(hào)處理中的應(yīng)用.北京:機(jī)械工業(yè)

34、出版社,2005.63-1288樓順天、李博函.基于MATLAB的系統(tǒng)分析與設(shè)計(jì)一信號(hào)處理.西安:西安電子科技大學(xué)出版社,1998.81-889李勇、徐震等.MATLAB輔助現(xiàn)代工程數(shù)字信號(hào)處理西安:西安電子科技大學(xué)出版社,2002.63 -8210戴逸民梁曉雯裴小平.基于DSP的現(xiàn)代電子系統(tǒng)設(shè)計(jì).北京:電子工業(yè)出版社.2002.5.231一27111川黃文梅熊桂林,楊勇.信號(hào)分析與處理MATLAB語言及應(yīng)用,長(zhǎng)沙:國(guó)防科技大學(xué),2000.8 -1612張雄偉,徐亮.DSP集成開發(fā)與應(yīng)用實(shí)例.北京:電子工業(yè)出版社,2002.28-3313劉和平.TMS320LF240x DSP C語言開發(fā)應(yīng)用

35、.北京:北京航空航天大學(xué)出版社,2003.167-17414趙紅怡,張常年.數(shù)字信號(hào)處理及其MATLAB實(shí)現(xiàn).北京:化學(xué)工業(yè)出版社,2002.164-256附錄 程序清單#include #include #include #include #include #include tms320.h#include dsplib.hvolatile unsigned int *SWWSR=(unsigned int*)0x28;/* Create data buffers for DMA/MCBSP transfer */#define Nm2 1024#define N 512 #define N

36、d2 256#define Nd4 128#define Nd8 64Uint32 DisNd2;Uint32 dsttemp;DATA TargetLf1Nd4;DATA TargetLf2Nd4;DATA TargetRf1Nd4;DATA TargetRf2Nd4;Uint16 PingPong=1;#pragma DATA_SECTION(src,dmaSrc)Uint32 srcN; #pragma DATA_SECTION(dst, dmaDst)Uint32 dstN;#pragma DATA_SECTION(LchIn, dmaLin)DATA LchInNd4;#pragma

37、 DATA_SECTION(RchIn, dmaRin)DATA RchInNd4;#pragma DATA_SECTION(h,.coeffs)DATA h64 = /* b0 b1 b2 . b(NH-1) */0, 0, 0, 0, 0, 1, 1, 0, -2,-6, -8, -2, 13, 34, 42, 16, -51, -132,-161, -69, 154, 406, 489, 223, -398, -1099, -1367,-694, 1110, 3707, 6285, 7891, 7891, 6285, 3707, 1110,-694, -1367, -1099, -398

38、, 223, 489, 406, 154, -69,-161, -132, -51, 16, 42, 34, 13, -2, -8,-6, -2, 0, 1, 1, 0, 0, 0, 0, 0;#pragma DATA_SECTION(fhl2,.fhl2eff)DATA fhl264 = /* b0 b1 b2 . b(NH-1) */ 0, 0, 0, 0, 0, 0, -1, -3, -3,0, 8, 18, 21, 6, -32, -77, -90, -32, 103, 252, 295, 121, -268, -690, -822, -377, 661,1882, 2481, 143

39、3, -2713, -19278, 19278, 2713, -1433, -2481, -1882, -661, 377, 822, 690, 268, -121, -295, -252,-103, 32, 90, 77, 32, -6, -21, -18, -8,0, 3, 3, 1, 0, 0, 0, 0, 0, 0;#pragma DATA_SECTION(h2,.h2coeffs)DATA h264 = /* b0 b1 b2 . b(NH-1) */0, 0, 0, 0, 0, 1, 1, 0, -2,-6, -8, -2, 13, 34, 42, 16, -51, -132,-1

40、61, -69, 154, 406, 489, 223, -398, -1099, -1367,-694, 1110, 3707, 6285, 7891, 7891, 6285, 3707, 1110, -694, -1367, -1099, -398, 223, 489, 406, 154, -69, -161, -132, -51, 16, 42, 34, 13, -2, -8, -6, -2, 0, 1, 1, 0, 0, 0, 0, 0;#pragma DATA_SECTION(fhr2,.fhr2eff)DATA fhr264 = /* b0 b1 b2 . b(NH-1) */ 0

41、, 0, 0, 0, 0, 0, -1, -3, -3, 0, 8, 18, 21, 6, -32, -77, -90, -32, 103, 252, 295, 121, -268, -690, -822, -377, 661,1882, 2481, 1433, -2713, -19278, 19278, 2713, -1433, -2481, -1882, -661, 377, 822, 690, 268, -121, -295, -252, -103, 32, 90, 77, 32, -6, -21, -18, -8,0, 3, 3, 1, 0, 0, 0, 0, 0, 0;void ma

42、in() Uint16 InitNum,kk; /* Initialize CSL library, this step is required */ CSL_init(); /* Initialize IVPTR to start of vector table */ IRQ_setVecs(Uint16)(&VECSTART); *SWWSR=0x0400; asm( RSBX XF); /asm( STM #0a8H,PMST); /* Initialize send and receive buffers */ for(InitNum=0;InitNumN;InitNum+) srcI

43、nitNum=0;dstInitNum=0; for (kk=0; kkNd4;kk+) TargetLf1kk=0; for (kk=0; kkNd4;kk+) TargetLf2kk=0; for (kk=0; kkNd4;kk+) TargetRf1kk=0; for (kk=0; kkNd4;kk+) TargetRf2kk=0; for (kk=0; kk64; kk+) dbkk = 0; / clear delay buffer (a must) for (kk=0; kk64; kk+) dbfhl2kk = 0; for (kk=0; kk64; kk+) db2kk = 0

44、; for (kk=0; kk64; kk+) dbfhr2kk = 0; /* Call example function */ taskFunc(); void ProcessSub(void) Uint16 pCnt,ii; for(pCnt=0;pCnt16; LchInpCnt=dsttemp+1; else dsttemp=DispCnt*2+1; LchInpCnt=(dsttemp)16; /* compute */ fir(LchIn, h,TargetLf1, &dbptr, 64, Nd4); fir(LchIn, fhl2,TargetLf2, &ptrfhl2, 64

45、, Nd4); for(ii=0;ii1)*3+TargetLf2ii; for(pCnt=0;pCntNd4;pCnt+) DispCnt*2+1=LchInpCnt; DispCnt*2+1=16; for(pCnt=0;pCnt16; RchInpCnt=dsttemp; else dsttemp=DispCnt*2; RchInpCnt=(dsttemp)16; fir(RchIn,h2,TargetRf1,&dbptr2,64,Nd4); fir(RchIn,fhr2,TargetRf2, &ptrfhr2, 64, Nd4); for(ii=0;ii1)*3+TargetRf2ii

46、; for(pCnt=0;pCntNd4;pCnt+) DispCnt*2=RchInpCnt; DispCnt*2=16; void taskFunc() MCBSP_Handle myhMcbsp; Uint16 hMcbsp1RcvId,hMcbsp1XmtId; Uint16 cha4EventId, cha5EventId; Uint16 CopyCnt; IRQ_globalDisable(); myhMcbsp = MCBSP_open(MCBSP_PORT0, MCBSP_OPEN_RESET); myhMcbsp1= MCBSP_open(MCBSP_PORT1, MCBSP_OPEN_RESET); MCBSP_config(myhMcbsp, &my_mcbspConfig); MCBSP_config(myhMcbsp1, &my_mcbspConfig1); hMcbsp1RcvId=MCBSP_getRcvEventId(myhMcbsp1); hMcbsp1XmtId

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論