国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的DTMF信號(hào)檢測(cè)器硬件設(shè)計(jì)與實(shí)現(xiàn)

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

李坡+劉戰(zhàn)

摘要:論文在研究Goertzel算法的基礎(chǔ)上采用了基于硬件的實(shí)現(xiàn)方法完成了DTMF信號(hào)檢測(cè)?;赩erilog HDL語(yǔ)言實(shí)現(xiàn)了DTMF信號(hào)檢測(cè)的RTL設(shè)計(jì),并完成了功能驗(yàn)證,然后基于Altera的DE2-70開(kāi)發(fā)板,完成了FPGA硬件設(shè)計(jì),并在開(kāi)發(fā)板上實(shí)現(xiàn)了DTMF信號(hào)的檢測(cè)。

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

中圖分類(lèi)號(hào):TN911.7 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):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,雙音多頻)是用兩個(gè)特定的單音頻組合信號(hào)來(lái)代表數(shù)字信號(hào)以實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)囊环N編碼技術(shù)。它是用兩個(gè)不同的單音頻來(lái)代表不同的數(shù)字或信息。DTMF廣泛應(yīng)用于電話(huà)通信系統(tǒng)中,用作電話(huà)的音頻撥號(hào)。電話(huà)機(jī)中通常有16個(gè)按鍵,其中10個(gè)數(shù)字鍵0~9和6個(gè)功能鍵*、#、A、B、C、D。每一個(gè)按鍵都用兩個(gè)不同的單音頻傳輸,一個(gè)高頻和一個(gè)低頻。根據(jù)CCITT的建議,國(guó)際上采用的四個(gè)高頻是1209Hz,1336 Hz,1477 Hz和1633 Hz;四個(gè)低頻是697Hz,770Hz,852Hz和941Hz。每一個(gè)按鍵均由高低頻中的各一個(gè)頻率構(gòu)成,例如1用1209Hz和697Hz兩個(gè)頻率構(gòu)成。這樣,8個(gè)頻率可以形成16種不同的雙音多頻。具體組合見(jiàn)表1。

2 Goertzel算法分析

2.1 Goertzel算法的背景

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

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

(1)決定采樣率 ;

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

(3)預(yù)先進(jìn)行一次余弦和正弦計(jì)算;

(4)預(yù)先計(jì)算一個(gè)系數(shù)。

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

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

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

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

4 基于Goertzel算法的DTMF信號(hào)檢測(cè)器的VrilogHDL實(shí)現(xiàn)

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

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

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

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

5 結(jié)語(yǔ)

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

參考文獻(xiàn)

[1] 戈今朝,張祿林,錢(qián)玉美.一種新的基于Goertzel算法的信號(hào)檢測(cè)方法.通信技術(shù),2002,(9):16-18.

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

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

[4] 李亞民.計(jì)算機(jī)原理與設(shè)計(jì).北京:清華大學(xué)出版社,2011.

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

威海市| 名山县| 海晏县| 谢通门县| 洛浦县| 建宁县| 哈巴河县| 钟祥市| 多伦县| 泉州市| 灌阳县| 文成县| 新邵县| 峨眉山市| 壶关县| 汤原县| 磐安县| 四平市| 阿尔山市| 元氏县| 澜沧| 彩票| 德阳市| 镇康县| 桐城市| 本溪市| 隆林| 西林县| 来安县| 贡嘎县| 塔河县| 奉新县| 永昌县| 安阳县| 且末县| 通辽市| 宿松县| 永泰县| 芜湖县| 杭锦旗| 曲沃县|