首页
发现
课程
培训
文章
案例
问答
需求
服务
行家
赛事
热门搜索
发布
消息
注册
|
登录
首页
/
文章
/
详情
经典课程指导:《数字处理系统课程设计与实践》指导(2)DTMF之八 不断创新
算法工匠
3天前
浏览7
关注
本系列文章历时半年多时间才最终完稿!想到付出的辛苦程度,有时会觉得不值。毕竟自己的技术实力摆在这,却要靠写作来挣钱,是不是显得有点寒酸?好在有时会得到牛人的开悟。每个作家好像都会写一个关于为什么要写作的话题,我看过周国平先生写的这方面内容,感触很深。再看王小波写的文字,着实让我感受到了一丝心酸。理工科出身的我会同情小波的遭遇,那么聪明的人没有最后成为计算机专家有些可惜,不过成为了文坛新星也是一件大幸事,贡献了睿智就无所谓文理了。
契诃夫曾经说过,请您尽可能写一些!写、写、写,一直写断手指头为止。您偷懒,少动笔,这当然是不好的。如果您是一个名副其实的新手,无论遇到什么困难,您都不应该忘记:现在写下的每一行字都是未来的资本。如果您现在不训练自己的手和脑,使它习惯于条理性和强行军,如果你不抓紧时间鞭策自己,那么过上三四年之后,就会追悔莫及了。
大文豪都这么努力,我这种小小的工程师哪敢懈怠?那就把自己的经验和所学都写成未来的资本吧!完美的行为产生于完全的无功利之心,所以我永远到达不了完美,甚至有些俗气。一个人的自画像只有自己描述会比较准确和透彻。
进入正题!对于某些环境下的拨号音,之前的检测还是会出错。通过断点调试,发现是门限设置过高导致的检测出错。那该怎么优化程序呢?只能按照之前说的思路尝试一下啦!结果如何呢?看下面的视频吧!
本人终于将算法成形了,实用化的过程确实很考验人的耐心哦!做学问必须能随时提出新问题,解决新问题,绝不能因循守旧,固步自封。做学问必须有勇气、有耐心,看准了一个问题,就要勇往直前,衣带渐宽终不悔,不捣黄龙绝不休。在这里,我用季羡林的话与算法工程师同仁共勉。
写了这么多篇文章,很少能得到的赞。也许粉丝们压根就不在意你文章的好与坏,在意你文章是否有用。互联网上点赞是一种美德和气度。这种赞会像一颗糖,可以给写作人的生活带来甜味,带来动力。也许唯有坚持,才能获取更多的赞。每每看到网上一篇篇超过十万赞的文章,我也只能徒有羡鱼情,也会自省不足!本文为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
最近编辑:3天前
算法工匠
博士后
|
高级工程师
诚信做事 认真讲课 传播知识
关注
获赞 405
粉丝 2625
文章 387
课程 40
点赞
收藏
作者推荐
可试听
锁相环在通信中的应用及MATLAB实现
¥800
5.0
立即查看
0/200
清空
提交
还没有评论
课程
培训
服务
行家
2021工程仿真大赛: 智能交通指挥系统
机械学霸讲SolidWorks提高教程-复杂模型建立讲解
SolidWorks在工业产品中的高效应用(公开课)
2024趣味CAD设计实战课程:solidworks运输无人机
相关推荐
Solidworks零件建模全攻略-涵盖典型知识点讲解
SolidWorks钣金设计训练营—4个典型零件钣金、装配钣金案例
solidworks2016工程图
2023达索系统 | 汉诺威工业博览会技术解读
最新文章
五轴CAM的王者Hypermill,国产CAM对标学习。。。
SOLIDWORKS建模|可乐瓶盖
【非标数模】装钉机工作站3D数模图纸 Solidworks20设计
【非标数模】汽配产品组装设备3D数模图纸 Solidworks20设计
【非标数模】二维码检测机台3D数模图纸 step格式
热门文章
机械设计:过来人分享行业经验,机械人的职业与行业探索
机械设计制造及自动化毕业能干嘛?除了进厂还有其他出路吗?
基于有限元法的引导骨再生用个性化钛网受力分析
适合SolidWorks的机械设计及制图规范
基于区域定位的椎间孔镜下靶点成形的生物力学有限元分析
其他人都在看
仿真人才库:奥迪一汽新能源汽车CAE研发工程师内推
PFC6.0离散-有限耦合技术解决边坡边界效应所需颗粒(赠项目包)
应用于电动汽车的某型永磁同步电机电磁设计仿真分析
尾矿库排洪系统结构仿真软件WKStruc(可试用)
Fluent流体双证班,保姆式小班教学,20年导师带你0基础快速学会做仿真!
VIP会员
学习计划
福利任务
下载APP
联系我们
微信客服
联系客服
人工服务时间为周一至周五的9:30-19:30
非工作时间请在微信客服留言
客服热线:
4000-969-010
邮箱:
service@fangzhenxiu.com
地址:
北京市朝阳区莱锦创意园CN08座
帮助与反馈
返回顶部