• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      改進(jìn)DTMF 信號(hào)檢測方案在定點(diǎn)DSP 上的實(shí)現(xiàn)

      2012-03-18 08:09:42徐靈飛林浩冬
      電訊技術(shù) 2012年5期
      關(guān)鍵詞:頻點(diǎn)解碼定點(diǎn)

      徐靈飛,章 紅,林浩冬

      (1.成都理工大學(xué) 工程技術(shù)學(xué)院,四川 樂山614007;2.電子科技大學(xué) 電子工程學(xué)院, 成都610054)

      1 引 言

      目前,很多場合使用專用芯片, 例如MT8870、MT8880 等,進(jìn)行雙音多頻(DTMF)信號(hào)的檢測。但是,這種實(shí)現(xiàn)方案的外圍電路及用戶接口電路復(fù)雜,容易引入噪聲,并且功耗大、成本高[1]。再者,專用芯片都是依靠計(jì)算輸入信號(hào)的過零率來實(shí)現(xiàn)檢測,但當(dāng)信號(hào)混有音頻和噪音時(shí),專用芯片檢測結(jié)果容易出現(xiàn)錯(cuò)誤。還有,如果系統(tǒng)功能需要改變,往往需要重新設(shè)計(jì)電路,增加了系統(tǒng)升級(jí)、維護(hù)成本。這些因素都決定了傳統(tǒng)方法實(shí)現(xiàn)DTMF 信號(hào)生成與檢測方案的局限性,因此,利用定點(diǎn)DSP 芯片高速靈活的數(shù)值運(yùn)算能力,取代專用硬件芯片進(jìn)行DTMF 信號(hào)檢測,可提高系統(tǒng)集成度,降低成本,便于系統(tǒng)靈活更新調(diào)整,是一項(xiàng)具有很高工程實(shí)踐價(jià)值的工作。

      本文對(duì)比研究了幾種DTMF 信號(hào)解調(diào)的方法,根據(jù)DTMF 信號(hào)的特點(diǎn),在原始Goertzel(戈策爾)算法的基礎(chǔ)上,給出改進(jìn)的Goertzel 算法實(shí)現(xiàn)原理,并制定了詳細(xì)的信號(hào)有效性判定流程,形成了完整高效的DTMF 信號(hào)檢測在定點(diǎn)DSP 上實(shí)現(xiàn)的方案。對(duì)原始 Goertzel 算法和改進(jìn) Goertzel 算法在TMS320VC5416 上實(shí)現(xiàn)的檢測效果進(jìn)行了對(duì)比研究,并在不同噪聲背景下進(jìn)行了大量實(shí)驗(yàn),給出了改進(jìn)DTMF 信號(hào)檢測方案對(duì)DTMF 信號(hào)檢測率的結(jié)果。實(shí)驗(yàn)結(jié)果表明,在DTMF 信號(hào)頻率偏移小于1.5%時(shí),改進(jìn)算法具備更好的檢出效果,而在DTMF 信號(hào)頻率偏移大于3.5%時(shí),改進(jìn)算法能更好地將信號(hào)濾除,較好地滿足ITU-T Q.24 在信號(hào)頻率容錯(cuò)率上的要求。同時(shí),制定的信號(hào)有效性判定流程可以將DTMF 信號(hào)和普通音頻信號(hào)區(qū)分開,并且在一定的背景噪音下,方案仍能實(shí)現(xiàn)較高的信號(hào)檢出率。

      2 DTMF 信號(hào)的檢測

      使用697 Hz、770 Hz、852 Hz、941 Hz 4 個(gè)低頻群信號(hào)和1 209 Hz、1 336 Hz、1 477 Hz和1 633 Hz 4 個(gè)高頻群頻率,兩兩組合形成16 種不同的高低頻信號(hào)疊加的DTMF 信號(hào),可以對(duì)應(yīng)16 個(gè)不同的按鍵。DTMF 信號(hào)的檢測過程分三步進(jìn)行:第一,對(duì)輸入的信號(hào)的幅度進(jìn)行抑制;第二,對(duì)信號(hào)進(jìn)行DTMF 解碼;第三,對(duì)DTMF 解碼的結(jié)果進(jìn)行有效性判定。當(dāng)以上三步都處理結(jié)束后,就可以得到:當(dāng)前輸入信號(hào)是否是有效的DTMF 信號(hào);如果輸入信號(hào)是有效的DTMF 信號(hào),就可以通過簡單的掃描判別程序得到組成DTMF 信號(hào)的兩個(gè)頻率及對(duì)應(yīng)的按鍵值。

      2.1 輸入信號(hào)幅度抑制

      由于DTMF 信號(hào)檢測程序全部使用定點(diǎn)數(shù)進(jìn)行計(jì)算,一旦在計(jì)算中出現(xiàn)溢出,將影響到對(duì)信號(hào)頻率的準(zhǔn)確提取和判定。因此,為了在后面進(jìn)行解碼運(yùn)算時(shí)避免出現(xiàn)結(jié)果溢出的情況,需要對(duì)輸入的信號(hào)的幅度進(jìn)行抑制。幅度抑制原理如下:

      式中,x(n)為輸入信號(hào),y(n)為幅度抑制后的輸出信號(hào), Tg 為幅度抑制常數(shù), Ag 為輸入信號(hào)平均峰值幅度,根據(jù)公式(1)計(jì)算得到:

      經(jīng)測試, Tg可以設(shè)置為0120H,這時(shí)根據(jù)以上的幅度抑制原理編寫的程序,完全可以防止后續(xù)程序計(jì)算的溢出。

      2.2 輸入信號(hào)的DTMF 解碼

      基于DTMF 信號(hào)的基本特性,DTMF 信號(hào)的解碼過程主要通過數(shù)學(xué)變換方法將組成DTMF 信號(hào)的兩個(gè)頻點(diǎn)尋找出來,這樣的方法有MUSIC (Multiple Signal Classification)算法[2]、FFT 算法、SB -NDFT(Subband Nonuniform Discrete Fourier Transform algorithm)算法[3]和Goertze 算法。

      MUSIC 算法對(duì)DTMF 信號(hào)檢測的效果較好,但其運(yùn)算量太大[2],不適合在定點(diǎn)DSP 處理器上進(jìn)行實(shí)時(shí)處理。

      SB-NDFT 算法利用FFT 快速算法的原理,通過對(duì)輸入樣點(diǎn)的抽取[3],并結(jié)合Goertzel 算法,使得運(yùn)算量比Goertzel 算法降低將近50%,可以提高系統(tǒng)的實(shí)時(shí)性。SB -NDFT 算法的數(shù)學(xué)描述如公式(2)和公式(3):

      其中, G(ej2ωk)2可以通過Goertzel 算法計(jì)算得到。

      SB-NDFT 算法犧牲了一部分高頻分量的能量,同時(shí)又要求所檢測信號(hào)的頻率不能超出2 kHz,這就使得SB-NDFT 算法不能分離輸入信號(hào)中的DTMF 信號(hào)與其二次諧波(頻率超出了2 kHz 的范圍)。事實(shí)上,通過SB-NDFT 算法在定點(diǎn)DSP 處理器TMS320VC5416 上的實(shí)驗(yàn),發(fā)現(xiàn)這一算法的檢測效果非常不好,幾乎不能將DTMF 信號(hào)的頻率分離出來。分析造成這一結(jié)果的原因主要是:在定點(diǎn)DSP 上編寫匯編程序,用定點(diǎn)數(shù)進(jìn)行數(shù)學(xué)運(yùn)算,這一過程中存在大量的四舍五入,嚴(yán)重影響了算法的精確性。如果把程序改為浮點(diǎn)數(shù)進(jìn)行操作的話,將影響到程序的實(shí)時(shí)性和功能冗余性,使其很難在實(shí)際應(yīng)用。因此,SB-NDFT 算法在定點(diǎn)DSP 上實(shí)現(xiàn)的可行性不高。

      DTMF 信號(hào)只用關(guān)心其8 個(gè)行頻/列頻及其二次諧波信息即可,因此,使用DFT 對(duì)DTMF 信號(hào)進(jìn)行解碼比使用FFT 進(jìn)行解碼更快。對(duì)于N 點(diǎn)DFT, 需要N2個(gè)復(fù)系數(shù),相應(yīng)的加法和乘法運(yùn)算次數(shù)分別為16(N-1)和16N 次。但是,使用Goertzel 算法計(jì)算一個(gè)頻點(diǎn)只需一個(gè)實(shí)系數(shù)和一個(gè)復(fù)系數(shù),相應(yīng)的加法和乘法運(yùn)算次數(shù)分別為8(2N -1)和8(N +1)次[4-5]。使用Goertzel 算法檢測DTMF 信號(hào)比使用DFT 檢測更有效率。

      Goertzel 算法無論在運(yùn)算量、頻率檢測的精度以及抗干擾等方面都有很好的表現(xiàn)。Goertzel 算法的數(shù)學(xué)描述如公式(4)和公式(5):

      其中,vk(-1)=0,vk(-2)=0,x(n)=input。

      2.3 改進(jìn)Goertzel 算法

      通常Goertzel 算法運(yùn)算中的k 取的是整數(shù),這就造成了對(duì)所檢測頻率的誤差。同時(shí),隨著N 的變化,這一誤差也是不斷變化的。幾乎不可能在DTMF 信號(hào)所有頻點(diǎn)上找到一個(gè)N,使得產(chǎn)生的頻率誤差都符合ITU-T Q.24 對(duì)DTMF 信號(hào)檢測的規(guī)定。為了得到一個(gè)最優(yōu)的N 值,可以通過尋找使得所 有 頻 點(diǎn) 處 k 的 誤 差 平 均 值最小這一過程來實(shí)現(xiàn)[6]。通過Matlab 仿真可以得到, 當(dāng)N 取106、125、163、186、205、227、238、245 等值時(shí),可以得到一個(gè)較好的檢測結(jié)果。在實(shí)際的計(jì)算過程中,如果調(diào)整k 的取值,不按照DFT 定義中取整數(shù)的規(guī)定來取值,而是直接按照實(shí)際的DTMF 信號(hào)頻率取值,這樣可以降低檢測過程中的檢測誤差。這時(shí),用Q15 定點(diǎn)數(shù)格式表示,按照DTMF 信號(hào)的頻率由低到高排列,則分別是27 980、26 956、25 701、24 216、19 073、16 325、13 085、9 315。

      2.4 原始Goertzel 算法和改進(jìn)Goertzel 算法對(duì)比

      根據(jù)公式(4)和公式(5),以不同k 的取值編寫程序?qū)崿F(xiàn)原始Goertzel 算法和改進(jìn)Goertzel 算法。以DTMF 信號(hào)“4”為例,通過對(duì)頻率沒有誤差的DTMF信號(hào)的檢測和對(duì)有3.5%頻率誤差的DTMF 信號(hào)的抑制,來說明原始Goertzel 算法在頻率檢測上與改進(jìn)Goertzel 算法的區(qū)別,N 取值106。

      (1)當(dāng)構(gòu)成DTMF 信號(hào)的頻率沒有誤差時(shí),對(duì)同一信號(hào)兩種算法的檢測結(jié)果如圖1 和圖2 所示。

      圖形顯示窗口中橫軸顯示的0 ~7 分別表示DTMF 信號(hào)的8 個(gè)頻率,存儲(chǔ)區(qū)顯示窗口顯示中ENERGY 開始顯示的8 個(gè)數(shù)據(jù)表示DTMF 信號(hào)的8 個(gè)頻率頻譜能量檢測結(jié)果。

      圖1 頻率沒有誤差時(shí)原始Goertzel 算法檢測結(jié)果Fig.1 Test result of the original Goertzel algorithm when the frequency of DTMF signals has no error

      圖2 頻率沒有誤差時(shí)改進(jìn)Goertzel 算法檢測結(jié)果Fig.2 Test resu lt of the modified Goertzel algorithm when the frequency of DTMF signals has no error

      由圖1 和圖2 可以得到,原始Goertzel 算法在頻率770 Hz和1 209 Hz處得到的計(jì)算結(jié)果分別是2 845和3 007,而改進(jìn)Goertzel 算法得到的計(jì)算結(jié)果分別是4 129和4 281。由此可見,改進(jìn)Goertzel 算法比原始Goertzel 算法能更精確地定位信號(hào)的頻點(diǎn)。以同樣的方法對(duì)其他的頻率做同樣的實(shí)驗(yàn),當(dāng)頻率誤差小于1.5%時(shí),可以得到相同的結(jié)果。

      (2)當(dāng)構(gòu)成DTMF 信號(hào)的頻率有3.5%誤差時(shí),對(duì)同一信號(hào)兩種算法的檢測結(jié)果如如圖3 和圖4 所示。

      圖3 頻率有3.5%誤差時(shí)原始Goertzel 算法的檢測結(jié)果Fig.3 Test result of the original Goertzel algorithm when the frequency of DTMF signals has error of 3.5%

      圖4 頻率有3.5%誤差時(shí)改進(jìn)Goertzel 算法的檢測結(jié)果Fig.4 Test result of the modified Goertzel algorithm when the frequency of DTMF signals has error of 3.5%

      由圖3 和圖4 可以得到,原始Goertzel 算法在頻率770 Hz和1 209 Hz處得到的計(jì)算結(jié)果分別是3 605和1 656,而改進(jìn)Goertzel 算法得到的計(jì)算結(jié)果分別是2 617和899。由此可見,改進(jìn)Goertzel 算法比原始Goertzel 算法能更好地抑制準(zhǔn)確頻點(diǎn)外的信號(hào)。當(dāng)使用更大誤差頻率的DTMF 信號(hào)來做實(shí)驗(yàn),同樣可以得到以上結(jié)果。以同樣的方法對(duì)其他的頻率做了大量同樣的實(shí)驗(yàn),得到的結(jié)果都證明:改進(jìn)Goertzel算法比原始Goertzel 算法能更好地抑制3.5%誤差以外的DTMF 信號(hào)。

      2.5 信號(hào)解碼結(jié)果的有效性判定

      為了區(qū)分DTMF 信號(hào)和音頻信號(hào),改進(jìn)Goertzel算法不僅要檢測DTMF 信號(hào)頻率,還要檢測其二次諧波的頻譜平方幅度。然后,通過一系列的判決步驟, 最終判定輸入的信號(hào)是否是一個(gè)有效性的DTMF 信號(hào)。判決步驟如下:

      (1)檢測低頻群和高頻群信號(hào)能量中最大值是否高于某一能量閾值T-PStp;

      (2)檢測信號(hào)的強(qiáng)度是否足夠大,低頻組分量和高頻組分量的最大能量應(yīng)高于某一確定閾值T-PStr;

      (3)如果DTMF 信號(hào)存在,比較低頻組與高頻組中最大能量之間的差值,其值應(yīng)低于某一確定閾值T-PTwi;

      (4)分別在低頻群與高頻群里比較最大能量與其他頻點(diǎn)能量的差值,所有差值都應(yīng)分別高于某一個(gè)閾值T-PDif;

      (5)由于DTMF 信號(hào)只有在基頻上具有較高的能量,而音頻信號(hào)總是會(huì)在基頻上疊加了具有一定強(qiáng)度的二次諧波分量,因此,需要檢測信號(hào)的二次諧波強(qiáng)度,確定低頻群與高頻群頻點(diǎn)的二次諧波能量都應(yīng)低于某一確定閾值T-P2Har,以此區(qū)分DTMF信號(hào)和音頻信號(hào)。

      在程序中用Q15 定點(diǎn)數(shù)形式設(shè)定T-PStp =0180h,T-PStr=0BB8h, T-PTwi=0400h, T-PDif=1100h,T-P 2Har=0700h。需要注意的是,這幾個(gè)參數(shù)不是一成不變的,必須根據(jù)系統(tǒng)的實(shí)際情況,經(jīng)測試確定。

      3 DTMF 信號(hào)檢測程序流程圖

      對(duì)信號(hào)有效性的判定,需要最少有兩次連續(xù)判定結(jié)果一樣,同時(shí),在此之后緊接著能檢測到一個(gè)停頓狀態(tài),才能認(rèn)定當(dāng)前信號(hào)是一個(gè)有效的DTMF 信號(hào)。在判定一個(gè)有效的DTMF 信號(hào)后,就可通過鍵值掃描程序確定檢測出來的兩個(gè)頻點(diǎn)的具體頻率值,通過組合,從而得到DTMF 信號(hào)所對(duì)應(yīng)的按鍵值。DTMF 信號(hào)檢測整個(gè)程序執(zhí)行的流程圖如圖5所示。

      圖5 DTMF 信號(hào)檢測程序總流程圖Fig.5 Flowchart of the DTMF signal detection

      4 實(shí)驗(yàn)測試結(jié)果

      整個(gè)程序以匯編語言實(shí)現(xiàn), 在TMS320VC5416電路板上以160 MHz主頻進(jìn)行測試。系統(tǒng)采樣頻率為8 000 Hz,采樣間隔為125 μs。由圖5 可知,每采樣一個(gè)樣點(diǎn)都需要進(jìn)行處理,當(dāng)程序中所有需要判定的條件都滿足時(shí),DSP 執(zhí)行程序的時(shí)間最長,需要2 532個(gè)CPU 時(shí)鐘周期,共16 μs。這證明整個(gè)程序在定點(diǎn)DSP 上具有很好實(shí)時(shí)性,在DSP 處理完DTMF信號(hào)的檢測后,還可以處理其他工作。

      在一信噪比下,連續(xù)對(duì)同一DTMF 信號(hào)持續(xù)采樣21 200個(gè)樣點(diǎn),完成200 次檢測。將改進(jìn)DTMF 信號(hào)檢測方案在定點(diǎn)DSP 上運(yùn)行, 對(duì)比不同信噪比DTMF 信號(hào)的檢測率(在單個(gè)N =106 的檢測窗口中),結(jié)果如表1 所示。

      表1 信噪比與檢出率對(duì)照表Table 1 Table of SNR corresponding to the detection rate

      DTMF 信號(hào)持續(xù)時(shí)間為55 ms,其中包含440 個(gè)樣點(diǎn),當(dāng)N =106 時(shí),程序可以完成4 次完整的檢測。在這期間,當(dāng)信噪比大于等于15 dB時(shí),經(jīng)實(shí)驗(yàn)測試,改進(jìn)Goertzel 算法對(duì)頻偏小于1.5%的DTMF信號(hào)的檢測成功率為100%(4 次完整檢測中,連續(xù)兩次成功檢測率), 同時(shí), 對(duì)于頻偏大于3.5%的DTMF 信號(hào)拒絕成功率為100%。

      5 結(jié)束語

      本文給出了高效的DTMF 信號(hào)的檢測方法和詳細(xì)的DSP 實(shí)現(xiàn)方案。程序使用匯編語言編寫,已在TMS320VC5416 上實(shí)現(xiàn)。相比于純硬件實(shí)現(xiàn)方案,整個(gè)系統(tǒng)工作可靠、靈活、集成度高, 能準(zhǔn)確地檢測DTMF 信號(hào)。相對(duì)于復(fù)雜的MUSIC、FFT、SB-NDFT等算法,文中提出的DTMF 信號(hào)檢測方案更加適合于在定點(diǎn)DSP 和通用處理器上實(shí)現(xiàn)。同時(shí),系統(tǒng)實(shí)時(shí)性高,具有很好的功能冗余度,完全可以應(yīng)用于主叫識(shí)別信息傳送、音頻菜單和遠(yuǎn)程控制等需要嵌入DTMF 信號(hào)檢測方案的場合。對(duì)方案中解調(diào)算法DSP 程序和相關(guān)信號(hào)有效性判定參數(shù)的進(jìn)一步優(yōu)化是下一步研究的內(nèi)容。

      [1] 王偉東, 王薇.雙音多頻通信接口的設(shè)計(jì)[J] .電訊技術(shù),2007,47(4):60-62.

      WANG Wei-deng,WANG Wei.Design of the Dual-Tone Multifrequency(DTMF)Data[ J] .Telecommunication Engineering,2007,47(4):60-62.(in Chinese)

      [2] Arslan G, Evans B,Sakarya F A, et al.Performance evaluation and real-time implementation of subspace, adaptive and DFT algorithms for multi-tone detection[ C]//Proceedings of 1996 IEEE International Conference on Telecommunications.Istanbul, California:IEEE, 1996:884-887.

      [3] Bagchi S, Mitra S K.The nonuniform discrete Fourier transform and its applications in filter design.I.1-D[ J] .IEEE Transactions on Circuits Systems II:Analog and Digital Signal Processing,1996, 43(6):422-433.

      [4] 石明衛(wèi).基于Geortzel 算法實(shí)現(xiàn)高效多路DTMF 檢測[J] .電訊技術(shù),2001,41(5):74-76.

      SHI Ming-wei.Implementation of High Efficient Multiplex DTIMF[ J] .Telecommunication Engineering, 2001, 41 (5):74-76.(in Chinese)

      [5] 常青青,鄧大偉,艾紅.基于DSP 的DTMF 信號(hào)編解碼算法實(shí)現(xiàn)[J] .北京信息科技大學(xué)學(xué)報(bào),2011,26(4):77-82.

      CHANG Qing-qing,DENG Da-wei,AI Hong .The implementation of DTMF encoding /decoding based on DSP[ J] .Journal of Beijing Information Science and Technology University,2011,26(4):77-82.(in Chinese)

      [6] Trajkovic M S,Radovic D.Performance Analysis of the DTMF Detector Based on the Goertzel′S Algorith[ C]//Proceedings of the 14th Telecommunications Forum.Belgrade:Telecommunications Society,2006:1-5.

      猜你喜歡
      頻點(diǎn)解碼定點(diǎn)
      基于4G MR的大數(shù)據(jù)分析優(yōu)化EPSFB語音時(shí)延
      《解碼萬噸站》
      例談圓錐曲線中的定點(diǎn)定值問題
      定點(diǎn)幫扶讓村民過上美好生活
      解析幾何中定點(diǎn)問題的處理策略
      直線過定點(diǎn)的5種特優(yōu)解法
      解碼eUCP2.0
      中國外匯(2019年19期)2019-11-26 00:57:32
      NAD C368解碼/放大器一體機(jī)
      Quad(國都)Vena解碼/放大器一體機(jī)
      基于測量報(bào)告數(shù)據(jù)優(yōu)化CSFB頻點(diǎn)配置的方法
      攀枝花市| 泌阳县| 巴林右旗| 嵊泗县| 会理县| 南昌县| 外汇| 桃江县| 齐齐哈尔市| 襄垣县| 泸西县| 驻马店市| 金坛市| 大厂| 卢湾区| 务川| 佳木斯市| 班戈县| 华亭县| 梅河口市| 威信县| 逊克县| 广西| 如皋市| 紫金县| 台北县| 准格尔旗| 阿坝县| 屏东市| 定州市| 林口县| 新津县| 广南县| 日喀则市| 伊宁市| 玛纳斯县| 台湾省| 屏边| 商南县| 永宁县| 阿城市|