傻大方


首页 > 知识库 > >

3583102800|3583102800数字信号处理在双音多频拨号系统中的应用( 三 )


按关键词阅读: 数字信号 3583102800 应用 中的 系统 拨号 双音 处理



14、8位电话号码产生时域离散DTMF信号 , 并连续发出8位号码对应的双音频声音;第三段(2225行)对时域离散DTMF信号进行频率检测 , 画出幅度谱;第四段(2633行)根据幅度谱的两个峰值 , 分别查找并确定输入8位电话号码 。
根据程序中的注释很容易分析编程思想和处理算法 。
程序清单如下:% DTMF双频拨号信号的生成和检测程序%clear all;
clc;
tm=1,2,3,65;
4,5,6,66;
7,8,9,67;
42,0,35,68;
% DTMF信号代表的16个数N=205;
K=18,20,22,24,31,34,38,42;
f1=697,770,852,941;
% 行频率向量f2=1209,1336, 。

15、1477,1633;
% 列频率向量TN=input(键入8位电话号码= );
% 输入8位数字TNr=0;
%接收端电话号码初值为零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 tm(p,q)=abs(d);
break,end% 检测码相符的列号qendif tm(p,q)=abs(d);
break,end % 检测码相符的行号pendn=0:1023;
% 为了发声 , 加长序列x = sin(2*pi*n*f1(p)/8000) + sin(2*pi*n*f2(q)/8000);
% 构成双频信号sound 。

16、(x,8000);
% 发出声音pause(0.1) % 接收检测端的程序X=goertzel(x(1:205),K+1);
% 用Goertzel算法计算八点DFT样本Val=abs(X);
% 列出八点DFT向量subplot(4,2,l);
stem(K,val,.);
grid;
xlabel(k);
ylabel(|X(k)|) % 画出DFT(k)幅度axis(10 50 0 120)limit = 80;
%for s=5:8;
if val(s) limit, break, end % 查找列号endfor r=1:4;
if val(r) limit, break, end % 查找行号 。

17、endTNr=TNr+tm(r,s-4)*10(8-l);
enddisp(接收端检测到的号码为:) % 显示接收到的字符disp(TNr)2.运行结果键入8位电话号码: 83649125接收端接检测的号码为:83649125对时域离散DTMF信号进行频率检测 , 幅度谱图如下:实验结论(1)输入8位号码83649125 , 接收端 , 检测到的号码是83649125 , 说明选取采样频率为8KHz , 序列长度为N205是非常正确的 。
(2)由DTMF信号在8个近似基频点的DFT幅度图可知 , 第一幅图低频K1=22 , K2=33 , 由表4.2可知f1=852Hz,f2=1336Hz,由表4.1可知对应的号码为8;第二幅图 。

18、低频K1=18 , K2=38 , 由表4.2可知f1=697Hz,f2=1477Hz,由表4.1可知对应的号码为3;第三幅图低频K1=20 , K2=31 , 由表4.2可知f1=770Hz,f2=1540Hz,由表4.1可知对应的号码为6;第四幅图低频K1=20 , K2=31 , 由表4.2可知f1=770Hz,f2=1209Hz,由表4.1可知对应的号码为4;第五幅图低频K1=23 , K2=37 , 由表4.2可知f1=852Hz,f2=1477Hz,由表4.1可知对应的号码为4;第六幅图低频K1=18 , K2=31 , 由表4.2可知f1=697Hz,f2=1209Hz,由表4.1可知对应的号码为1;第七幅图低频K1= 。

19、18 , K2=34 , 由表4.2可知f1=697Hz,f2=1336Hz,由表4.1可知对应的号码为2;第八幅图低频K1=20 , K2=33 , 由表4.2可知f1=770Hz,f2=1336Hz,由表4.1可知对应的号码为5;即最终输出号码为83649125 , 与程序运行结果相同 。
1.程序清单程序分四段:第一段(27行)设置参数 , 并读入6位电话号码;第二段(920行)根据键入的6位电话号码产生时域离散DTMF信号 , 并连续发出6位号码对应的双音频声音;第三段(2225行)对时域离散DTMF信号进行频率检测 , 画出幅度谱;第四段(2633行)根据幅度谱的两个峰值 , 分别查找并确定输入6位电话号码 。
根据程序中的注 。

20、释很容易分析编程思想和处理算法 。
程序清单如下:% DTMF双频拨号信号的生成和检测程序%clear all;
clc;
tm=1,2,3,65;
4,5,6,66;
7,8,9,67;
42,0,35,68;
% DTMF信号代表的16个数N=205;
K=18,20,22,24,31,34,38,42;
f1=697,770,852,941;
% 行频率向量f2=1209,1336,1477,1633;
% 列频率向量TN=input(键入6位电话号码= );
% 输入8位数字TNr=0;
%接收端电话号码初值为零for l=1:6;
d=fix(TN/10(6-l);
TN=TN-d*10(6-l);
for 。

21、 p=1:3;
for q=1:3;
if tm(p,q)=abs(d);
break,end % 检测码相符的列号qendif tm(p,q)=abs(d);
break,end % 检测码相符的行号pendn=0:1023;
% 为了发声 , 加长序列x = sin(2*pi*n*f1(p)/8000) + sin(2*pi*n*f2(q)/8000);
% 构成双频信号sound(x,8000);
% 发出声音pause(0.1) % 接收检测端的程序X=goertzel(x(1:205),K+1);
% 用Goertzel算法计算八点DFT样本val=abs(X);
% 列出八点DFT向量sub 。

22、plot(3,2,l);
stem(K,val,.);
grid;
xlabel(k);
ylabel(|X(k)|) % 画出DFT(k)幅度axis(10 50 0 120)limit = 80;
%for s=5:8;
if val(s) limit, break, end % 查找列号endfor r=1:3;
if val(r) limit, break, end % 查找行号endTNr=TNr+tm(r,s-4)*10(6-l);
enddisp(接收端检测到的号码为:) % 显示接收到的字符disp(TNr)2.运行结果键入6位电话号码: 364912接收端接检测的号码为:364912实验结 。


来源:(未知)

【学习资料】网址:/a/2021/0406/0021864102.html

标题:3583102800|3583102800数字信号处理在双音多频拨号系统中的应用( 三 )


上一篇:2021|2021年工作人员个人简历

下一篇:2021年常见面试问题及应对思路