999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Matlab 平臺系統仿真的Goertzel 算法的聽撥號音識別研究

2024-02-21 04:06:42李永田秦世文李玉成王明建董詩洋
電子制作 2024年3期
關鍵詞:信號檢測

李永田,秦世文,李玉成,王明建,董詩洋

(空軍工程大學航空機務士官學校,河南信陽,464000)

0 引言

如今,智能手機已經完全融入了我們的日常生活。我們頻繁地敲擊手機鍵盤,輸入電話號碼,輸入各種密碼或驗證碼,編輯微信或短信,操作手機銀行、網上購物等,每次敲擊手機鍵盤時,經常會聽見“嘟嘀嗒”的按鍵聲,這些聲音都存在泄密的可能。在現實生活中許多地方存在泄密的可能。例如,電視以及有聲媒體采訪公眾人物時,注意不要把撥號聲音也放出來。我們平常使用手機撥打電話(如手機銀行)時,千萬注意身旁是否有人錄音,否則電話號碼或密碼很容易被還原出來,造成嚴重的隱患。為了防范密碼泄露,在輸入密碼的時候電話銀行系統一般會更改聲調,使得撥號音聽上去怪怪的,這樣做的目的就是防止有人識別你的撥號音。

我們平常所用的電話,是通過雙音多頻(Dual Tone Multi-Frequency,DTMF)信號向交換機傳遞命令的,我們每按下電話鍵盤上的一個按鍵,就會同時發出兩個不同頻率的聲音,轉化為電流在對面解析。通過某些軟件手段便可以還原號碼按鍵音,進而解析出號碼。

一個完整的電話機鍵盤如圖1 所示,有10 個數字鍵和2個字符鍵。根據國際電報電話咨詢委員會(國際電信聯盟前身)建議,每個數字或字符都要用到兩個單頻信號的組合進行傳輸。因此,鍵盤上每個按鍵所對應的信號都可以表示為:

圖1 電話機鍵盤的頻率陣列

其中fL和fH分別表示按鍵所在行和列對應的頻率值,4個行上標注的頻率值697Hz、770、852、941 組成了低頻組,4 個列上標注的頻率值1209、1336、1477 和1633Hz 組成了高頻組。鍵盤號碼和頻率的對應關系如圖1 所示。

這些頻率的取值是經過特別設計的:①這些頻率都處于人的可聽范圍內,因此按鍵下去時人可以聽到;②這8 個頻率中沒有一個頻率是其他任意一個頻率的倍數;③任意兩個頻率的組合、相加或相減都不等于其他任意一個頻率。因此這些特性不僅簡化了雙音多頻信號的解碼,同時也降低了雙音多頻誤檢的概率。

根據國際電報電話咨詢委員會的規定,要求每100ms傳輸一個鍵盤數字或符號,代表數字的音頻信號持續時間必須為45~55ms。為了區分兩個連續地按鍵號碼,在100ms內其他時間應該為靜音(無信號),電話信號的抽樣頻率應該為8kHz。

只要熟悉信號處理時頻變換關系,就很容易看出不同時間段對應的頻率值,再根據DTMF 信號原理就可以馬上反推出按鍵值,也就是通過離散傅里葉變換(Discrete Fourier Transformation,DFT),先將DTMF 信號轉換成頻域,然后在頻域上判斷各個頻點的能量。通過Matlab仿真可得,圖2 給出的就是按鍵1 的時域波形和頻域波形,可以很直觀地看出按鍵1 其實就是由兩個單頻信號構成的(697Hz 和1209Hz)。

圖2 按鍵1 的時域波形和頻域波形

圖3 給出了按鍵0~9 的時域波形和頻域波形,可以很直觀地看出每個按鍵其實就是由兩個單頻信號構成的。DTMF 信號在高低頻處的頻譜幅度非常大,其他頻率處幾乎為0。將DTMF 信號轉換為離散時間序列,然后執行DFT,檢測幅度頻譜最大的兩個頻率。本論文實現的DTMF 信號的編碼和譯碼是理想情況下的編譯碼,實際中DTMF 信號在傳輸過程中會混疊有大量的噪聲,不能通過簡單的計算固定頻率處的幅度來確定信號的頻率成分。

圖3 按鍵0~9 的時域波形和頻域波形

圖4 中給出的就是按鍵0~9 撥號音的時頻圖,仿真程序為了更好地模擬真實情況,在源代碼中還引入了撥號間隔時間(blk)和傳輸噪聲(noise)這兩個仿真參數。從圖中結果可以看出,按鍵1,2,3 具有相同的低頻信號(697Hz),而它們的高頻信號是逐個上升的,其他按鍵頻率的變換關系與此類似。

