3929.DTMF信号的产生及检测.doc
《3929.DTMF信号的产生及检测.doc》由会员分享,可在线阅读,更多相关《3929.DTMF信号的产生及检测.doc(14页珍藏版)》请在三一办公上搜索。
1、电工电子教学基地DSP课程设计实验报告实验名称:DTMF信号的产生及检测 DTMF信号的产生及检测一、实验设计内容基本部分:1.使用C语言编写DTMF信号的发生程序,可以通过键盘的输入产生09对应的DTMF信号,并且符合CCITT对DTMF信号规定的指标。2.使用C语言编写DTMF信号的检测程序,检测到的DTMF编码在屏幕上显示。发挥部分:利用DTMF信号完成数据通讯的功能,并试改进DTMF信号的规定指标,使每秒内传送的DTMF编码越多越好。二、实验目的 1、 了解、掌握DTMF的性质作用。2、 掌握DTMF的产生和检测的思想和方法。3、 了解Goertzel算法优化运算过程。4、 熟练运用C
2、语言进行编程实现DTMF的产生与检测。5、 熟练使用CCS5402的操作方法和调试检验方式。三、实验器材 DSP5402开发板两块,CCS软件环境四、实验原理双音多频DTMF(Dual Tone Multi-Frequency)信令,逐渐在全世界范围内使用在按键式电话机上,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。近年来DTMF也应用在交互式控制中,诸如语言菜单、语言邮件、电话银行和ATM终端等。将DTMF信令的产生与检测集成到任一含有数字信号处理器(DSP)的系统中,是一项较有价值的工程应用。DTMF编解码器在编码时将击键或数字信息转换成双音信号并发送,解码时在收
3、到的DTMF信号中检测击键或数字信息的存在性。电话机键盘上每一个键通过由图1所示的行频与列频唯一确定。DTMF的编解码方案无需过多的计算量,可以很容易的在DSP系统里与其他任务并发执行。一个DTMF 信号由两个频率的音频信号叠加构成。这两个音频信号的频率分别来自两组预定义的频率组:行频组和列频组。每组分别包括4 个频率,分别抽出一个频率进行组合就可以组成16 种DTMF 编码,分别记作09、*、#、A、B、C、D。1、 DTMF信号的产生DTMF编码器基于两个二阶数字正弦波振荡器,一个用于产生行频,一个用于产生列频。向DSP装入相应的系数和初始条件,就可以只用两个振荡器产生所需的八个音频信号。
4、典型的DTMF信号频率范围是7001700Hz,选取8000Hz作为采样频率,即可满足Nyquist条件。正弦波是任何波形构成的基本单元,产生正弦波的方法一般有:采样回放法、查表法、泰勒级数展开法、数字正弦振荡器法。我们直接采用sin函数产生离散的正弦值,生成DTMF的公式为:buffert=sin(t*2*pi*f1/fs)+sin(t*2*pi*f1/fs),其中t为采样序数,由0开始递增;f1,f2为生成DTMF信号的两个正弦波的频率;fs为采样频率;buffert为序数t时的得出的采样值。将这些数据转换为Q15格式然后通过codec发送出去。2、 DTMF信号的检测 在输入信号中检测D
5、TMF信号,并将其转换为实际的数字,这一解码过程本质是连续的过程,需要在输入的数据信号流中连续地搜索DTMF信号频谱的存在。整个检测过程分两步:首先采用Goertzel算法在输入信号中提取频谱信息;接着作检测结果的有效性检查。2.1 Goertzel算法DTMF解码即是在输入信号中搜索出有效的行频和列频。计算数字信号的频谱可以采用DFT及其快速算法FFT,而在实现DTMF解码时,采用Goertzel算法要比FFT更快。通过FFT可以计算得到信号所有谱线,了解信号整个频域信息,而对于DTMF信号只用关心其8个行频/列频及其二次谐波信息即可(二次谐波的信息用于将DTMF信号与声音信号区别开)。此时
6、Goertzel算法能更加快速的在输入信号中提取频谱信息。G直接计算DFT,需要很多复系数,即使只计算一点的DFT也需要N个复系数采用数字信号处理中的Goertzel算法,则可明显地提高速度。利用二阶复共轭极点可以得到只有一个实系数的差分方程:1st Harmonics(N = 205) fs = 8 ksps2nd Harmonics(N=201) fs = 8 kspskfrequency(k/N)fs/Hzcoefficientcos(2pi k/N)kfrequency(k/N)fs/Hzcoefficientcos(2pi k/N)187020.851623513930.458862
7、07800.817933915520.34445228580.781154317110.22470249360.741424718710.101413112100.58157612428-0.329743413260.50442672667-0.500003814830.39505742945-0.676064216390.27972823264-0.83740 在实际的DTMF检测中,只需DFT的幅度(本算法为平方幅度)信息就足够了,因此在Goertzel滤波器中,当N点(相当于DFT数据块的长度)样值输入滤波器后,滤波器输出伪DFT值vk(n),由vk(n)即可确定频谱的平方幅度。Goer
8、tzel算法的特点v Goertzel算法的IIR滤波器结构涉及两个复共轭极点,但对于实际的DTMF音频检测,只要有幅度信息就够了(实际上使用幅度平方),从而简化为只需要一个实系数参与计算。v Goertzel算法要比FFT快得多,因为只需要提供8个行/列频和它们的二次谐波的信息(二次谐波的信息用于将DTMF与话音或音乐区别开来)。2.2 DTMF检测器流程把检测程序作为C54x的McBsp接收中断服务子程序,在每一个接收中断到来时,表明采到一个新样点。样点值代入式(2),迭代计算8个行频/列频的中间变量vk(n)(k为8个行频/列频分别对应的数字频率),直到采到N125个样点(在8kHz采样
9、频率下,约为15ms)。此时再按式(4)计算8个行频/列频的幅度平方X(k)2。接下来将X(k)2与门限作比较,并作二次谐波检测,判决出有效的音频信号。将音频信号映射为数字信号后,再与上一个检测到的数字信号比较,最终判决出有效的数字信号。五、实验程序及注释:1、DTMF信号的产生和发送程序:/*/* DTMFsignal 发送程序 send.c */ /*/#include #include #include #include #include #include void send(int num);HANDLE hHandset;s16 out_buffer256;float buffer2
10、56;s16 n=0;int c=0,a;float pi=3.1415926;void main() if(brd_init(100) return; /* Open Handset Codec */ hHandset = codec_open(HANDSET_CODEC); /* Acquire handle to codec */ /* Set codec parameters */ codec_dac_mode(hHandset, CODEC_DAC_15BIT); /* DAC in 15-bit mode */ codec_adc_mode(hHandset, CODEC_ADC_
11、15BIT); /* ADC in 15-bit mode */ codec_ain_gain(hHandset, CODEC_AIN_6dB); /* 6dB gain on analog input to ADC */ codec_aout_gain(hHandset, CODEC_AOUT_MINUS_12dB); /* -12dB gain on analog output from DAC */ codec_sample_rate(hHandset,SR_8000); /* 8KHz sampling rate */ send(n); void send(int n)int k=0;
12、int i;float f1,f2,ff; ff=2*pi/8000; i=k;/键盘输入DTMF信号,每个信号发送40次 while(1) while (!MCBSP_XRDY(HANDSET_CODEC) ;/如果D/A未准备好,则等待 *(volatile u16*)DXR1_ADDR(HANDSET_CODEC)=bufferi;/从读取A/D转换数据 i+; if(i=256) i=0; c+; if(c=40) c=0; scanf(%d,&a);/键盘输入要发送的号 switch (a) case 0 : f1=ff*941; f2=ff*1336; break; case 1
13、: f1=ff*697; f2=ff*1209; break; case 2 : f1=ff*697; f2=ff*1336; break; case 3 : f1=ff*697; f2=ff*1477; break; case 4 : f1=ff*770; f2=ff*1209; break; case 5 : f1=ff*770; f2=ff*1336; break; case 6 : f1=ff*770; f2=ff*1477; break; case 7 : f1=ff*852; f2=ff*1209; break; case 8 : f1=ff*852; f2=ff*1336; br
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3929. DTMF 信号 产生 检测
链接地址:https://www.31ppt.com/p-4142723.html