- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安 1209HZ 1336HZ 1447HZ 1663HZ 1 697HZ 1 2 3 A 2 770HZ 4 5 6 B 3 852HZ 7 8 9 C 4 941HZ * 0 # D
DTMF信号在电话中有两种作用,一个是用拨号信号去控制交换机接通被叫的用户电话机,另一个作用是控制电话机的各种动作,如播放留言、语音信箱等。
要求:1,通过键盘任意输入16个键之一,生成DTMF信号。2。试实现对该输入信号的检测,并在屏幕上显示。3。试从计算量角度考虑为什么采用DFT 进行DTMF 信号检测。4。判断出每个频率对应的DFT 的频率采样点。
二、实验目的:
对DTMF信号的生成及其检测有所了解,进一步对DFT的定义、物理意义及基本性质有深入了解。
三、实验原理:
DFT(离散傅立叶变换)的定义:
X(K)=∑x(n)WknN , k=0,1,…,N-1
IDFT(离散傅立叶逆变换)的定义:
x(n) =1/N (∑X(K) W-knN ,n=0,1,…,N-1
DFT变换具有周期性、线性、循环卷积等性质。其最重要性质共轭对称性 ,其性质如下:
设x(n)是长度为N的实序列,且X(K)= DFT【x(n)】,则
(1.)X(K)共轭对称,即X(K)=X*(N-K),0≤k≤N-1
(2.)如果x(n) = x(N-n) ,则X(K)实偶对称,即X(K)=X(N-K)
(3.)如果x(n) = -x(N-n) ,则X(K)纯虚奇对称,即X(K)=-X(N-K)
利用共轭对称性可以减少运算量。
四、实验步骤:
(1)确定从键盘上输入的字母。方法通过其字母的ASCII值来判断(采用for循环嵌套)。
(2)DTMF信号的产生。DTMF信号的生成是通过有限长数字序列的相加而实现,通过两个频率确定唯一的字母,用该两个信号相加实现DTMF信号。
(3)DTMF信号得到DFT变化。先对该信号进行205点上的DFT变换,然后进行固定点上DFT的提取,并输出该点上的DFT的幅值。
(4)从输出幅值判断输入字母。制定一个判断标准,通过该判断标准得出相应的行与列,进而确定该点的ASCII值,输出对应的字母。
五、程序框图:
六、源程序:
close all;
clear all;
clc;
f1=697;f2=770;f3=852;f4=941;
f5=1209;f6=1336;f7=1447;f8=1663;
fs=8000;
n=1:205;
while(1)
while(1)
clc
flag=0;
disp( 1209 1336 1447 1663 );
disp( 697 1 2 3 A );
disp( 770 4 5 6 B );
disp( 852 7 8 9 C );
disp( 941 * 0 # D );
disp();
disp();
in_key=input( 请输入按键 ,s);
disp();
disp();
switch in_key
case [1]
x1=sin(2*pi*n*f1/fs);
x2=sin(2*pi*n*f5/fs);
case [2]
x1=sin(2*pi*n*f1/fs);
x2=sin(2*pi*n*f6/fs);
case [3]
x1=sin(2*pi*n*f1/fs);
x2=sin(2*pi*n*f7/fs);
case [A]
x1=sin(2*pi*n*f1/fs);
x2=sin(2*pi*n*f8/fs);
case [4]
x1=sin(2*pi*n*f2/fs);
x2=sin(2*pi*n*f5/fs);
case [5]
x1=sin(2*pi*n*f2/fs);
x2=sin(2*pi*n*f6/fs);
case [6]
x1=sin(2*pi*n*f2/fs);
x2=sin(2*pi*n*f7/fs);
case [B]
x1=sin(2*pi*n*f2/fs);
x2=sin(2*pi*n*f8/fs);
case [7]
x1=sin(2*pi*n*f3/fs);
x2=sin(2*pi*n*f5/
文档评论(0)