圖4 按鍵0~9 的時頻圖

直接計算DFT 的計算量較大,而DTMF信號檢測只需要計算少數幾個頻點的頻譜。所以工程商通常采用濾波器法或者Goertzel算法來完成DTMF 信號的檢測。

1 濾波器法識別及仿真結果

濾波器法識別按鍵的原理如圖5 所示,該方法最關鍵的步驟就是設計8 個帶通濾波器,每個帶通濾波器的中心頻率對應著低/高頻組的各個頻率點。將待識別的撥音號碼(DTMF 信號波形)依次通過這8 個帶通濾波器,理論上只有頻率成分與濾波器中心頻率一致的信號才能通過,在濾波器輸出端檢測能量最大者即可判斷出低/高頻序號,最后通過鍵盤上頻率陣列的對應關系即可反推出按鍵值。

圖5 濾波器法識別按鍵值

將輸入值(DialNum)任意更改為電話機鍵盤上不同的按鍵值,逐個檢驗估計值(keynum)。我們發現利用濾波器法識別單個按鍵值并不能達到100%的準確率,識別效果對輸入信號的時長、快速傅里葉變換(Fast Fourier Transform,FFT)點數、濾波器階數等參數都比較敏感,利用濾波器法識別按鍵值的瓶頸在于各個帶通濾波器的幅頻特性并不理想。

圖6 中給出的是中心頻率分別為697Hz 和852Hz 的帶通濾波器的幅頻特性,源代碼中采用基于頻率采樣的方法設計數字濾波器。從圖6 中可以看出,4 個帶通濾波器的通帶部分都重合在一起,770Hz、852Hz 和941Hz 的單頻信號能大部分通過697Hz 的帶通濾波器,換句話說,697Hz 的帶通濾波器對770Hz、852Hz 和941Hz 的單頻信號濾除效果并不理想。

圖6 帶通濾波器幅頻特性對比

2 Goertzel 算法及仿真結果

理論上,DTMF 信號只會在兩個固定的頻率點上出現能量,如何準確、高效地估計這兩個頻率值是識別撥號音的關鍵所在。傳統的頻譜估計方法,得到的是一個頻率區間內所有頻率點的估計結果,而對于DTMF 信號,我們只關心那8個固定頻率點上的功率譜估計值。

Goertzel 算法是估計DTMF 信號功率譜最經典、最實用的方法,該算法只估計DTMF 信號特定頻率點上的功率譜。這種算法充分利用序列的周期特性減少了DFT 的計算量。

其計算公式為:

式中,WN=e-j2π/N;N 為采樣點數,k是求DFT的頻點序號向量。應用中Goertzel 算法的計算量的大小是由N值確定的。計算的N 值越大,即采樣序列越長,在fs已經確定的情況下(本文為8000),其信號的頻率分辨率能力就越強,同時帶來的時延也越長。因此對于采樣點數N 的選擇取決于系統所需要的頻率分辨率。如果N 的值過小,信號檢測時,相鄰的音頻會落入同一檢測窗口,無法分辨,引起誤判。若N 值過大,既增加了無用的計算量,又造成時延的加大。故當N 點采樣結束時,即可完成對信號指定頻率的幅值判斷,大大提高了系統的實時性。Goertzel 算法一次只計算一個頻點的傅里葉分量,本文中N 的值取為205。

圖7 中可以看出,左邊較低的信號為697Hz 信號的頻率分量,另一根為1209Hz信號。使用Goertzel 算法相同的計算結果,對于指定的音頻697Hz,算法能夠計算出其頻率幅度。另外可以發現,音頻信號與背景噪聲的功率差別比較大,這也是用閾值法判斷音頻是否存在的依據。

圖7 利用Goertzel 算法估計DTMF 信號的功率譜(按鍵1)

從圖8 中可以看出,Goertzel 算法只估計出事先給定的7 個頻率點上的功率譜(只需要7 個頻率值即可表示純數字的按鍵)。此時只需要檢測出最大的兩個能量值對應的頻率點,即可從鍵盤上頻率陣列的對應關系反推出按鍵值。通過這種方法可以對用戶某些重要操作按鍵進行錄音,然后對錄音數據在時域上進行檢測,再將有效區域通過Goertzel 算法轉換到頻域進行數字分類,通過比照DTMF 編碼表得到用戶所有按鍵數據。

圖8 利用Goertzel 算法估計DTMF 信號的功率譜(按鍵1~9)

利用Goertzel 算法識別手機號碼,識別效果遠好于濾波器法,而且對于傳輸噪聲等具有一定的抗干擾能力。需要注意的是,該程序直接把手機撥號音切分為11 個DTMF 信號后進行功率譜估計,省去了聲音信號端點檢測的過程,在實際應用中這些流程是必不可少的。

