双音多频

本文介绍了使用MATLAB进行双音多频信号的生成,通过MATLAB课设展示了DTMF信号的矩阵定义、频率设定以及8位电话号码的检测过程。同时探讨了GUI界面设计的初步尝试,提出了一些待解决的问题,包括DTMF频率选择、采样率确定以及采样点数的计算方法。

matlab课设之双音多频及gui界面设计

dtmf=[1,2,3,‘A’;4,5,6,‘B’;7,8,9,‘C’; ‘#’,0,’’,‘D’];%dtmf信号
N=205;
K=[18,20,22,24,31,34,38]; %【697,770,852,941,1209,1336,1477,1633】
fL=[697,770,852,941]; %行频率向量,低频
fH=[1209,1336,1477]; %列频率向量,高频
TN=input(‘键入8位电话号码:’);
TNr=0; %接收号码初始值为0;
figure(1);
for l=1:8
d=fix(TN/10^(8-l));
TN=TN-d
10^(8-l);
for p=1:4
for q=1:4
if dtmf(p,q)==abs(d);break,end %检测码相符的列号q
end
if dtmf(p,q)==abs(d);break,end %检测码相符的行号p
end
x= DTMF(fL§,fH(q)); %产生双频信号

sound(x,8000);                          %发声sound(data,Fs)
pause(0.1)                              %为了动态观察变化过程,暂停0.1s
X=goertzel(x(1:205),K+1);               %因为矩阵从x(1)开始不是从x(0)开始
val=abs(X);                             %列出8点DFT向量
subplot(4,2,l);                         %subplot(a,b,c)显示图像的位置布局,显示b行a列个图像,此图像是其中第c个
stem(K,val,'m','.');                    %stem(x,y)??????“m”“。”
grid on;
xlabel('k');
ylabel('|X(k)|');                       
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值