资源简介
matlab下dtmf的实现代码,应该还是比较好用的
代码片段和文件信息
function [B] = decode(ZAfad)
%
% This programm analyze a frequency coded signalvector and sort the won
% frequencies its key.
%
% example: [B] = decode(ZA4000)
%
% Z : frequency coded signalvector
% A : dtmf key vector
% fa : sampling rate in hz
% d : time in seconds
% B : key vector
n=length(A);
for k=1:n;
% fft analyze of the frequency coded signalvector
temp=abs(fft(Z(k:)));
% Analyze to the half sampling rate because the frequencies after are
% not interesting for analyze. They were created by sampling the signal
x=1:(fa/2)*d;
% maximum of the array
[ai]=max(temp(x));
% frequency 1
f1=(i/d)-1;
% set the actuall x coordinate at area +/-10 to 0
i=i-10:i+10;
temp(i)=0;
% maximum of the array
[ai]=max(temp(x));
% frequency 2
f2=(i/d)-1;
% frequency sort
if f1>1000
var=f1;
f1=f2;
f2=var;
elseif f1<1000
end
% msgbox(num2str(f1));
% msgbox(num2str(f2));
% include frequency tolerance and sort the key frequencies (the actuall
% tolerance are at with time: >= 0.0499 s and sampling rate: 3300Hz)
if ((f1>692) && (f1<720))
f1=697;
elseif ((f1>765) && (f1<800))
f1=770;
elseif ((f1>847) && (f1<880))
f1=852;
elseif ((f1>936) && (f1<960))
f1=941;
end
if ((f2>1204) && (f2<1240))
f2=1209;
elseif ((f2>1331) && (f2<1360))
f2=1336;
elseif ((f2>1472) && (f2<1500))
f2=1477;
elseif ((f2>1628) && (f2<1660))
f2=1633;
end
% msgbox(num2str(f1))
% msgbox(num2str(f2))
% sort the evaluated frequencies to the keys
switch(f1);
case{697};
switch(f2);
case{1209};
taste=‘1‘;
case{1336};
taste=‘2‘;
case{1477};
taste=‘3‘;
case{1633};
taste=‘A‘;
end
case{770};
switch(f2);
case{1209};
taste=‘4‘;
case{1336};
taste=‘5‘;
case{1477};
taste=‘6‘;
case{1633};
taste=‘B‘;
end
case{852};
switch(f2);
case{1209};
taste=‘7‘;
case{1336};
taste=‘8‘;
case{1477};
taste=‘9‘;
case{1633};
taste=‘C‘;
end
case{941};
switch(f2);
case{1209};
taste=‘*‘;
case{1336};
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1041 2006-03-18 15:26 genfcs.m
文件 1724 2006-03-18 15:20 main_program_dtmf.m
文件 3269 2006-03-18 15:25 decode.m
文件 1438 2006-03-18 15:33 encode.m
- 上一篇:matlab孤立点提取函数
- 下一篇:Boosting matlab代码
相关资源
- Boosting matlab代码
- matlab孤立点提取函数
- MIMO信道容量仿真matlab代码
- 图像彩色增强matlab源码
- 轮廓波变换及其去噪的程序
- 平稳小波变换程序及其应用
- 电力负荷分配matlab程序part2
- 电力负荷分配matlab程序
- 基于MATLAB的二级斜齿轮减速器优化设
- matlab电磁波趋肤深度程序
- 基于MATLAB标定工具箱的鱼眼相机标定
- MATLAB控制系统仿真与详解附书光盘.
- 图像拉普拉斯金字塔融合算法源代码
- 锯齿波的傅里叶级数matlab实现
- 史密斯圆图动态展示
- 基于相关系数的影像匹配matlab
- 图像分割评价函数
- 2*1的Alamouti空时码BER性能曲线matlab源码
- MATLAB音乐合成
- 保持邻域嵌入算法也就是NPE算法的M
- 免疫算法和遗传算法解决物流选址问
- 微分方程求解原理 matlab 代码+斜率图
- QPSK信号+白噪声程序MATLAB
- 迈克尔逊干涉仪matlab仿真程序
- matlab图像双三次插值自写函数
- 算数编码、解码,Matlab程序
- matlab中.mat数据格式转换为txt格式
- Matlab波特图Bode绘制
- 格理论LLL算法源码
- Matlab / R ReferenceMatlab R 函数对照手册
评论
共有 条评论