另外當信號長度延長時,將使DFT 的計算量也變大,但是由于DTMF 信號檢測不關心頻譜的相位信息,只關心頻譜的幅度信息,所以通過Goertzel 算法只需要經過N 次的迭代就可以快速計算出頻譜的幅度。

Goertzel 算法實質是對DFT 的快速運算,但可以有選擇地計算個別頻率點處的DFT 值,從而避免造成內存和計算資源的浪費。

3 實驗總結

在本論文“基于Matlab 平臺系統仿真的Goertzel 算法的聽撥號音識別研究”案例中,介紹了如何利用兩個單頻信號的組合來仿真電話撥號音,而本論文則是根據DTMF 信號波形,通過估計頻率值推斷按鍵值。

雙音多頻撥號系統是一種典型的信號處理系統,可實現雙音多頻信號的生成、檢測以及識別。Goertzel 算法只計算單一頻率對應的頻譜分量,在檢測信號時簡化了相位的計算,因而計算量得到精簡。對覆蓋全部頻譜而言,Goertzel有著更高的復雜度,但對單一頻率而言,它的效率更高,適合各種小型處理器和嵌入式設備。對于音頻檢測,Goertzel算法可以使用遞歸的方式在存儲數據的同時開始計算,節省了大量的存儲單元,很好地消除了采集數據所需要的時延,提高了通信的實時性。無論在硬件成本上,還是計算效率上,Goertzel 算法不但優于傳統的獨立識別方法,也明顯優于使用DFT 的軟件解碼方案。

綜上所述,Matlab 平臺能夠很好地生成和檢測DTMF信號。Goertzel 算法是計算序列DFT 和檢測DTMF 并且計算輸入數字的一個可行的方法。

猜你喜歡
信號檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
“幾何圖形”檢測題
“角”檢測題
完形填空二則
孩子停止長個的信號
小波變換在PCB缺陷檢測中的應用
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 欧美爱爱网| 奇米影视狠狠精品7777| 国产欧美日韩在线一区| 国产网友愉拍精品视频| 久久精品无码专区免费| 亚洲欧洲日韩国产综合在线二区| 超碰免费91| 毛片免费视频| 亚洲三级影院| 成人在线观看一区| 久久毛片免费基地| 激情爆乳一区二区| 国产一级二级三级毛片| 国产黑丝视频在线观看| 色综合天天娱乐综合网| 欧美一区二区丝袜高跟鞋| 一本大道香蕉高清久久| 国产精品无码一二三视频| 国产伦精品一区二区三区视频优播 | 真实国产乱子伦高清| 精品五夜婷香蕉国产线看观看| a级免费视频| 狼友视频一区二区三区| 一区二区在线视频免费观看| 久久精品日日躁夜夜躁欧美| 亚洲无码视频图片| 久久亚洲精少妇毛片午夜无码| 视频二区亚洲精品| 亚洲色图综合在线| a毛片免费在线观看| 大陆精大陆国产国语精品1024| 真实国产乱子伦视频| 青青青视频蜜桃一区二区| 亚洲欧美在线综合一区二区三区| 午夜不卡福利| 国产www网站| 欧美亚洲一二三区| 亚洲bt欧美bt精品| 亚洲床戏一区| 国产一级二级三级毛片| 国产精品冒白浆免费视频| 97在线公开视频| 国产毛片片精品天天看视频| 亚洲伊人久久精品影院| 亚洲伊人电影| 色偷偷一区| 欧美a在线看| 青青极品在线| 亚洲日本中文字幕天堂网| 亚洲一级色| 国产簧片免费在线播放| 国内精品小视频福利网址| 色婷婷色丁香| 久久久91人妻无码精品蜜桃HD| AV色爱天堂网| 精品国产香蕉伊思人在线| 伊人中文网| 国产不卡一级毛片视频| 色婷婷丁香| 欧美一区二区福利视频| 国产不卡一级毛片视频| 一级高清毛片免费a级高清毛片| 亚洲高清免费在线观看| 国产综合另类小说色区色噜噜| 国产91小视频| 亚洲欧洲天堂色AV| 免费又爽又刺激高潮网址 | 国产成人精品男人的天堂| 青青青国产在线播放| 日韩天堂在线观看| 人人爱天天做夜夜爽| 在线另类稀缺国产呦| 欧美 国产 人人视频| 这里只有精品在线播放| 亚洲欧洲自拍拍偷午夜色| 国产一区二区影院| 另类专区亚洲| 丁香婷婷激情综合激情| 欧美亚洲综合免费精品高清在线观看| 一级毛片在线播放| 中文字幕2区| 青青草国产精品久久久久|