双音多频 DTMF 拨号信号的产生——IIR 数字滤波器的设计和实现
2017-03-18 00:29
1316 查看
背景
DTMF 信号是将拨号盘上的 0~F 共16 个数字,用音频范围的 8 个频率来表示的一种编码方式。8 个频率分为高频群和低频群两组,分别作为列频和行频。每个字符的信号由来自列频和行频的两个频率的正弦信号叠加而成。频率组合方式如下表格所示。频率 | 1209Hz | 1336Hz | 1477Hz | 1633Hz |
---|---|---|---|---|
697Hz | 1 | 2 | 3 | A |
770Hz | 4 | 5 | 6 | B |
852Hz | 7 | 8 | 9 | C |
941Hz | */E | 0 | F | D |
实验内容
DTMF 信号的编码:对电话号码 DTMF 编码,生成为一个 .wav 文件。其中关键是不同频率的正弦波的产生,要b012
求采用滤波法生成所要求的 DTMF信号。
Matlab代码
%输入信号即冲激信号δ(n) deltan=impseq(1,1,400); %设置差分方程的各个系数 %响应前的系数 b697=[1,-1.7077,1]; b770=[1,-1.6453,1]; b852=[1,-1.5687,1]; b941=[1,-1.4782,1]; b1209=[1,-1.1641,1]; b1336=[1,-0.9964,1]; b1477=[1,-0.7986,1]; b1633=[1,-0.5685,1]; %输入前的系数 a697=[0,0.5204]; a770=[0,0.5686]; a852=[0,0.6203]; a941=[0,0.6736]; a1209=[0,0.8131]; a1336=[0,0.8671]; a1477=[0,0.9168]; a1633=[0,0.9652]; %解差分方程,通过滤波法获得单频信号 h697=filter(a697,b697,deltan); h770=filter(a770,b770,deltan); h852=filter(a852,b852,deltan); h941=filter(a941,b941,deltan); h1209=filter(a1209,b1209,deltan); h1336=filter(a1336,b1336,deltan); h1477=filter(a1477,b1477,deltan); h1633=filter(a1633,b1633,deltan); %获取号码0~9对应的双频信号 p1=h697+h1209; p2=h697+h1336; p3=h697+h1477; p4=h770+h1209; p5=h770+h1336; p6=h770+h1477; p7=h852+h1209; p8=h852+h1336; p9=h852+h1477; p0=h941+h1336; %手机号XXXXXXXXXXX z=zeros(1,400);%剩余50ms设置为静音,并追加到已有信号之后 %自行填充手机号码 sound=[pX,z,pX,z,pX,z,pX,z,pX,z,pX,z,pX,z,pX,z,pX,z,pX,z,pX,z]; sound=sound/max(abs(sound)); %写出音频,audiowrite是Matlab中目前使用的音频写出函数,wav开头的函数会逐渐废弃 audiowrite('my_phone_number_sound.wav',sound,8000); %读出音频文件,绘制图线 [phone_sound,fs]=audioread('my_phone_number_sound.wav'); plot(phone_sound);
时域图线
备注
数字信号处理Matlab仿真实验三
相关文章推荐
- 实现dtmf信号传输的相关笔记
- 基于Matlab的语音信号滤波器的设计与实现
- Matlab fdatool设计实现一维数字滤波器
- 【二代示波器教程】第12章 示波器设计—DAC信号发生器的实现
- 数字信号抗干扰电路的设计及实现方法
- IIR滤波器设计(调用MATLAB IIR函数来实现)
- 基于FPGA与MATLAB的IIR滤波器设计与实现
- 新型监控视频信号的设计与实现
- 复位电路设计——利用PLL锁定信号(lock)产生复位信号
- 矩阵键盘产生PC机键盘信号的应用设计
- IIR滤波器设计(调用MATLAB IIR函数来实现)
- 实用数字滤波器设计小结之IIR和FIR
- 嵌入式视频监控毕业设计过程中保存的标签。。。嵌入式系统视频信号接收、显示 与存储程序设计与实现
- IIR滤波器设计(调用MATLAB IIR函数来实现)
- 六、数字滤波器的实现——6.1 IIR的基本结构
- 基于matlab的DTMF信号的产生和检测(1)
- 设计产品设计的一个信号产生电路
- IIR滤波器设计(调用MATLAB IIR函数来实现)
- 高阶IIR滤波的设计与实现
- [知识]双音多频(DTMF)信号