?? dtmfproduce.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 + -