• 
    

    
    

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

      基于FPGA的DTMF信號檢測器硬件設計與實現(xiàn)

      2015-06-15 15:36:43李坡劉戰(zhàn)
      數(shù)字技術與應用 2015年3期

      李坡+劉戰(zhàn)

      摘要:論文在研究Goertzel算法的基礎上采用了基于硬件的實現(xiàn)方法完成了DTMF信號檢測。基于Verilog HDL語言實現(xiàn)了DTMF信號檢測的RTL設計,并完成了功能驗證,然后基于Altera的DE2-70開發(fā)板,完成了FPGA硬件設計,并在開發(fā)板上實現(xiàn)了DTMF信號的檢測。

      關鍵詞:Goertzel算法 硬件實現(xiàn) FPGA

      中圖分類號:TN911.7 文獻標識碼:A 文章編號:1007-9416(2015)03-0000-00

      Abstract:This paper presents the hardware implementation of DTMF detect. Based on the Goertzel algorithm, the RTL design in Verilog HDL and verification was accomplished, then FPGA was implemented based on the demo board of DE2-70 from ALTERA.

      Key words:Goertzel glgorithm ,Hardware Architechure, FPGA

      1 引言

      DTMF(Dual Tone Multi Frequency,雙音多頻)是用兩個特定的單音頻組合信號來代表數(shù)字信號以實現(xiàn)數(shù)據(jù)傳輸?shù)囊环N編碼技術。它是用兩個不同的單音頻來代表不同的數(shù)字或信息。DTMF廣泛應用于電話通信系統(tǒng)中,用作電話的音頻撥號。電話機中通常有16個按鍵,其中10個數(shù)字鍵0~9和6個功能鍵*、#、A、B、C、D。每一個按鍵都用兩個不同的單音頻傳輸,一個高頻和一個低頻。根據(jù)CCITT的建議,國際上采用的四個高頻是1209Hz,1336 Hz,1477 Hz和1633 Hz;四個低頻是697Hz,770Hz,852Hz和941Hz。每一個按鍵均由高低頻中的各一個頻率構(gòu)成,例如1用1209Hz和697Hz兩個頻率構(gòu)成。這樣,8個頻率可以形成16種不同的雙音多頻。具體組合見表1。

      2 Goertzel算法分析

      2.1 Goertzel算法的背景

      3 Goertzel算法的實現(xiàn)

      Goertzel算法是在每次采樣后立即進行處理,在每個第 次采樣進行一次音調(diào)檢測。在真正運行Goertzel算法之前,必須進行下面的初步計算:

      (1)決定采樣率 ;

      (2)選擇塊大小,即抽樣點數(shù) ;

      (3)預先進行一次余弦和正弦計算;

      (4)預先計算一個系數(shù)。

      這些計算既可以預先完成,然后硬編碼到程序中,從而節(jié)省RAM和ROM空間,也可以動態(tài)方式計算。

      要檢測的信號頻率范圍是697~1633Hz,但考慮到存在語音干擾,除了檢測這8個頻率外,還要檢測它們的二次倍頻的幅度大小,波形正常且干擾小的正弦波的二次倍頻是很小的,如果發(fā)現(xiàn)二次諧波很大,則不能確定這是DTMF信號。這樣頻譜分析的頻率范圍為697~3266Hz。按照采樣定理,要求最小的采樣頻率應為7.24KHz。在數(shù)字電話通信系統(tǒng)中,一般選擇 。

      DFT的頻率采樣點頻率為 (k=0,1,2,……,N-1),相應的模擬域采樣點頻率為 (k=0,1,2,……,N-1),希望選擇一個合適的N,使用該公式算出的 能接近要檢測的頻率,或者用8個頻率中的任一個頻率 代入公式 中時,得到的k值最接近整數(shù)值,這樣雖然用幅度最大點檢測的頻率有誤差,但可以準確判斷所對應的DTMF頻率,即可以準確判斷所對應的數(shù)字或符號。經(jīng)過分析研究認為N=205是最好的。按照 =8KHz,N=205,算出8個頻率及其二次諧波對應k值,和k取整數(shù)時的頻率誤差見表2。

      Goertzel算法的運行: Goertzel實現(xiàn)是每次采樣后立即進行處理,在每個第 次采樣進行一次音調(diào)檢測。在確定了 , 和 后,利用公式(7)和(9)進行迭代計算直到計算出 點的值,然后和預先確定的閾值進行比較,進而判斷對應頻點,再根據(jù)構(gòu)成規(guī)則解出電話號碼。

      4 基于Goertzel算法的DTMF信號檢測器的VrilogHDL實現(xiàn)

      Altera的DE2-70的FPGA開發(fā)板只能處理數(shù)字信號,因此,產(chǎn)生的連續(xù)時間的模擬信號必須經(jīng)過抽樣變成離散時間的數(shù)字信號。為了保證信號的不失真,我們必須選擇合適的抽樣率。我們使用開發(fā)板上的WM8731芯片實現(xiàn)A/D轉(zhuǎn)換。如果輸入聲音過小或人為的加入噪聲,系統(tǒng)能不能準確判斷、檢測,這就涉及到信號的有效檢測問題。

      系統(tǒng)的構(gòu)建:

      系統(tǒng)框圖,如下圖3。

      在圖3中,在主控模塊的控制下,WM5731模塊負責對音頻信號采集,采集后的數(shù)字信號保存在FIFO中,然后將FIFO中的數(shù)據(jù)送入Goertzel模塊,Goertzel模塊提取頻點值送到rank模塊,rank模塊將在輸入的頻點中選取幅度最大的兩個頻點,然后將兩這兩個頻點送入Display模塊,Display模塊將對輸出的兩頻點進進行譯碼并將譯碼的結(jié)果通過數(shù)碼管顯示出來。

      5 結(jié)語

      本文在研究Goertzel算法的基礎上采用了基于硬件的實現(xiàn)方法完成了DTMF信號檢測?;赩erilog HDL語言實現(xiàn)了DTMF信號檢測的RTL設計,并完成了功能驗證,然后基于Altera的DE2-70開發(fā)板,完成了FPGA硬件設計,并在開發(fā)板上實現(xiàn)了DTMF信號的檢測。經(jīng)實際測試達到了預期的效果。

      參考文獻

      [1] 戈今朝,張祿林,錢玉美.一種新的基于Goertzel算法的信號檢測方法.通信技術,2002,(9):16-18.

      [2] Uwe Meyer-Baese著,劉凌,胡永生譯.數(shù)字信號處理的FPGA實現(xiàn).北京:清華大學出版社,2003.

      [3] (美)奧本海姆(Oppenheim,A.V.),(美)謝弗(Schafer,R.W),(美)巴克(Buck,J.R.)著;劉樹棠,黃建國譯,離散數(shù)字信號處理:第2版,西安:西安交通大學出版社,2001.9.

      [4] 李亞民.計算機原理與設計.北京:清華大學出版社,2011.

      [5] 夏宇聞.Verilog 數(shù)字系統(tǒng)設計教程(第2版).北京:北京航空航天大學出版社,2008.6.

      珲春市| 乐至县| 房产| 兴业县| 陕西省| 崇义县| 玛纳斯县| 青海省| 孝感市| 大名县| 潮州市| 关岭| 屏山县| 武川县| 南充市| 获嘉县| 玛沁县| 松原市| 习水县| 裕民县| 和龙市| 酉阳| 达拉特旗| 将乐县| 苍梧县| 平利县| 桃园市| 莫力| 清流县| 临洮县| 黄大仙区| 屏东县| 沙田区| 印江| 讷河市| 东丰县| 太原市| 丰原市| 息烽县| 晋州市| 筠连县|