⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dtmfproduce.m

📁 数字通信系统仿真
💻 M
字号:
     function [dtmf,pointnum]=DTMFproduce(freq,fs,sigtime,wholetime)
     %本程序的作用是利用数字正弦波滤波器的原理产生频率可以控制的音频波
     %800点
     %dtmf 生成的数据序列
     %pointnum 生成数据序列的长度
     %freq  音频频率
     %fs 抽样频率
     %sigtime  信号持续时间(单位:ms)
     %wholetime 发送一个数字持续时间
     %作者:胡正平                   时间:2002.12.14
     %========================调试代码=================
     %freq=97;
     %fs=8*10^3;
     % sigtime=45;
     % wholetime=100;
     %===================================================
     if(nargin<4)||(nargin>4) 
         error('输入参数个数不对');end
     if(freq<0)||(fs<0)||(sigtime<0)||(wholetime<0) 
         error('输入参数必须大于0');end
     if(fs<2*freq) 
         error('采样频率必须大于2倍信号频率'); end
     if(wholetime<sigtime)
         error('wholetime必须大于sigtime');end
     pointnum=round(wholetime*10^(-3)*fs);
     dtmf=zeros(1,pointnum);
     dw=2*pi*freq/fs;
     dtmf(1,1)=sin(dw);
     dtmf(1,2)=sin(2*dw);
     for i=3:1:round(sigtime*10^(-3)*fs);
         dtmf(1,i)=2*cos(dw)*dtmf(1,i-1)-dtmf(1,i-2);
     end
     % plot(dtmf);
     %=============================结束===============================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -