01.课程设计内容
02.代码效果图
%参考程序:DTMF信号的产生 kcsj131s.m 差分方程法产生DTMF信号
clear
clc
fs=8000;
w=2*pi/8000*[941 1336;697 1209;697 1336;697 1477; ...
770 1209;770 1336;770 1477;852 1209;852 1336;852 1477];%各信号对应的数字频率
tab=[2*cos(w) sin(w)]; %各信号满足的差分方程hL(n)和hH(n)中系数a,b的矩阵。
k=[0 5]; %数字键数组k
n=length(k); %k的长度=n
out=zeros(1,1600*n);
x=zeros(1,800);
x(2)=1;
for i=1:n
hL=zeros(1,3); %hL(n)初始化
hH=zeros(1,3); %hH(n)初始化
for j=1:800 %迭代法求解hL(n)和hH(n),产生相应的DTMF信号存入out
hL(3)=tab(k(i)+1,1)*hL(2)-hL(1)+tab(k(i)+1,3)*x(j);
hL(1)=hL(2);
hL(2)=hL(3);
hH(3)=tab(k(i)+1,2)*hH(2)-hH(1)+tab(k(i)+1,4)*x(j);
hH(1)=hH(2);
hH(2)=hH(3);
out(1600*(i-1)+j)=hL(3)+hH(3);
out(1600*(i-1)+j+800)=0;
end
end
out=out./2; %将DTMF信号存入out
subplot(211);plot(out); %画out
title('差分方程法产生的DTMF信号');
sound(out,fs) %监听DTMF信号
audiowrite('Ds.wav',out,fs); %将out存入声音文件"Ds.wav"
识别效果
声明:(1)所有代码经过运行测试✔️,放心购买💰!
(2)不包后续调整
(3)程序为特殊商品,经售出不退
(4)建议有一定Matlab基础的同学或工程师购买
(5)博主精力有限,暂时不接课程设计