freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于dsp技術(shù)的語音監(jiān)控系統(tǒng)的軟件設(shè)計與實現(xiàn)本科畢業(yè)論文-wenkub.com

2025-06-20 00:06 本頁面
   

【正文】 經(jīng)過這個月的課程設(shè)計,我在實踐方面有了很大的提高,這對于我即將到來的就業(yè)有很大的影響。2.深入研究和探討了系統(tǒng)所需的DSP硬件平臺——TMS320C5509 DSP和軟件編譯環(huán)境——。本論文主要實現(xiàn)的是對原有的模擬語音監(jiān)控系統(tǒng)的數(shù)字化改造,利用DSP技術(shù)對語音信號進(jìn)行壓縮編碼,從而節(jié)省了語音數(shù)據(jù)的存儲空間。在看了一段時間的學(xué)習(xí)視頻和文獻(xiàn)資料之后,通過幾次試驗之后,才開始整個課程設(shè)計,這一段過程對于我也是一個很重要的學(xué)習(xí)歷程,對于以后工作過程中的自學(xué)很有幫助。后來查詢資料,結(jié)合分析,最終確定了芯片的選擇。根據(jù)串口程序的設(shè)計,設(shè)定波特率、數(shù)據(jù)位等信息。通過比對,可以驗證上述壓縮編碼基本可以正確在DSP上進(jìn)行編碼。當(dāng)達(dá)到算法中的探測點時,可將在特殊的存儲器區(qū)域中的數(shù)據(jù)流與文件進(jìn)行數(shù)據(jù)交換。比如文件OVERC53H.TIN,其中OVER表示測試向量的種類為OVERFLOWS,C表示該測試文件用于編碼器,H表示打開高通濾波器。根據(jù)雙音多頻解碼程序的設(shè)計,開辟以DIGITS命名的空間放置解碼后的數(shù)據(jù),.查詢上述數(shù)據(jù)段即可檢查解碼結(jié)果是否正確。這款軟件能夠創(chuàng)建、編輯、過濾多種聲音信息,并能將之轉(zhuǎn)換為聲音文件。其中第一旬是指明堆棧的大小。不論中斷向量號是否被使用,只要所占用空間不足4個字,都要用NOP指令補齊空間。 軟串口的軟件實現(xiàn) 中斷向量表如果工程中使用到了中斷功能,那么就必須建立中斷向量表來表明中斷服務(wù)子程序的跳轉(zhuǎn)位置。首先,為數(shù)據(jù)傳輸開辟相應(yīng)的存儲空間。上述狀態(tài)查詢的結(jié)構(gòu)體可如下設(shè)置:extern volatile struct StatusStruct{/*ART狀態(tài)查詢結(jié)構(gòu)體UARTLSR的定義*/unsigned int reserved:10;unsigned int THRE:l;/*傳輸寄存器是否空*/unsigned int BI:1;/*傳輸中斷差錯*/unsigned int FE:1;/*幀差錯*/unsigned int PE:1;/*奇偶差錯*/unsigned int OE:1;/*溢出差錯*/unsigned int DR:1;/*數(shù)據(jù)準(zhǔn)備好標(biāo)志*/}UARTLSR; 通過查詢相應(yīng)的狀態(tài)位,來判定后續(xù)的操作。 軟串口 軟串口的實現(xiàn)方式本文采用軟件編程方式實現(xiàn)軟串口的數(shù)據(jù)傳輸。然后,進(jìn)行子幀的處理。在下一步中,語音信號將進(jìn)入共振峰感知加權(quán)濾波處理。然后,調(diào)用Comp_LPC()函數(shù)進(jìn)行線性分析過程,執(zhí)行LPC系數(shù)的計算。如果使用的是C語言編程,可以將預(yù)先計算好的系數(shù)存放在一個數(shù)組之中;如果使用的是DSP的匯編語言,可以開辟一段區(qū)域,將所有系數(shù)存放在一個table之中。2 塊大小的設(shè)置這里提到的“塊大小”即為上述程序流圖中的COUNT值,也就是計數(shù)器的初始大小,每采樣COUNT次進(jìn)行一次音調(diào)檢測。塊處理主要是進(jìn)行音調(diào)檢測,通過一系列檢測確定信號是否有效。一旦7FFFh被寫入AD73360后,就可以開始讀取數(shù)據(jù)進(jìn)行處理了。第二個控制字(FAh)的寫入是為通道1和通道2上電的指令,并且在此分別設(shè)定了兩者的增益大小。如果使用CSL完成DSP寄存器地址映射,McBSP的寫操作則可以直接調(diào)用CSL中的庫函數(shù)來完成。表41 AD73360的控制字格式1514131211109876543210設(shè)備地址寄存器地址寄存器內(nèi)容由表41可知,每個寄存器的控制字由16位bit組成,其中由最高位的bit判定輸入AD的數(shù)據(jù)是控制字還是待處理的模擬信息,如果該bit為1,則表明輸入的為程序模式或混合程序/數(shù)據(jù)模式下的控制字;如果該bit為0,則表明輸入的是待處理的模擬信息。(2) CSL的使用DSP的初始化主要是調(diào)用CSL庫,并通過調(diào)用其中的庫函數(shù)對相關(guān)的寄存器進(jìn)行設(shè)置。 對硬件進(jìn)行抽象,提取符號化的片上外設(shè)描述:定義一組宏,用于訪問和建立寄存器及其域值216。 初始化函數(shù) DSP初始化(1) Chip Support Library(CSL)簡介隨著DSP片上外設(shè)種類及其應(yīng)用的日趨復(fù)雜,TI公司提供了一組用于訪問和控制片上外設(shè)的標(biāo)準(zhǔn)的方法,被成為Chip Support Library(簡稱CSL)。 主程序流程圖多路語音數(shù)據(jù)的處理是在單路的基礎(chǔ)上完成的?;谝陨峡紤],本論文采用的方法是將兩種編程語言折中選擇,即程序的主體框架和對實時性要求不高的部分用C/C++語言編寫,而中斷向量表和鏈接文件等則采用匯編語言編程實現(xiàn)。匯編語言是接近底層的機器代碼,對硬件的操作更為直接,編寫程序執(zhí)行速度快,效率較高,但程序編寫復(fù)雜,開發(fā)周期長,程度的易讀性和可移植性較差。前者可以脫離DSP芯片,在PC機上模擬DSP的指令集與工作機制,主要完成前期算法的實現(xiàn)和調(diào)試;后者可以實時運行在DSP芯片上,進(jìn)行在線編寫和調(diào)試應(yīng)用程序。能對TMS320系列DSP進(jìn)行指令級的仿真和進(jìn)行可視化的實時數(shù)據(jù)分析。 軟件開發(fā)環(huán)境CSS簡介Code Composer Studio簡稱CCS,是TI公司推出的為開發(fā)TMS320系列DSP軟件的集成開發(fā)環(huán)境(IDE)。而在混合模式下,系統(tǒng)總是在程序方式和數(shù)據(jù)方式之間不斷地切換工作,以達(dá)到在從AD73360讀取數(shù)據(jù)期間改變其配置的目的。當(dāng)系統(tǒng)中接入AD73360后,需要由DSP向其各個寄存器寫入合適的控制字完成其基本工作方式的設(shè)定。3)由于AD73360具有內(nèi)置的程控可變增益放大器,所以這款A(yù)D芯片不僅適合于大信號應(yīng)用,同樣適用于小信號應(yīng)用,而且對小信號應(yīng)用尤為簡單高效。各個通道在音頻范圍內(nèi)可提供77dB的信噪比。當(dāng)級聯(lián)使用AD73360時,最多可將8個AD73360芯片級聯(lián)在一起。上述6通道各路自帶轉(zhuǎn)換電路,可以保證同時采樣,并且無需CPU干預(yù),從而有效地減少了由于采樣時間不同而產(chǎn)生的相位誤差。 A/D芯片的選型和使用(1)AD73360的主要特征[12]根據(jù)項目要求,需要選擇一款具有多輸入通道的A/D芯片。 在片內(nèi)存儲器、片外存儲器、片上外圍設(shè)備之間傳送數(shù)據(jù)216。如果使用TI提供的CSL進(jìn)行DSP的初始化,則可根據(jù)CSL提供的庫函數(shù)直接修改其函數(shù)參數(shù)即可完成操作上述操作。(3) McBSP的使用如前所述,McBSP包含兩個通路:數(shù)據(jù)流和控制通路。然后,再由(RBRRBR2)復(fù)制到DRRs,由CPU或DMA控制器讀取。DSP的CPU或DMA控制器與McBSP的通信,通過16bit寄存器訪問內(nèi)部的外設(shè)總線來實現(xiàn)。通過這個單元所保證的指令的并行性,是提高C55x處理效率的關(guān)鍵。4)數(shù)據(jù)計算單元。在程序執(zhí)行中,為訪問數(shù)據(jù)提供地址指針。2)程序流單元。C55x CPU包含有4個單元:1)指令緩存單元。雙MAC可以在一個周期內(nèi)完成兩個17*17bit的MAC運算。C55x的指令集是C54x的超集,加入了適應(yīng)擴展的新的硬件單元的指令。(2)TMS320C5509 DSP的性能簡介TMS320C5509 DSP作為C55x系統(tǒng)的代表型號,具有以下主要特征[10]:l 一個3216位的指令緩沖隊列;l 兩個1717位的乘加單元;l 一個40位的算術(shù)邏輯單元;l 一個40位的移動器;l 一個16位算術(shù)邏輯單元;l 四個40位的累加器;l 12組獨立的總線。對于實驗室已經(jīng)購進(jìn)的TMS320C5509 DSP來說,其片上資源更為豐富,其擁有256KB的RAM和64KB的ROM。TMS320C28lx DSP的芯片內(nèi)部提供了16KB的SARAM。同時這款芯片也是在日常開發(fā)中較為熟悉其使用方法的一款芯片,在使用方法上,技術(shù)較為成熟。結(jié)合實驗室的現(xiàn)有硬件條件,主要在三款DSP芯片上作以取舍。本論文的主要工作是下位機的軟件設(shè)計部分,因此本章也是主要圍繞著下位機的硬件平臺和軟件設(shè)計來敘述的。在第六章的方案升級中,也將提到其他的改進(jìn)方法。語音算法通常含有較為復(fù)雜的算術(shù)運算,因此選用DSP作為處理芯片。鐵路上的工作人員使用自己手中的對講機發(fā)送調(diào)度指令,由監(jiān)控室中的對講機接收這些信息并將其進(jìn)行保存,以備日后的核查。其中,每個脈沖的正負(fù)符號用lbit來編碼,故4個脈沖共計4bit;所有脈沖的位置可以同時移動一位變成奇數(shù)位置,是否一位用1bit編碼,綜上所述,總計為17bit。12,10,18,26,34,42,50,58第3個脈沖177。表21中的每行表示每個激勵脈沖的可能位置為8個,相鄰的兩個位置之間相差為8個樣點位置,相鄰兩個脈沖的對應(yīng)的可能位置之間相差2個樣點位置。這樣就用5個或6個點代表60個信號。上文提到的待尋找的合適的參數(shù)就是G、和。針對兩種不同碼率的編碼方式采用不同的搜索算法:對于高碼率編碼()采用多脈沖最大似然量化(MPMLQ),對于低碼率編碼()采用代數(shù)碼本激勵線性預(yù)測(ACELP)。然后進(jìn)行自適應(yīng)碼本搜索,即將基音預(yù)測器的增益進(jìn)行矢量量化。如前所述,開環(huán)基音搜索是基于整幀的整數(shù)基音估計,沒有考慮到合成后的語音和原始語音之間的誤差,所以開環(huán)基音搜索只是對基音周期的估計,確定了基音周期的大致范圍,并不能確定基音周期的準(zhǔn)確值。沖激響應(yīng)的傳輸函數(shù)表達(dá)式如下: , (216)公式(216)中,、分別為語音合成濾波器、感知加權(quán)濾波器和諧振峰噪聲整形濾波器的傳輸函數(shù)。為了求得最佳時延L,對CPW(j)定義如下,并對其采用最大化準(zhǔn)則: , (215)其中,L1 = LOL 3,L2 = LOL+ 3。使得互相關(guān)最大的索引號j即為開環(huán)基音周期。(6)開環(huán)基音估值開環(huán)基音估值(也稱開環(huán)基音搜索)就是對語音信號的基音周期的估計。因此,在衡量合成后的語音與原始輸入的語音之間的誤差的時候,要考慮上述因素,即在語音能量較高的頻段,允許的誤差大一些,以降低編碼速率,所以要引入共振峰感知加權(quán)濾波器W(z)來實現(xiàn)對語音信號的修正[7]。量化的基本步驟如下:1)用搜索單位圓和對過零點進(jìn)行插值的方法將LPC系數(shù)aj轉(zhuǎn)換為LSP系數(shù)Pj;2)將得到的LPC系數(shù)去除長時直流成分PDC,得到新的不含有直流分量的LSP矢量p;3)用前一子幀解碼后得到的LSP系數(shù)對當(dāng)前這一子幀進(jìn)行線性預(yù)測,其固定的預(yù)測因子為,從而得到去除直流分量的LSP預(yù)測矢量和殘差LSP矢量; (210) (211)4)將未量化的LSP矢量、量化后的LSP矢量和LSP殘差矢量分別分裂為三個子矢量,這三個子矢量的維數(shù)分別為3維、3維和4維。LSP處理包括三個部分:LSP量化、LSP解碼和LSP插值。然后,對于每個子幀,利用LevinsoDurbin遞歸算法求出10個線性預(yù)測系數(shù)(LPC系數(shù)) ,這些系數(shù)也將在后續(xù)的計算中用于共振峰感知加權(quán)濾波器。(3) 線性預(yù)測分析(LPC)線性預(yù)測是在假定系統(tǒng)輸入為白噪聲,輸出為重建的語音信號的情況下,對系統(tǒng)的傳輸函數(shù)的有效估計,其目的在于使得重建信號最大程度地逼近輸入的語音信號,使得二者在主觀感覺上盡可能的一致。所以首先將上述碼流分割成長度為240個樣點的語音幀,即每幀240個采樣值,采樣頻率8kHz,每幀30ms。對于分析合成后的線性預(yù)測誤差信號,并傳送量化參數(shù)。其中,高碼率算法具有較高的重建語音質(zhì)量,而低碼率算法的計算復(fù)雜度則較低。最后由按鍵和DTMF的映射關(guān)系得到相應(yīng)的按鍵信息。由此可知,結(jié)合公式(22)和公式(26),即可計算輸入序列x(n)的單點DFT X(k)的幅度平方方值。在DTMF檢測解碼中,由于輸入的信號是實數(shù)序列,所以并不要檢測出8個行列頻率的相位信息,只需要計算出其幅度的平方值即可,即只需考慮。Goertzel算法可以看作是2階IIR濾波器,[5]。由于本論文采用DSP芯片來實現(xiàn)對DTMF信號的檢測,同時DSP芯片處理的是數(shù)字信號,所以必須先將由對講機輸入的DTMF信號進(jìn)行A/D轉(zhuǎn)換,再將數(shù)字化的信息送入DSP進(jìn)行相應(yīng)的檢測處理
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1