矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 10536|回复: 23

DIY一个数字主动ANC降噪蓝牙耳机午睡眼镜

[复制链接]
     
发表于 2023-1-9 02:16:19 | 显示全部楼层 |阅读模式
本帖最后由 shouyinji 于 2023-1-9 02:30 编辑

好几年没在本论坛上发帖了。刚2023新年不久,发个贴记录下我去年上半年的一个项目数字主动降噪蓝牙耳机睡眠眼镜,算是对2022上半年的一个项目总结吧
这个项目的设计目标是设计一款头戴式设备用用于改善办公室工作者或者其他体力劳动者的午休体验。现在电控玻璃和主动降噪技术在我们的日常生活中非常普遍,华强北主动降噪耳机都烂大街了良莠不齐。当然我倒是没见到过有什么DIY的主动降噪耳机,或许大家对于这个不是很感兴趣。用电致变色和主动降噪技术,结合手机APP提供一个模拟晚上睡眠的体验。
微信图片_20230109020614.png
ANC耳机结构渲染

言归正传,既然是要提高午休质量,那么主动降噪技术就能起到很好的一个隔音的作用。
在设计这玩意的时候主要思考两个问题
        A.        哪种电控光阀技术(在LCD、PDLC和ECD中)是最适合该产品的技术?
        B.        哪种主动降噪的方法是这个项目的最佳解决方案?我们自己到底搞不搞得定实现它?
主动降噪。现在用于噪音消除的技术可以分为两种类型,即模拟信号处理和数字处理。在数字信号处理(DSP)降噪中,算法也可分为三类,即自适应降噪、自动增益控制(AGC)降噪和固定参数降噪。噪声消除可以在耳机上以前馈、反馈和混合结构实现。混合式(FF+FB)数字自适应降噪的性能最好。
在电控变色镜片和主动降噪的独立研究中,我主要从以下渠道获取信息
        A.        网上研究:从网上资源,如半导体制造商的网页和其他关于电气工程的博客。
        B.        在线学术数据库。皇家化学(对于电致变色设备),IEEE Xplore(对于主动噪音消除技术和算法)和谷歌学术。
        C.        文献资料。来自AMS和ADI的噪声消除应用说明和转向指南。
        D.        维基。关于FxLMS噪声消除算法的维基百科,Analog Devices和其他来源。
微信图片_20230109013415.png
三种不同的降噪方式,一般很便宜的耳机才用单馈FB。只用FF的耳机没办法实现耳道内降噪,说话声音自己听到很大,不太友好,一般很少用。

关于主动降噪
主动降噪的基本原理
主动降噪的工作原理一般是创造一个具有相同振幅和180度倒相的声波,让它实现对原始噪声的破坏性干扰。这些产生的声波被认为是反噪声。根据信号流,主动降噪可分为前馈、反馈和混合降噪。混合式降噪在这三种降噪方式中具有最好的降噪性能,因为它同时具有前馈式和反馈式降噪的优点。说起来是很简单,不过因为耳机的声学模型复杂,尤其是高频段想要实现相位的匹配很困难。
微信图片_20230109013411.png
简化的信号处理流程,这里没显示出自适应的

目前广泛用于商业主动降噪耳机或汽车降噪产品的主动降噪处理单元的类型。一般来说,数字和模拟降噪系统都有各自的优势。对于数字降噪来说,它的特点是精度高,可以精确地接近声学要求,以消除噪音。然而,模拟降噪系统具有较低的延迟,使其能够在高频率下工作。
微信图片_20230109014408.png
当时开始试验的时候用的泡沫板随便糊了一个耳机出来测试,麦克风位置也不固定,用的ADAU1452开发板配合Fxlms,结果当然是不能用的。

