曹英麗 許童羽 陳春玲 杜夢媛
摘要:頻域分析作為“信號與系統(tǒng)”課程的重要組成部分,因其物理概念復(fù)雜、理論計算枯燥學生理解困難等問題造成教學難度大,為了提高教學質(zhì)量,本文設(shè)計了以DTMF信號為例的頻域分析教學案例,具體研究了利用離散傅里葉變換分析DTMF信號,并實現(xiàn)按鍵號碼的自動檢測。
關(guān)鍵詞:信號與系統(tǒng);頻域分析;教學案例;DTMF
中圖分類號:G642.3 文獻標志碼:A 文章編號:1674-9324(2017)00-0221-03
“信號與系統(tǒng)”是電氣電子信息類本科學生連接數(shù)字信號處理、通信原理等后續(xù)課程學習的一門重要專業(yè)基礎(chǔ)課程,美國麻省理工學院著名教授奧本海默也在他所著教科書Signals and Systems的前言中指出:“信號與系統(tǒng)課程不僅是工程教學中一門非?;镜恼n程,而且也成為工科學生在大學教育階段所修課程中最得益而又引人入勝和最有用的一門課程。”然而由于課程本身的特點,物理概念抽象,并且與數(shù)學聯(lián)系緊密,尤其是頻域分析部分,復(fù)雜的數(shù)學公式推導以及數(shù)學結(jié)果常常使學生難以理解,僅依靠做題來鞏固和理解所學知識,無法達到讓學生真正理解頻域分析的物理概念和工程含義等教學目的,這時根據(jù)課程特點及需要,提出適當?shù)慕虒W案例便能讓學生更深刻理解所學知識的基本原理,更直觀地體會頻譜的物理概念以及應(yīng)用。本文結(jié)合學生日常生活所能接觸到的電話按鍵,設(shè)計了按鍵中DTMF信號頻域分析的教學案例,并實現(xiàn)按鍵號碼的自動檢測。
一、DTMF的概念
DTMF(Dual Tone Multi Frequency,雙音多頻)被廣泛應(yīng)用于世界范圍內(nèi)的按鍵式電話上。作為實現(xiàn)號碼快速轉(zhuǎn)換并傳輸?shù)囊环N技術(shù),具有很強的抗干擾能力和較高的傳輸速度,主要用于解決遠程電話的自動呼叫發(fā)送被叫號碼,代替原本由人工接續(xù)的脈沖撥號方式,是電話系統(tǒng)中電話機與交換機之間的一種用戶信令。電話撥號有兩種,脈沖和音頻,所謂音頻就是雙音多頻(DTMF)信號的撥號方式,近年來DTMF也應(yīng)用在交互式控制中,諸如語言菜單、語言郵件、電話銀行和來電顯示等方面。
DTMF是由兩個特定的單音頻組合信號來代表數(shù)字信號以實現(xiàn)其功能的一種編碼技術(shù),其中一個頻率從四個低頻組中取出,另一個頻率從四個高頻組中取出,不同的頻率組合代表的數(shù)字或?qū)崿F(xiàn)的功能也不同。在電話機中通常有16個按鍵,每個鍵對應(yīng)一個DTMF信號(表1所示)例如按鍵“1”由697 Hz和1209 Hz組成的DTMF信號表示。
撥號時,每按一個鍵就發(fā)送一個由高頻正弦信號和低頻正弦信號組成的DTMF信號,之后利用交換機進行解碼這些頻率組合并確定所對應(yīng)的按鍵。
二、頻域分析教學案例的實施
1.DTMF信號檢測原理分析。根據(jù)DTMF編碼原理可知DTMF信號是由兩個不同頻率的正弦信號組成,而傅里葉變換可以將信號轉(zhuǎn)換成各個頻率分量,如公式(1)傅里葉變換,所以可以應(yīng)用傅里葉分析方法檢測DTMF信號頻域。
在MATLAB仿真環(huán)境中應(yīng)用DFT方法,檢測分析DTMF信號。本次案例采用DTMF編碼的電話按鍵音頻經(jīng)MATLAB讀入并仿真得到DTMF信號x(n),x(n)包含1個DTMF信號,信號時長為0.1s,采樣率fs=8194Hz(由錄制方式?jīng)Q定),這里利用MATLAB中的快速傅里葉變換(FFT)進行時域頻域的轉(zhuǎn)換,因本次分析不需要得到精確的頻率,所以可以忽略頻譜泄露等誤差,其時域波形與頻譜圖分別如圖1(a)(b)所示。
由圖1(b)可得DTMF信號x(n)包含的兩個頻率成分為大約為702.9Hz和1334Hz,查表可得該DTMF信號對應(yīng)的按鍵號碼為2。
2.按鍵號碼自動檢測。應(yīng)用上述分析法,對含有N個按鍵音的信號y(N)進行按鍵號碼的自動檢測,并在MATLAB仿真環(huán)境中進行算例分析。
讀入并仿真音頻信號y(n),y(n)包含10個按鍵音即10個DTMF信號,每個信號時長為0.1s,信號間間隔為0.1s。為防止10個DTMF信號在時域到頻域轉(zhuǎn)換時造成頻率混疊從而無法識別對應(yīng)的按鍵號碼,利用兩個矩陣Time(n,m)和Data(n,m)對y(n)進行時域的自動分割,將其分成10個獨立的信號,矩陣Time(n,m)存放橫坐標數(shù)據(jù)即時間,矩陣Data(n,m)存放縱坐標數(shù)據(jù)即信號幅值,步驟大致如下:
首先將y(n)中的10個DTMF信號按順序編號由1至10即y(1)-y(10),Time(n,m)和Data(n,m)初始n=1,m為y(1)信號的數(shù)據(jù),當n=1時,截取并仿真第一個DTMF信號y(1),當n≠1時,使用循環(huán)語句進入循環(huán),每次循環(huán),Time(n,m)中的n增加1,m中數(shù)據(jù)增加0.2s,Data(n,m)中的n也增加1,m中數(shù)據(jù)變?yōu)橄乱粋€DTMF信號數(shù)據(jù),循環(huán)9次后,10個DTMF信號就可以被獨立仿真,再利用循環(huán)對矩陣Data(n,m)中m內(nèi)的數(shù)據(jù)進行時域頻域的轉(zhuǎn)換,便可得到10個信號的頻域波形。
接下來設(shè)計能夠自動識別號碼的部分,由表1可知DTMF編碼的低頻范圍是0-1000Hz,高頻范圍是1000Hz-2000Hz,利用矩陣AL(n,m)和AH(n,m)分別放置低頻0-1000Hz數(shù)據(jù)和高頻1000Hz-2000Hz數(shù)據(jù),實現(xiàn)頻域分割,n放置序列號,m放置各個頻率對應(yīng)幅度值,再利用MATLAB中的max函數(shù)分別找出AL(n,m)和AH(n,m)中m的最大值對應(yīng)的頻率,至此可以確定組合成信號的兩個高低頻,再結(jié)合表1便可以確定按鍵號碼。以信號y(1)為例,矩陣AL(1,m)和AH(1,m)分割其高低頻率,max函數(shù)找出最大幅值對應(yīng)的頻率后,結(jié)合表1利用條件語句自動檢測出對應(yīng)的按鍵號碼。最后使用循環(huán)語句,就可以實現(xiàn)10個按鍵號碼的自動識別。信號y(n)最后號碼自動檢測的結(jié)果為:2004011737。
三、結(jié)束語
本文介紹了DTMF信號的概念以及應(yīng)用,并分析DTMF信號檢測的原理,設(shè)計了DTMF信號頻域分析的教學案例實現(xiàn)按鍵號碼的自動檢測,這種案例教學的方法,將晦澀的理論知識具體化、形象化,在提高學生的學習積極性的同時,加深了學生對知識的理解與掌握,更提高了學生的動手能力和獨立解決問題能力,達到提高教學效果和學生學習效率的目的。
參考文獻:
[1]楊敏,羅錦榮.信號與系統(tǒng)課程案例教學的探討——以心率測量顯示系統(tǒng)為例[J].大學教育,2016,(2):141-142.
[2]虞正平,胡愛群.基于Goertzel算法的DTMF信號檢測[J].通訊世界,2016,(13):272-273.
[3]陶丹,胡健,陳后金.“信號與系統(tǒng)”課程案例教學探討[J].電氣電子教學學報,2015,(5):55-57.
[4]朱永紅.《信號與系統(tǒng)》的綜合案例教學方法[J].教育教學論壇,2014,(53):192-193.
[5]張文明,羅鵬飛,謝曉霞,蔡宣平.信號處理系列課程案例設(shè)計研究[J].高等理科教育,2014,(4):117-120.