首页
发现
课程
培训
文章
案例
问答
需求
服务
行家
赛事
热门搜索
发布
消息
注册
|
登录
首页
/
文章
/
详情
经典课程指导:《数字处理系统课程设计与实践》指导(2)DTMF之八 不断创新
算法工匠
4月前
浏览306
关注
本系列文章历时半年多时间才最终完稿!想到付出的辛苦程度,有时会觉得不值。毕竟自己的技术实力摆在这,却要靠写作来挣钱,是不是显得有点寒酸?好在有时会得到牛人的开悟。每个作家好像都会写一个关于为什么要写作的话题,我看过周国平先生写的这方面内容,感触很深。再看王小波写的文字,着实让我感受到了一丝心酸。理工科出身的我会同情小波的遭遇,那么聪明的人没有最后成为计算机专家有些可惜,不过成为了文坛新星也是一件大幸事,贡献了睿智就无所谓文理了。
契诃夫曾经说过,请您尽可能写一些!写、写、写,一直写断手指头为止。您偷懒,少动笔,这当然是不好的。如果您是一个名副其实的新手,无论遇到什么困难,您都不应该忘记:现在写下的每一行字都是未来的资本。如果您现在不训练自己的手和脑,使它习惯于条理性和强行军,如果你不抓紧时间鞭策自己,那么过上三四年之后,就会追悔莫及了。
大文豪都这么努力,我这种小小的工程师哪敢懈怠?那就把自己的经验和所学都写成未来的资本吧!完美的行为产生于完全的无功利之心,所以我永远到达不了完美,甚至有些俗气。一个人的自画像只有自己描述会比较准确和透彻。
进入正题!对于某些环境下的拨号音,之前的检测还是会出错。通过断点调试,发现是门限设置过高导致的检测出错。那该怎么优化程序呢?只能按照之前说的思路尝试一下啦!结果如何呢?看下面的视频吧!
本人终于将算法成形了,实用化的过程确实很考验人的耐心哦!做学问必须能随时提出新问题,解决新问题,绝不能因循守旧,固步自封。做学问必须有勇气、有耐心,看准了一个问题,就要勇往直前,衣带渐宽终不悔,不捣黄龙绝不休。在这里,我用季羡林的话与算法工程师同仁共勉。
写了这么多篇文章,很少能得到的赞。也许粉丝们压根就不在意你文章的好与坏,在意你文章是否有用。互联网上点赞是一种美德和气度。这种赞会像一颗糖,可以给写作人的生活带来甜味,带来动力。也许唯有坚持,才能获取更多的赞。每每看到网上一篇篇超过十万赞的文章,我也只能徒有羡鱼情,也会自省不足!本文为DTMF检测课程指导的收篇之作,超过六千字,包含了两个产品级算法程序,非专业人士不要付费阅读!
让我们一起看看代码吧,要注意与之前代码的差异之处哦!算法不是一蹴而就的,没有之前几篇文章的摸索和积累,不可能成就最后产品级算法的出炉。
% 把双声道的数据都加载一起,这一步很重要,一个声道高频分量多一些,一个声道低频分量多一些
% 采样率过高,不利于滤波器的设计。采样率降低到8000Hz,需要对数据进行采样率的变换。
%%% 采样率变换
% 采样率从48000Hz降低到8000Hz
fs = 8000;% 设置新的采样率 Hz
data = resample(data,fs,Fs); % 变采样率
%%% 数据归一化处理
signal = data ./ max(abs(data));
% 从时域观察,每个音长1000个采样点,大约125ms。
%%%%%%%%% 滤波器生成及滤波 %%%%%%%%%
%%% 采用FIR滤波器进行设计
%%% 每一个频率对应一个滤波器
f_H = [1209 1336 1477 1633];% 高频群
f_L = [697 770 852 941];% 低频群
f_H_1 = [0,(f_H(1)-10)/(fs/2)-0.03,(f_H(1)-10)/(fs/2),(f_H(1)+10)/(fs/2),(f_H(1)+10)/(fs/2)+0.03,1];
% 1209的频率向量
f_H_2 = [0,(f_H(2)-10)/(fs/2)-0.02,(f_H(2)-10)/(fs/2),(f_H(2)+10)/(fs/2),(f_H(2)+10)/(fs/2)+0.02,1];
% 1336的频率向量
f_H_3 = [0,(f_H(3)-10)/(fs/2)-0.02,(f_H(3)-10)/(fs/2),(f_H(3)+10)/(fs/2),(f_H(3)+10)/(fs/2)+0.02,1];
% 1477的频率向量
f_H_4 = [0,(f_H(4)-10)/(fs/2)-0.02,(f_H(4)-10)/(fs/2),(f_H(4)+10)/(fs/2),(f_H(4)+10)/(fs/2)+0.02,1];
% 1633的频率向量
f_L_1 = [0,(f_L(1)-10)/(fs/2)-0.02,(f_L(1)-10)/(fs/2),(f_L(1)+10)/(fs/2),(f_L(1)+10)/(fs/2)+0.02,1];
% 697的频率向量
f_L_2 = [0,(f_L(2)-10)/(fs/2)-0.02,(f_L(2)-10)/(fs/2),(f_L(2)+10)/(fs/2),(f_L(2)+10)/(fs/2)+0.02,1];
% 770的频率向量
f_L_3 = [0,(f_L(3)-10)/(fs/2)-0.02,(f_L(3)-10)/(fs/2),(f_L(3)+10)/(fs/2),(f_L(3)+10)/(fs/2)+0.02,1];
% 852的频率向量
f_L_4 = [0,(f_L(4)-10)/(fs/2)-0.02,(f_L(4)-10)/(fs/2),(f_L(4)+10)/(fs/2),(f_L(4)+10)/(fs/2)+0.02,1];
% 941的频率向量
m = [0 0 1 1 0 0];% 幅度向量
%%% 滤波器设计
fir_older = 91;% 滤波器阶数
fir_filter_H_1 = firpm(fir_older,f_H_1,m);% 1124-1296 / 1209
fir_filter_H_2 = firpm(fir_older,f_H_2,m);% 1250-1420 / 1336
fir_filter_H_3 = firpm(fir_older,f_H_3,m);% 1390-1562 / 1477
fir_filter_H_4 = firpm(fir_older,f_H_4,m);% 1546-1718 / 1633
来源:通信工程师专辑
登录后免费查看全文
立即登录
SolidWorks
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-02-09
最近编辑:4月前
算法工匠
博士后
|
高级工程师
诚信做事 认真讲课 传播知识
关注
获赞 416
粉丝 2705
文章 470
课程 40
点赞
收藏
作者推荐
可试听
锁相环在通信中的应用及MATLAB实现
¥800
5.0
立即查看
0/200
清空
提交
还没有评论
课程
培训
服务
行家
2023达索系统 | 基于分子级的动力电池材料研发创新
SolidWorks曲面设计训练营—4个典型曲面案例、装配曲面实操案例演示
2023达索系统 | 智能化与数字化创新高峰论坛
Solidworks产品结构设计学习周
相关推荐
2024趣味CAD设计实战课程:solidworks手动摘果器
机械设计师如何学习工艺知识
基于SW ICEM Fluent的燃烧数值模型与DPM离散相模型气固两相爆炸三维CFD仿真
SolidWorks产品设计入门基础课—7天快速上手草图绘制、三维建模、装配设计、工程图设计
最新文章
内置 V 型永磁同步电机设计与分析技术干货大放送!
SOLIDWORKS 2025支持基于模型的定义和工程图功能
SOLIDWORKS钣金入门教程
SOLIDWORKS PDM系统是该软件的核心协作工具之一
SOLIDWORKS 2025支持视图的缩放、旋转和移动等操作
热门文章
【工程机械】chn 700x500x500mm 3D打印机结构3D图纸 STP格式
【3D打印】隐雕玫瑰花3D打印图纸 STL格式
【非标数模】片式开箱机3D模型图纸 STEP格式
【工程机械】电气工业面板电箱3D数模图纸 Solidworks设计
【非标数模】自动化铆接设备3D数模图纸 Solidworks设计
其他人都在看
中兴蓝剑未来领军计划射频工程师岗位解析
swak4Foam安装过程
零件自动编程上线啦!模圣软件v5.2发布!
MapleSim 2025新版本发布
BatchFileRenamer 批量文件重命名软件
VIP会员
学习计划
福利任务
下载APP
联系我们
微信客服
联系客服
人工服务时间为周一至周五的9:30-19:30
非工作时间请在微信客服留言
客服热线:
4000-969-010
邮箱:
service@fangzhenxiu.com
地址:
北京市朝阳区莱锦创意园CN08座
帮助与反馈
返回顶部