选择一个降噪解决方案的芯片组来启动
为了开始这个项目,我必须选择一个芯片组来开始做主动降噪测试。下表显示了我正在考虑使用的解决方案。由于我以前有使用Analog Devices SigmaDSP的经验,我首先选择了ADAU1452。但是,在使用SigmaStudio中内置的mFxLMS算法模块测试ADAu1452的降噪效果时,我没有得到任何降噪结果。相反,由于算法不收敛,降噪变成了噪音放大器,最终正反馈导致耳机内出现令人不快的嚎叫声。
微信图片_20230109013400.png
在有色玻璃的测试中,限于所需的制造设备、成本和安全性,只有LCD有色玻璃技术被实施和测试。它在可见光谱中显示出良好的光学调制,能够很好地保持外部环境的颜色。然而,它的光学调制特性在不同角度的入射光中并不保持。这就造成了一种现象,即在深黑的工作状态下,用户不能清楚地看到正前方的物体,但可以观察到来自侧面的光线。

微信图片_20230109013524.jpg
微信图片_20230109013535.jpg
微信图片_20230109013456.jpg
外壳不用说了,就是3D打印,然后组装。外壳的机械部分不全部是我弄的。和耳机无关的部分是另外组员设计的再结合耳机的部分。
微信图片_20230109013502.jpg
初版的耳机反馈麦克风位置,内向的,但是位置不固定,每个耳机都要调,很麻烦,音质还一般般
微信图片_20230109013507.jpg
前馈麦克风的位置,外侧接近耳罩的位置
微信图片_20230109013521.jpg
完成的耳机原型
屏幕截图 2023-01-09 013759.png
装一波
微信图片_20230109013434.png
BGA焊盘做的一般般
在主动降噪的测试中,测试结果表明,ADAU1787的FastDSP内核中实现的IIR双四路滤波器显示出相对较好的降噪效果。蓝牙用的是BP1064,这个芯片很强大,可以跑到320MHz的主频32位置。蓝牙支持AAC编码。BLE用于和手机APP的通信
图片1.jpg
给PCB贴片,因为这个PCB有BGA还很密集,就用了加热板的方式加热刷锡膏贴片。
图片1.png
最难搞的WLCSP封装,间距0.35的,不过成功率还蛮高,可能因为体积比较小吧。对比上面的0402和下面的0603原件
微信图片_20230109013423.png
经典的MPU6050和抄了Battery babysitter 的电源管理电路
微信图片_20230109013529.jpg
最后组装测试一下下
微信图片_20230109015134.png
微信图片_20230109015302.png
有四个BGA的板,六层,树脂塞孔
微信图片_20230109015648.png
DDR走线按照等长差分,阻抗没有很严格控制只是大概一下。然后板子回来了也调试了挺久的,放一下log,当时SD卡检测除了一些问题,因为SDIO经过一个MUX,也排查了时钟,电源之类的问题后来才发现是上拉电阻。镜像用的是香蕉派的bpi-m2-zero的armbian。当时想着把CV和语音识别加上去后来发现时间不够了
微信图片_20230109015930.jpg
放了一会B站视频用作DDR的压力测试看看有没有死机,分辨率1280x720,用H3是这个芯片资料多,Linux主线支持也很好
微信图片_20230109015913.jpg
测试的板子,typec输出HDMI
微信图片_20230109015939.jpg
HDMI通过一个MUX来切换是HDMI模式还是调试模式,可以把IIC,串行调试口,log口等引出版外

最终组装上去测试

受限于我可以接触到的测试和校准这些ANC设备的仪器和环境,以及没有ALC(自动泄漏补偿)算法,所实现的ANC并没有像大多数商业化的ANC耳机那样具有很好的稳定性和背景噪音抑制。
微信图片_20230109020819.png
最后放一下这个设计的特性总结。组员设计的很好看。

图片2.png
装进耳机外壳里面

降噪的效果。需要慢慢调节滤波器的参数获得降噪的效果,稳定性和音质之间的平衡。有时候调试FB的降噪听回声咬一下下巴听一下耳机内部的震荡声音判断需要动哪个频率。FF的降噪就放外部的噪声测试调节到最优化的降噪。FB就放音乐调试尽量把音乐低频的分量抵消掉。

