我用ADAU1467加5个ADAU1772,做20进10出的音频处理板(二十五):滤波器-Shelving 滤波器

embedded/2024/9/23 20:18:52/

作者的话

ADAU1467是现阶段ADI支持最多通道的ADAU音频DSP,他配合外部的AD/DA,可以实现最多32路音频通道,接了一个小项目,我拿它做了一块20进10出的板,10个MIC/LINE输入,10个LINE IN输入,10个HPOUT,算是把他的接口几乎都用全,芯片性能开发到了极致。(其实可以做20个MIC IN,但是因为客户的具体需求是10个LINE IN,10个MIC IN)

芯片选型

项目背景的话,做这块板的目的是给ADAU1467搞功能验证,还有极限性能评估,所以并没有考虑更细节的芯片成本,怎么方便怎么来。

主芯片当然就是ADAU1467了,CODEC考虑到要LINE IN的同时能够模拟MIC IN,这就要求Codec的AD需要具备前置放大,需要有偏置电压,我选了ADAU1772做Codec,这其实也是一颗DSP,但他片内有一个adda,能做到4进2出,而且4进全部可以支持MIC IN,搞起来非常方便快捷,于是我就直接用它了。这颗codec也因为有自带的运放,我在模拟输出的设计时就不需要额外加运放了。

4进2出去配ADAU1467显然是不够的,那我就拼5个,就有20进10出了,这是我的选型思路。

这个系列文章将对这个电路板的软硬件开发设计做详细讲解,上一章我们讲了硬件设计,这一章我们开始讲软件开发。

硬件准备

开发板的产品链接:https://item.taobao.com/item.htm?id=625095214294&spm=a1z10.5-c.w4002-5192690539.15.713a1c74E0XfRv

在这里插入图片描述

调试器的产品链接:https://item.taobao.com/item.htm?id=38242936768&spm=a1z10.5-c.w4002-5192690539.11.663b2dbdDNXVZF

Shelving EQ 对高于(=高架(High Shelf),)或低于(=低架(Low Shelf),)截止频率的全部频率进行均匀增强或减弱。

其参数为:

  1. 截止频率(Cutoff frequency):在滑块下方的字段中输入截止频率,该频率是支架增强/减弱与未受影响(平坦)响应之间的截止点。

在这里插入图片描述

  1. 增益(Gain)(滤波器) :用滑块控制滤波器增强或减弱。负值将减弱高于(高架)或低于(低架)截止频率的全部频率,而正值将增强高于(高架)或低于(低架)截止频率的全部频率。

在这里插入图片描述

  1. 斜率(Slope) (Q):用控制旋钮编辑滤波器的斜率,范围为 0 – 2。右击旋钮,输入更精确的值。斜率控制滤波器陡度,因此控制着增强/减弱与平坦响应之间的过渡。

在这里插入图片描述

  1. 缩放增益(Scale Gain) (dB):该值控制滤波器的总增益。在相应字段中直接输入,也可单击右侧箭头输入。

在这里插入图片描述

  1. 通过比较以下曲线及其参数,感受一下这个滤波器,练练听力吧。

在这里插入图片描述

ADAU1467 的进阶例程 6:中型均衡器(EQ)-Shelving 滤波器-2

在这里插入图片描述

最后,OP 的惯例,技术水平只能教会怎么用,至于用它来调出神仙音效,就看大家各显神通啦。


http://www.ppmy.cn/embedded/33078.html

相关文章

ES相关性计算原理

了解es搜索过程中的相关性计算原理,对判断当前应用场景是否适合使用es来召回相关结果至关重要。本篇博文尝试对es在每一个节点执行搜索时如何计算query和经由倒排索引查询到的对应字段文本之间的相关性做简要说明。 ES搜索过程(节点层面) ES…

卸载conda及直接rm导致-bash: /root/anaconda3/bin/python3的解决

目录 卸载conda及直接rm导致-bash: /root/anaconda3/bin/python3的解决正常卸载非正常卸载导致 -bash: /root/anaconda3/bin/python3 参考资料 卸载conda及直接rm导致-bash: /root/anaconda3/bin/python3的解决 正常卸载 //首先使用conda安装anaconda清理工具 conda install …

opengauss概述-基础知识篇-备考华为高斯

目录 🧨考前准备: 🎡数据库操作语言 ✨OLTP和OLAP 🎯常用函数 🧲字符处理函数 关于 left 和 right 特别重点的字符串函数 🧲数字操作函数 关于 ceil 和 floor 🧲时间和日期处理函数 &#x1f9f…

批量抓取某电影网站的下载链接

思路: 进入电影天堂首页,提取到主页面中的每一个电影的背后的那个urL地址 a. 拿到“2024必看热片”那一块的HTML代码 b. 从刚才拿到的HTML代码中提取到href的值访问子页面,提取到电影的名称以及下载地址 a. 拿到子页面的页面源代码 b. 数据提…

分割回文串(力扣131)

解题思路&#xff1a;仍就是上递归三部曲&#xff0c;但于此同时要明白此时的index就可以作为切割回文串的线了 具体代码如下&#xff1a; class Solution { private: vector<vector<string>> result; vector<string> path; // 放已经回文的子串 void back…

深入浅出 BERT

Transformer 用于学习句子中的长距离依赖关系&#xff0c;同时执行序列到序列的建模。 它通过解决可变长度输入、并行化、梯度消失或爆炸、数据规模巨大等问题&#xff0c;比其他模型表现更好。使用的注意力机制是神经架构的一部分&#xff0c;使其能够动态突出显示输入数据的…

C语言数据结构之队列

目录 1.队列的概念及结构2.队列的实现逻辑3.队列的代码实现4.相关例题选择题 •͈ᴗ•͈ 个人主页&#xff1a;御翮 •͈ᴗ•͈ 个人专栏&#xff1a;C语言数据结构 •͈ᴗ•͈ 欢迎大家关注和订阅!!! 1.队列的概念及结构 队列&#xff1a;只允许在一端进行插入数据操作&#x…

php中常用的数据类型汇总

在 PHP 中&#xff0c;常用的数据类型主要有以下几种&#xff1a; 标量类型&#xff08;Scalar Types&#xff09; integer&#xff08;整型&#xff09;&#xff1a;用于存储整数&#xff0c;可以是正数或负数。float&#xff08;浮点型/双精度型&#xff09;&#xff1a;用于…