首页/文章/ 详情

经典课程指导:《数字处理系统课程设计与实践》指导(2)DTMF之三 自适应检测

3小时前浏览1
从本文开始,将陆续给出拨号音自适应检测的算法内容,难度逐渐加深,往产品方向靠拢。这个系列文章将DTMF检测的内容讲的淋漓尽致,相信大家可以从中感受到了数字信号处理的神奇和实用!同学们在学习数字信号处理的时候需要这样的实践课程,将本科阶段的数字信号处理知识全部用了起来,从FFT到滤波器!!!本文内容超过四千字,非专业人士莫入!不仅涉及到数字信号处理算法知识,还涉及到算法研发的引导过程!
之前的讲课视频!
 
不想出名,但确实希望文章能被更多的人看到!
如何自适应检测?
如果从能量检测和信号时长的角度出发考虑,算法的实现过程应该如何呢?能量检测用于是否存在拨号音,时长则是指导了算法中用于计算频率所要用的信号长度。
对于传统固定电话网络(PSTN)用户,拨号音本身是持续发出的,直到用户开始拨号。而在用户拨号过程中,每个拨号按键音的时长并不是固定针对某个号码有特定时长,而是有一个大致的标准范围。
一般来说,每个拨号按键音的持续时间在 100 毫秒左右。例如,用户按数字 “1” 这个键,发出的对应按键音持续时间大约为 100 毫秒,按其他数字键的情况类似。按键音之间的间隔时间(即从按完一个键到按下一个键之间的空白时间)通常也在 100 毫秒左右(当然这应该是最小值,时间间隔大也是允许的)。不过这只是一个大致的参考值,实际情况可能会因不同的电话设备、通信系统以及网络状况等因素而略有差异。了解了这些情况就可以开始写自适应拨号音检测算法了。

如果用频域检测,势必存在信号检测时长的难题。那么采用滤波器进行流信号处理模式,就可以避开这个障碍了哦!什么是段信号处理?什么是流信号处理呢?

  • 段信号处理
    • 定义:是将一段完整的信号数据一次性加载到处理系统中进行处理的方式。这段信号具有明确的起止点,处理时把它视为一个相对独立、静态的数据集 。例如,处理一段时长固定为 5 秒的音频信号,先把这 5 秒内所有采样点数据完整收集起来,存放在内存缓冲区,再对整个缓冲区数据开展诸如频谱分析等操作。
    • 特点:计算复杂度通常集中在一次性批处理数据上,算法设计往往基于这段完整的数据。后续如需处理新的数据段,要重复整个采集与处理流程;由于处理的数据量既定,资源分配相对好预估,适用于对实时性要求不高、数据量较小的场景,像离线音频编辑软件对录制好的音频片段做特效处理。在通信信号处理中,则体现为对一帧数据进行反复处理,以得到最好的误码性能。
  • 流信号处理
    • 定义:数据以连续不断的 “流” 形式进入处理系统,处理模块按顺序逐个或逐块处理这些到来的数据,无需等待完整的数据集 合。比如网络实时音频流,音频数据源源不断从网络传输过来,接收端就持续对抵达的数据包即时处理。

    • 特点:更侧重实时性响应,系统需要在极短时间内处理完成新流入的数据。常用于像实时通信、工业监控传感器数据流这类对即时反馈要求极高的场景,持续监测数据流的异常,保障通信音频的流畅播放等。

这两种处理的典型代表就是傅里叶变换和滤波处理!这可以通过相关的仿真来强化理解!



提示:filter函数是对段信号进行处理,但实质上是流信号处理方式!为什么?我在下一篇文章的视频中会讲解!怎么写成流处理的形式呢?

代码来自哪里?

滤波器如何设计呢?首先是要确定类型:带通滤波器。然后就是参数设计!先来看看学生(22通信的小王同学)写的代码!再来看看他的算法思路!
%%%%%%%%%%%%%%  DTMF双音多频信号自动检测 %%%%%%%%%%%%%%%%  
%%%%%%%%%% data:2024-12-18 author wang qihui %%%%%%%%%%%  
%%% 程序说明  
% 程序版本:R2022a  
% 降低滤波器的阶数,更改寻找最值部分的程序。
clc,clear all;
%%%%%%%%%%%%%%%%%%%%%%%%% 读取数据 %%%%%%%%%%%%%%%%%%%%%%%%  
filename = 'yb手机号_15895902398.m4a';
% filename = '1234567890间断.m4a';  
[data,Fs] = audioread(filename);
% 读取音频文件数据,注意这里的data是两列数据,Fs = 48000Hz  
% data是两列数据,对应两个声道  
data = data(:,1) + data(:,2);
% 把双声道的数据都加载一起,这一步很重要,一个声道高频分量多一些,一个声道低频分量多一些  
% 数据加在一起有利于信号的判断  
% 这里的采样率过高,不利于滤波器的设计  


来源:通信工程师专辑
通信
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-01-11
最近编辑:3小时前
算法工匠
博士后 | 高级工程师 诚信做事 认真讲课 传播知识
获赞 404粉丝 2612文章 368课程 40
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