基于dsp的語音采集與fir濾波器的設(shè)計與實現(xiàn)_第1頁
基于dsp的語音采集與fir濾波器的設(shè)計與實現(xiàn)_第2頁
基于dsp的語音采集與fir濾波器的設(shè)計與實現(xiàn)_第3頁
基于dsp的語音采集與fir濾波器的設(shè)計與實現(xiàn)_第4頁
基于dsp的語音采集與fir濾波器的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于DSP的語音采集與FIR濾波器的設(shè)計與實現(xiàn)摘要介紹了一種基于TMS320C5402的語音采集與FIR數(shù)字濾波器的設(shè)計與實現(xiàn),采用TLC320AD50作為語音CODEC模塊的核心器件,簡述了FIR數(shù)字濾波器的特點,以及其在DSP上實現(xiàn)的原理。利用TMS320C5402對采集到的語音信號進行FIR濾波,該系統(tǒng)具有較強的數(shù)據(jù)處理能力和靈活的接口電路,能夠滿足語音信號濾波的要求,可以擴展為語音信號處理的通用平臺關(guān)鍵詞語音采集FIR濾波器TMS320C5402數(shù)字信號處理是把數(shù)字或符號表示的序列,通過計算機或?qū)S锰幚碓O(shè)備,用數(shù)字的方式去處理,以達到更符合人們要求的信號形式。而語音處理是數(shù)字信號處理最活躍的研究方向之一,在IP電話和多媒體通信中得到廣泛應用一個完備的語音信號處理系統(tǒng)不但要具有語音信號的采集和回放功能,還要能夠進行復雜的語音信號分析和處理。通常這些信號處理算法的運算量很大,而且又要滿足實時的快速高效處理要求,隨著DSP技術(shù)的發(fā)展,以DSP為內(nèi)核的設(shè)備越來越多,為語音信號的處理提供了優(yōu)質(zhì)可靠的平臺軟件編程的靈活性給很多設(shè)備增加不同的功能提供了方便,利用軟件在已有的硬件平臺上實現(xiàn)不同的功能已成為一種趨勢。本文設(shè)計了一個語音處理系統(tǒng),采用定點DSP芯片TMS320C5402作為CPU,完成對語音信號的采集和濾波處理1語音采集系統(tǒng)的設(shè)計11系統(tǒng)總體設(shè)計語音采集與處理系統(tǒng)主要包括3個主要部分以TMS320C5402為核心的數(shù)據(jù)處理模塊以TLC320AD50為核心的語音采集與編解碼CODEC模塊用戶根據(jù)需要擴展的存儲器模塊系統(tǒng)硬件結(jié)構(gòu)如圖1所示111CODEC模塊本設(shè)計選用TLC320AD50以下簡稱AD50完成語音信號的A/D轉(zhuǎn)換和D/A轉(zhuǎn)換AD50是TI公司生產(chǎn)的一款集成有A/D和D/A的音頻芯片,DSP與音頻AD50連接后,可使用一個緩沖串行口來同時實現(xiàn)語音信號的采集和輸出,從而可以節(jié)省DSP的硬件開銷AD50使用過采樣技術(shù)提供從數(shù)字信號到模擬信號和模擬信號到數(shù)字信號的高分辨率低速信號轉(zhuǎn)換該器件包括2個串行的同步轉(zhuǎn)換通道,分別用于各自的數(shù)據(jù)傳輸語音信號直接從AD50的模擬信號輸入端輸入,AD50對其進行采樣,并將采樣后的數(shù)據(jù)傳送至DSPDSP應用相應的算法對數(shù)據(jù)進行處理,并將處理后的數(shù)據(jù)傳送到AD50的D/A輸入端AD50再對DSP處理后的數(shù)據(jù)進行數(shù)模轉(zhuǎn)換,變?yōu)檎Z音信號后輸出到音響設(shè)備本系統(tǒng)中TLC320AD50與TMS320C5402之間采用串行通信,通過DSP芯片的MCBSP串口實現(xiàn)接口電路如圖2所示112MCBSP的工作原理TMS320C5402有2個MCBSP多通道緩存串行口MCBSP提供了全雙工的通信機制,以及雙緩存的發(fā)送寄存器和三緩存的接收寄存器,允許連續(xù)的數(shù)據(jù)流傳輸,數(shù)據(jù)長度可以為8、12、16、20、24、32同時還提供了A律和L律壓擴數(shù)據(jù)信號經(jīng)DR和DX引腳與外設(shè)通訊,控制信號則由CLKX、CLKR、FSX、FSR等4個引腳來實現(xiàn)4CPU和DMA控制器可以讀取DRR1,2的數(shù)據(jù)實現(xiàn)接收,并且可以對DXR1,2寫入數(shù)據(jù)實現(xiàn)發(fā)送串行口控制寄存器SPCR1,2和引腳控制寄存器PCR用來配置串行口接收控制寄存器RCR1,2和發(fā)送控制寄存器XCR1,2用來設(shè)置接收通道和發(fā)送通道的參數(shù)采樣率發(fā)生器寄存器SRGR1,2用來設(shè)置采樣率TMS320C5402芯片串口控制寄存器功能強大,用戶通過編程不但可以設(shè)置時鐘信號的極性及輸入輸出方向,還可以設(shè)置同步信號的極性及輸入輸出方向113AD50與DSP的同步通信在應用中,將TLC320AD50C接至DSP的同步串口,并將TLC320AD50設(shè)置在主動工作模式下,即由TLC320AD50提供幀同步信號和移位時鐘,TMS320C5402的管腳電壓為33V,可以與AD50直接相連串口的移位時鐘SCLK由AD發(fā)出,串行數(shù)據(jù)在SCLK的驅(qū)動下經(jīng)DIN、DOUT移進、移出,在SCLK的下降沿采樣DIN數(shù)據(jù),在SCLK下降沿送出數(shù)據(jù)到DOUTXF控制首次或二次通信,XF為低時是AD50的首次通信,是正常的AD、DA的數(shù)據(jù)XF為高時是AD50的二次通信,這時可以讀寫AD50的4個寄存器進入二次通信有軟件的方法,即把AD50設(shè)為151位數(shù)據(jù)模式,最后一位標記下一個數(shù)據(jù)是否為二次通信數(shù)據(jù),1表示是,0表示否一次通信格式的16位都用來傳輸數(shù)據(jù)DAC的數(shù)據(jù)長度由寄存器1的D0位決定啟動和復位時,默認值為151模式,最后一位要求二次通信如果工作在16位傳輸模式下,則必須由FC產(chǎn)生二次通信請求二次通信格式則用來初始化和修改TLC320AD50C內(nèi)部寄存器的值在二次通信中可通過向DIN寫數(shù)據(jù)來完成初始化二次通信格式如圖3所示,D131表示讀DIN的數(shù)據(jù),D130表示向DIN寫數(shù)據(jù)系統(tǒng)復位后,必須通過DSP的DX接口向TLC320AD50C的DIN寫數(shù)據(jù),因為采用一片TLC320AD50C,只需初始化寄存器1、寄存器2、寄存器4由于通信數(shù)據(jù)長度為16位,初始化是應通過RCR1和XCR1設(shè)置MCBSP的傳輸數(shù)據(jù)長度為162語音采集語音信號的采集,是通過話筒經(jīng)模擬放大輸入到AD50,AD50作相應的低頻濾波并進行A/D轉(zhuǎn)化,再通過MCBSP通道輸入DSP芯片語音信號采集程序包括以下幾個部分1DSP初始化對DSP的寄存器以及緩沖串口進行初始化2AD50初始化通過DSP的緩沖串口和XF引腳對AD50進行初始化,再設(shè)置AD50的4個控制寄存器確定AD50的4個控制寄存器設(shè)置正確后,AD50才能開始采集數(shù)據(jù)此時,可以用示波器檢測AD50的DOUT引腳,能發(fā)現(xiàn)引腳是否有連續(xù)的信號輸出3設(shè)置DSP的中斷,從緩沖串口讀取數(shù)據(jù)如果此時在緩沖串口連續(xù)讀取數(shù)據(jù),就可以在仿真軟件CCS中查看讀取的數(shù)據(jù)是否正確4DSP存放數(shù)據(jù)可以將緩沖串口讀取的數(shù)據(jù)存放到DSP的RAM單元,連續(xù)存放,可通過CCS的圖形顯示功能判斷AD50采樣的數(shù)據(jù)是否正確3語音濾波語音去噪在語音信號上應用較多,在實質(zhì)上和普通的數(shù)字信號去噪沒有什么區(qū)別,使用濾波器和各種算法均可以實現(xiàn)語音信號的去噪,使得含有噪聲的信號更加清晰但語音信號的去噪和一般的數(shù)字信號去噪又存在著很大的差別,因為語音信號的頻譜覆蓋在100HZ34KHZ,較為豐富的信號主要集中在1KHZ附近,所以一般的濾波去噪時必須考慮語音信號的自身特征本系統(tǒng)中應用的AD50內(nèi)置了低通濾波器,可以通過設(shè)置來有效濾除信號中混雜的高頻干擾信號,而對于低于100HZ的干擾信號,則無能為力因此,要用DSP進行編程設(shè)計一個軟件可實現(xiàn)高通濾波器,由處理器來完成信號的去噪,采用FIR濾波31FIR濾波器的基本結(jié)構(gòu)及特點有限沖激響應FIR濾波器的基本結(jié)構(gòu)是一個分節(jié)的延時線,把每一節(jié)的輸出加權(quán)累加,得到濾波器的輸出數(shù)學上表示為YNEN1N0HNXNM,0NN11對1式進行Z變換,整理后可得出FIR濾波器的傳遞函數(shù)為HZEN1N0HNZN,0NN12由2式可知FIR濾波器的一般結(jié)構(gòu)如圖1所示圖1FIR數(shù)字濾波器直接實現(xiàn)形式32FIR濾波器的DSP實現(xiàn)原理由1式可知,FIR濾波器的沖激響應為H0,H1,HN1XN表示濾波器在N時刻的輸入,則N時刻的輸出為YNH0XNH1XN1,HN1XNN1,這是一個乘、加的過程,可以使用DSP中的MAC指令實現(xiàn)該運算圖2說明了使用循環(huán)尋址實現(xiàn)FIR濾波器的方法為了能正確使用循環(huán)尋址,必須先初始化BK,塊長為N同時,數(shù)據(jù)緩沖區(qū)和沖激響應FIR濾波器的系數(shù)的開始地址必須是大于N的2的最小冪的倍數(shù)例如,當N11時,大于N的最小2的冪為16,則數(shù)據(jù)緩沖區(qū)的第一位地址應該是16的倍數(shù),因此數(shù)據(jù)緩沖區(qū)起始地址的最低4位必須是0在圖2中,濾波系數(shù)指針初始化時指向HN1,經(jīng)過一次FIR濾波計算后,在循環(huán)尋址的作用下,仍然指向HN1而數(shù)據(jù)緩沖區(qū)指針指向的是需要更新的數(shù)據(jù),如XN在寫入新數(shù)據(jù)并完成FIR運算后,該指針指向XNN1,所以,使用循環(huán)尋址可以方便地完成濾波窗口數(shù)據(jù)的自動更新4FIR濾波器設(shè)計實例給定FIR數(shù)字帶通濾波器的技術(shù)指標為2個通帶截止頻率分別為4KHZ和6KHZ,2個阻帶截止頻率分別為3KHZ和7KHZ,采樣頻率均為25KHZ輸入為一個混合信號FCOS2000PTCOS10000PTCOS20000PT/6,利用MATLAB設(shè)計FIR帶通濾波器的系數(shù),將得到的濾波器系數(shù)乘以32768即215后舍尾取整可得DSP中濾波器系數(shù)列表用WORD匯編命令將各濾波器系數(shù)直接輸入到DSP程序中模擬輸入數(shù)據(jù)由C語言程序?qū)崿F(xiàn),然后用COPY命令將C語言程序生成的數(shù)據(jù)文件FIRINPUT拷貝到DSP程序中DSP程序?qū)崿F(xiàn)讀入數(shù)據(jù)、濾波、顯示波形等方面的任務(wù)完成FIR濾波器的程序框圖如圖3所示,可知FIR濾波器的DSP實現(xiàn)主要由以下4方面的內(nèi)容組成41模擬輸入數(shù)據(jù)的生成用C語言程序生成輸入數(shù)據(jù),通過COPY匯編命令將生成的數(shù)據(jù)文件拷貝到匯編程序中,作為FIR濾波器的輸入數(shù)據(jù)C語言程序運行后所生成的數(shù)據(jù)文件名為FIRINPU,T生成FIRINPUT數(shù)據(jù)文件的C語言程序如下所示INCLUDE“STDIOH“INCLUDE“MATHH“MAININTIDOUBLEF256FILEFPIFFPFOPEN“EFIRINPUT“,“WT“NULLPRINTF“CANCTOPENFILEN“FORI0I255IFICOS2314159265I1000/25000COS2314159265I5000/25000COS2314159265I10000/25000/6FPRINTFFP,“WORDLDN“,LONGFI32768FCLOSEFP42DSP初始化程序DSP初始化程序包括了對堆棧指針SP、軟件等待狀態(tài)寄存器SWWSR、中斷寄存器IFR、中斷屏蔽寄存器IMR以及處理器工作狀態(tài)寄存器PMST的初始化另外還對各變量賦值,具體的程序如下DEF_C_INT00MMREGSSWCRSET2BHT_AR2SET066HT_AR3SET067HOUT_WAVE_BUFSET0D00HDATA_INSET0F00HNSET51FIR_COEF_BUFSET100HFIR_DATASET200HTEXTRSB_C_INT00_C_INT00STM2020H,PMSTSSBXINTMSSBXSXMSSBXFRCTSTM10H,26HSTM10H,36HSTM0FFH,SPLD0,DPSTM0FFFFH,IFRSTM20H,IMRSTM02492H,SWWSRSTM0,SWCR可看出,FIR濾波器的系數(shù)列表將存在100H開始的單元中,輸入數(shù)據(jù)將存在200H開始的單元中,而輸出數(shù)據(jù)將存在0D00H開始的單元中43濾波系數(shù)以及輸入數(shù)據(jù)的調(diào)入由于濾波器系數(shù)一開始是存在程序存儲器中,輸入數(shù)據(jù)則是存在程序外的文件中,程序?qū)@2組數(shù)據(jù)進行處理時,需要把兩者都調(diào)到數(shù)據(jù)存儲器中,具體實現(xiàn)程序如下STMFIR_DATA,AR6RPT255MVPDINPU,TAR6STMFIR_COEF_BU,FAR6RPTN1MVPDFIR_COE,FAR6STMFIR_COEF_BU,FT_AR2STMFIR_DATA,T_AR3這段程序?qū)崿F(xiàn)的是把輸入數(shù)據(jù)調(diào)到以200H開始的單元,而把濾波系數(shù)調(diào)到從100H開始的單元44濾波子程序一次濾波的過程實質(zhì)上就是對2組數(shù)進行有規(guī)律的乘加計算,具體程序如下FIRMVDMT_AR2,AR2將起始濾波系數(shù)地址100H賦給AR2MVDMT_AR3,AR5將起始輸入數(shù)據(jù)地址200H賦給AR5STMDATA_IN,AR3AR30F00HSTM255,BRC定義塊循環(huán)次數(shù)RPTBDLOOP1定義塊循環(huán)結(jié)束地址STMN,BK定義循環(huán)緩沖器大小LDAR5,A將新數(shù)據(jù)讀到累加器A中STLA,AR3將新數(shù)據(jù)讀入棧頂RPTZA,N1定義循環(huán)次數(shù),之前先將A累加器清0MACAR20,AR30,AAAR2AR3A,每完成一次計算AR2、AR3指針所對應地址1STHA,AR6將計算結(jié)果保存輸出LOOP這個程序段將重復執(zhí)行256次,從而實現(xiàn)對于數(shù)據(jù)的讀入、處理、輸出等功能5結(jié)語本文介紹了一個實時數(shù)據(jù)采集處理系統(tǒng)的設(shè)計和實現(xiàn),系統(tǒng)以DSP芯片和TLC320AD50芯片為核心,有很強的數(shù)據(jù)處理能力和靈活的外圍接口電路,實驗證明,可較好地實現(xiàn)語音的濾波該系統(tǒng)可擴展為3G手機語音識別系統(tǒng),也可以作為語音信號處理算法研究

溫馨提示

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

提交評論