微信图片_20230109022544.png
微信图片_20230109022551.png
板上芯片的描述,仿造ifixit做的

这个设计集合了BGA,WLCSP,DSP 音频处理,工程量还蛮大的。不过自己真的能够实现出数字主动降噪的那一刻确实是非常激动。现在重新想一下也是不敢第二次在一个项目中尝试这么多新东西了说不定下次就不会成功了。最后能够把Linux跑起来了也确实是意料之外,时间花费很多。其实当初搞这个是想着既然这个板都有BGA了那么来多几个BGA也不一样正好试一试H3芯片。

欢迎拍砖。以后也可能部分开源出来一起玩玩

微信图片_20230109013429.png
微信图片_20230109013453.jpg
微信图片_20230109015907.jpg

评分

2

查看全部评分

发表于 2023-1-9 09:18:45 | 显示全部楼层
动手能力强,厉害了
回复 支持 反对

使用道具 举报

     
发表于 2023-1-9 17:40:58 | 显示全部楼层
楼主厉害,算是坛子里面DIY的天花板了!
回复 支持 反对

使用道具 举报

     
发表于 2023-1-9 19:13:41 | 显示全部楼层
六层板,厉害了,我现在也就画画两层板,还是简单电路
回复 支持 反对

使用道具 举报

     
发表于 2023-1-30 00:28:46 | 显示全部楼层

玩玩还好,感觉如果做商业,体积还是太大
回复 支持 反对

使用道具 举报

     
发表于 2023-3-3 17:49:17 | 显示全部楼层
一个耳机用1G的主控1G的内存这也是大炮打蚊子吧
回复 支持 反对

使用道具 举报

     
发表于 2023-3-4 20:58:29 来自手机 | 显示全部楼层
要是能生产产品,我就要一个
回复 支持 反对

使用道具 举报

     
发表于 2023-3-4 21:20:35 | 显示全部楼层
牛啊!这能力爆表!
回复 支持 反对

使用道具 举报

     
发表于 2023-3-5 05:21:43 | 显示全部楼层
应该就是做相关行业的吧,一般的DIYer很多芯片都拿不到DS
回复 支持 反对

使用道具 举报

     
发表于 2023-3-5 22:06:17 | 显示全部楼层
用了linux,如果在主线里找不到相关外设的驱动,调试外设驱动就痛苦了,我用过A33,因为使用了全新外设方案,10%的时间调通驱动,90%时间调稳定性,有时候会高估自己能力觉得我行我能弄好,现实piapia打脸,乖乖换拥有稳定驱动的外设.这个系统软件系统简单不了,是个大工程.
回复 支持 反对

使用道具 举报

     
发表于 2023-3-12 15:55:01 | 显示全部楼层
我连电路都看不懂
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2023-3-31 09:16:25 | 显示全部楼层
天天爱玛丽 发表于 2023-3-5 22:06
用了linux,如果在主线里找不到相关外设的驱动,调试外设驱动就痛苦了,我用过A33,因为使用了全新外设方案,10% ...

一部分抄的香蕉派m2 zero的外设线路,自己懒得搞
最近想玩RK3588,安卓12的sdk压缩后都有60多个G,编译要至少32G内存大半个小时
回复 支持 反对

使用道具 举报

     
发表于 2023-3-31 09:54:35 | 显示全部楼层
shouyinji 发表于 2023-3-31 09:16
一部分抄的香蕉派m2 zero的外设线路,自己懒得搞
最近想玩RK3588,安卓12的sdk压缩后都有60多个G,编译 ...

3588跑安卓还是太吃力,玩纯linux也不错,能力强的话不是问题,我更喜欢纯linux,控制更方便
回复 支持 反对

使用道具 举报

     
发表于 2023-3-31 11:51:32 | 显示全部楼层
楼主专业人士,做好后把降噪的曲线图测一下,看看深度能不能有30db
回复 支持 反对

使用道具 举报

     
发表于 2023-3-31 12:18:15 | 显示全部楼层
这个是专业的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-25 12:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表