【正文】
和零輸入響應(yīng)。使得CPW(j) 取得最大值的j即為最佳時(shí)延L。其定義如下: (214)其中,為濾波器的系數(shù),L是最佳時(shí)延,也就是諧振峰噪聲整形濾波器的階數(shù)。(7) 諧振峰噪聲整形濾波器如上所述,加入諧振峰噪聲整形濾波器的目的,也是為了提高語音信號的編碼質(zhì)量。其中互相關(guān)的定義如下: , (213)上式中的是感知加權(quán)濾波器產(chǎn)生的語音信號。對于每一幀計(jì)算兩次基音周期,即對每一幀中的前兩個(gè)子幀和后兩個(gè)子幀分別進(jìn)行開環(huán)基音估計(jì)。每個(gè)子幀通過濾波器后得到輸出的語音信號。對每一子幀都要構(gòu)建共振峰感知加權(quán)濾波器W(z),所使用的系數(shù)為每一子幀的未矢量化的LPC系數(shù)。這是因?yàn)?,在語音頻譜中,相對于能量較低的頻段的噪聲,能量較高的頻段即處于共振峰處的噪聲更不容易被感知。對LSP殘差矢量分裂出來的三個(gè)子矢量分別用8bit的碼本進(jìn)行量化,量化采用加權(quán)均方誤差最小準(zhǔn)則;5)將碼本搜索后得到的量化表的索引值傳送到輸出端。然后根據(jù)語音幀間的相關(guān)性,利用預(yù)測分量矢量量化器對得到的LP濾波器進(jìn)行量化。其中后面兩個(gè)部分屬于模擬解碼模塊,該解碼模塊模擬實(shí)現(xiàn)接收端的解碼過程,并將結(jié)果反饋給加權(quán)合成濾波器以調(diào)整濾波器的系數(shù)。LSP采用預(yù)測分裂矢量量化,并且只對四個(gè)子幀中的最后一個(gè)子幀的LPC參數(shù)進(jìn)行LSP處理。用上述LPC系數(shù)構(gòu)建合成濾波器,其定義如下: (29)其中,是LPC系數(shù),i表示第i個(gè)子幀,j表示第j個(gè)LPC系數(shù)。其線性預(yù)測分析過程如下:首先將信號通過上述漢明窗進(jìn)行處理,計(jì)算出11個(gè)自相關(guān)系數(shù)。(LP)進(jìn)行分析,并將上述一幀信號分成4個(gè)子幀,每個(gè)子幀含有60個(gè)樣值,對每個(gè)子幀獨(dú)立進(jìn)行LPC分析。,采用的是一個(gè)單極點(diǎn)單零點(diǎn)的濾波器,其傳輸函數(shù)如下所示: (28)由高通濾波器的傳輸函數(shù)可以看出:其零點(diǎn)為z=1,位于實(shí)軸和單位圓的交點(diǎn)之上,這就充分保證了濾波器對直流分量的抑制作用;同時(shí),其極點(diǎn)為,即所選用的濾波器的極點(diǎn)和零點(diǎn)非常的接近,兩者比值將近為1,具有較為平坦的高通特性。(2) 語音信號的預(yù)處理在處理語音信號之前,一般要將語音信號通過一個(gè)高通濾波器,以濾除直流分量和低頻分量。 ,:(1) 分幀輸入的語音信號為經(jīng)過A/D量化后的16bit線性PCM碼流。壓縮后傳輸?shù)膮?shù)包括線性預(yù)測系數(shù)、自適應(yīng)碼本延時(shí)和增益、激勵(lì)脈沖位置和符號等。 ,以盡量減少實(shí)際語音和合成語音之間經(jīng)感知加權(quán)后的誤差信號的能量為準(zhǔn)則來進(jìn)行編碼。與一般的低碼率語音編碼算法一樣。這兩種碼率都可以提供較高的語音質(zhì)量,(基于分組的多媒體通信系統(tǒng))的首選標(biāo)準(zhǔn)。相關(guān)參數(shù)可以處理為數(shù)組的形式,調(diào)用的時(shí)候采用查表的方式即可。將輸入序列分別通過8個(gè)濾波器計(jì)算出相應(yīng)的值,和門限比較器相比較,來判斷有效的行頻率和列頻率。DTMF解碼器相當(dāng)于含有8個(gè)固定參數(shù)的濾波器,參數(shù)值可由 (27)確定。由式公式(23)可知: (26)利用上式進(jìn)行計(jì)算可以簡化運(yùn)算,同時(shí)避免了計(jì)算復(fù)數(shù)參數(shù)。這種只考慮信號的幅度平方的算法被稱作Goertzel優(yōu)化算法。頻率和參數(shù)的關(guān)系是: (25)其中是所需檢測的頻率,是采樣頻率(本文中采樣頻率為8kHz)。 Goertzel算法的計(jì)算流圖,Goertzel算法由前向通道和后向通道組成。理論上可以證明,當(dāng)計(jì)算的點(diǎn)數(shù)小于log2N時(shí),與需要計(jì)算全部頻域信息的FFT相比,Geortzel算法更為有效。 雙音多頻信號的解碼檢測框圖 Goertzel算法DTMF信號的解碼是基于Goertzel算法的,也稱為高斯算法。這是因?yàn)樯鲜?個(gè)特定頻率只在基波上有較高的能量,而話音信號不但在相同的基波上有較高的能量,在其二次諧波上也疊加有較高的能量,因此,檢測二次諧波就可以有效地區(qū)分DTMF信號和話音信號[4]。這一部分在后續(xù)的硬件實(shí)現(xiàn)平臺(tái)中將有詳細(xì)的介紹。對于雙音多頻信號,由于其信號組成的特殊性,即每個(gè)DTMF信號是由行列兩組音頻信號唯一確定,DTMF的解碼主要完成對有效行列頻率的檢測以及由檢測出的一組行列頻率來判決對應(yīng)的按鍵信息。該信號記錄了所使用的對講機(jī)的編號,可以作為系統(tǒng)的監(jiān)控碼使用,以鑒別語音信號的發(fā)送者。這樣上述4個(gè)行頻率和4個(gè)列頻率的兩兩組合對應(yīng)了16個(gè)不同的按鍵,其中12個(gè)按鍵是比較常見的按鍵(0~9,*),另外的4個(gè)鍵作為保留,以備今后的使用[3]。雙音多頻信號由8個(gè)固定頻率組成,其中4個(gè)行頻率、4個(gè)列頻率。DTMF的出現(xiàn)迅速地取代了原始的dialpulse(脈沖撥號)的方式。下面分別對這兩種算法作以介紹。采用DSP來實(shí)現(xiàn)數(shù)字信號處理系統(tǒng)更是當(dāng)前的發(fā)展趨勢,特別是針對諸如語音處理這種涉及到大量算術(shù)運(yùn)算的技術(shù),采用DSP來進(jìn)行系統(tǒng)實(shí)現(xiàn),優(yōu)勢更加明顯。DSP獨(dú)特的結(jié)構(gòu)決定了它具有運(yùn)算速度快、可編程和接口靈活等特點(diǎn),能快速實(shí)現(xiàn)各種數(shù)字信號處理算法?,F(xiàn)在,語音編碼技術(shù)已經(jīng)成為通信技術(shù)中一個(gè)相當(dāng)重要的學(xué)科,在各種通信系統(tǒng)中都得到了廣泛的應(yīng)用。自從上個(gè)世紀(jì)70年代以來,隨著科學(xué)技術(shù)的迅猛發(fā)展,尤其是隨著計(jì)算機(jī)技術(shù)、微電子技術(shù)、信號處理技術(shù)以及編碼理論的發(fā)展和進(jìn)步,語音編碼技術(shù)取得了許多突破性的進(jìn)展,研究出許多實(shí)用的編碼方案。語音編碼技術(shù)是語音信號處理技術(shù)的一個(gè)重要組成部分。語音信號處理技術(shù)主要有四大分支——語音增強(qiáng)、語音編碼、語音合成和語音識別。關(guān)鍵詞:DSP;語音壓縮;語音監(jiān)控;; GoertzelAbstract: The main work of the issue is the software design which bases on the study of algorithms.Firstly,the issue studies the two algorithms which are related to the software design—— for voice signal pression and Goertzel for the decoding of DTMF,and describes the pficiples and structures of the two algorithms in detail.Then,the issue expatiates the system hardware platform—TMS320C5509 DSP,including the selection for DSP、the control method of A/D and the usage of McBSP,the issue also discusses the software pile environment—CCS and the programming language.Next,the paper discusses the software design of various functional modules,including the pilation for A/D control words、coding processing for voice signals、identification for DTMF and pilation for .cmd file,etc... Moreover,the paper introduces the debugging tools as well as test methods for main programs and proposes the optimization measures for the system.The results of debugging and tests tell that the software of every module can be operated and used normally. Keywords: DSP,voice pression,voice monitoring,Goertzel1引言截至目前為止,在大多數(shù)通信系統(tǒng)中,傳輸最多的信息是語音信號。同時(shí),本文對重點(diǎn)程序進(jìn)行了調(diào)試和相關(guān)的測試,詳細(xì)介紹了調(diào)試的工具和重點(diǎn)程序模塊的調(diào)試方法。繼而,闡述了系統(tǒng)的硬件平臺(tái)TMS320C5509 DSP,其中包括DSP的選型方法、A/D芯片的使用和控制方式,多通道緩存串口McBSP的使用等,并介紹了系統(tǒng)的軟件編譯環(huán)境CCS和編程語言。彭國卿 《基于DSP技術(shù)的語音監(jiān)控系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)》 第 43 頁 共 43 頁 基于DSP技術(shù)的語音監(jiān)控系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名:彭國卿 指導(dǎo)老師:肖紅光摘 要:本文的主要工作是在研究算法的基礎(chǔ)上,將語音監(jiān)控系統(tǒng)在DSP上進(jìn)行了軟件實(shí)現(xiàn)。首先,本文研究了軟件設(shè)計(jì)所需的兩種算法——,從算法的原理、結(jié)構(gòu)等方面作了詳細(xì)的介紹。之后,本文較為詳細(xì)地論述了系統(tǒng)各個(gè)功能模塊的軟件實(shí)現(xiàn)方法,其中包括A/D控制字的編寫、語音壓縮編碼處理、。經(jīng)過調(diào)試和測試,各個(gè)模塊的軟件均運(yùn)行正常,可以達(dá)到預(yù)想的使用效果。隨著信息科學(xué)技術(shù)的飛速發(fā)展,語音處理技術(shù)在最近20多年中取得了重大的進(jìn)展。這四個(gè)部分的發(fā)展都十分迅速,科研成果也收獲頗豐,并陸續(xù)地由理論研究轉(zhuǎn)向?qū)嶋H應(yīng)用。語音編碼屬于信源編碼。這些方案在不斷的研究、改進(jìn)和應(yīng)用中日趨成熟,形成了各種實(shí)用的語音編碼技術(shù)。數(shù)字信號處理器(Digital Signal Processor,DSP)是現(xiàn)代電子技術(shù)、計(jì)算機(jī)技術(shù)和信號處理相結(jié)合的產(chǎn)物。隨著信息和電子技術(shù)的飛速發(fā)展,DSP在電子信息、通信、軟件無線電、自動(dòng)控制、信息家電等多個(gè)領(lǐng)域得到了廣泛的應(yīng)用。2系統(tǒng)軟件理論基礎(chǔ)輸入系統(tǒng)的信號主要有雙音多頻信號和語音信號兩種[1],相關(guān)的基礎(chǔ)理論也主要是針對這兩類信號的不同的處理算法,即雙音多頻的解碼算法——Goertzel算法和語音壓縮編碼算法——[2]。 雙音多頻解碼算法——Goertzel算法 雙音多頻信號(DTMF)信號簡介雙音多頻信號即為DTMF信號(DualTone MultiFrequency),是由美國貝爾實(shí)驗(yàn)室開發(fā)的現(xiàn)代按鍵式電話機(jī)普遍使用的撥號信令。DTMF信號除了在電話系統(tǒng)中得到廣泛的應(yīng)用以外,在其他交互控制應(yīng)用領(lǐng)域,如電話銀行、ATM(自動(dòng)取款機(jī))等,同樣得到了廣泛的應(yīng)用。每個(gè)按鍵唯一地由一組行頻率和列頻率交織組成。 雙音多頻信號的組成在本論文中,由對講機(jī)發(fā)出的數(shù)字信息碼就是雙音多頻信號。 雙音多頻信號的檢測原理一般解碼時(shí),是對收到的音頻信號進(jìn)行檢測,分析出有效頻率組合的存在性,并將其轉(zhuǎn)換成對應(yīng)的按鍵或者數(shù)字信息。由于本論文采用DSP芯片來實(shí)現(xiàn)對DTMF信號的檢測,同時(shí)DSP芯片處理的是數(shù)字信號,所以必須先將由對講機(jī)輸入的DTMF信號進(jìn)行A/D轉(zhuǎn)換,再將數(shù)字化的信息送入DSP進(jìn)行相應(yīng)的檢測處理。在檢測DTMF信號時(shí),不但要檢測出DTMF的基波信息,而且需要考慮其二次諧波的信息。由于每一個(gè)DTMF信號是由固定的8個(gè)頻率組合而成,所以在進(jìn)行運(yùn)算的時(shí)候,不需要計(jì)算全部的頻域信息,只需要計(jì)算特定的頻域信息即可。Goertzel算法可以看作是2階IIR濾波器,[5]。其前向通道的差分方程為: (21)其后向通道的差分方程為: (22)根據(jù)Goertzel算法有: (23)其中 (24)可以看出DTMF的解碼過程就是通過后向通道的差分方程(公式(22))疊代計(jì)算出和,然后再由公式(23)進(jìn)行一次前向運(yùn)算,從而得到所需要的頻率的DFT值。