车载音频记录

news2024/9/20 9:24:17

一、车载音频总线

2.8车载音频总线A2B Automotive Audio Bus_a2b总线-CSDN博客        

        传统的车载音频接口采用的是点对点模式,车身数字音频总线采用环型或者菊花链型总线。

A2B:Automotive Audio Bus 支持串联拓扑,即单个主机最多连接10个菊花链形式的从机。总线支持双向通信,主机至从机、从机至主机,最多可32个通道下行和上行(12、16、24位)。最重要的是,可以保证延时最多2个时钟周期,为ANC/RNC这样的延时敏感型应用提供确定性。A2B总线可以传输I2C消息,支持在从机节点上远距离配置ADC/DAC等外设。

        A2B是一个单主多从系统,其中主控制器上的收发器是主控制器。主节点为所有从节点生成时钟、同步和帧。主A2B收发器通过控制端口(I2C)可编程,用于配置和读取。A2B数据流中嵌入了控制端口协议的扩展,该协议允许直接访问从收发器上的寄存器和状态信息,以及远距离的I2C到I2C通信。

MIC:麦克风     功放(AMP)跨距离传输音频数据(I2S/TDM)、控制信号(I2C)

NVH(Noise 噪声 Vibration 振动 Harshness 声振粗糙度)

二、音频数字接口

        车载娱乐系统音频模块之间常用的数据传输的数字音频接口有:PCM、I2S、PDM、SPDIF。

I2S: Inter-IC Sound。用于在系统内器件之间传输数字音频接口,如编解码器CODEC、DSP、数字输入/输出接口、ADC、DAC和数字滤波器等。

PCM是英文Pulse-code modulation的缩写(脉冲编码调制)。PCM就是要把声音从模拟转换成数字信号的一种技术,原理是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定的精度进行量化生成数字音频。在音频领域,PCM接口常用于板级音频数字信号的传输,与I2S相似。PCM和I2S的区别于数据相对于帧时钟(FSYNC/WS)的位置、时钟的极性和帧的长度。其实,I2S上传输的也是PCM类型的数据,因此可以说I2S不过是PCM接口的特例

三、降噪

ANC-Active Noise Cancellation

        ANC是Active Noise Cancellation的缩写,译为主动降噪,常应用在耳机降噪中。众所周知,声波在空气中传输时会相互干涉。当两个频率和振动方向相同且步调一致的声源发出的声波相互叠加时就会产生干涉现象。如果两个声源的相位相反,两个声波叠加后幅度减小声压减弱。若两个声波的幅度相等,那么就会完全抵消。
        ANC正是利用了声波相消干涉的现象,其工作原理为耳机根据采集到的噪声生成一个与之频率和幅度相等,但相位相反的声波,并由扬声器在耳道内播放。最终人耳听到的即是环境噪声和反相了的环境噪声叠加的结果。因此,听起来感觉噪声变小了。ANC主要降低环境中的中低频噪声。从而使消费者即使是在嘈杂的环境中,不需要提高音量,依然可以欣赏音乐。

        人耳所能听到的频率是20HZ-20KHZ,人声的频率范围是100HZ-8KHZ,大部分环境和车辆噪音是在100HZ-1KHZ范围内。

四、基础知识

采样和采样频率:

采样位数:

单声道(mono),也可以是双声道(即左声道右声道,叫立体声stereo),还可以是多声道,叫环绕立体声,多用于影院中。

不经过压缩,声音数据量的计算公式为:
数据量(字节/秒)= (采样频率(Hz)× 采样位数(bit) × 声道数)/ 8

CPU收到PCM数据后首先做前处理,主要包括回音消除(AEC)/噪声抑制(ANS)/自动增益控制(AGC)/VAD等

嵌入式音频软件的架构_嵌入式、音视频、网络技术-CSDN博客

I2S音频总线学习(二)I2S总线协议_i2s transmitter 和 i2s receiver ip核-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1954029.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RedHat8安装Oracle19C

RedHat8安装Oracle19C 1、 更新yum源 更新yum源为阿里云镜像源: # 进入源目录 cd /etc/yum.repos.d/ # 删除 redhat 默认源 rm redhat.repo # 下载阿里云的centos7源 curl -O http://mirrors.aliyun.com/repo/Centos-8.repo # 替换 Centos-8.repo 中的 $releasev…

机器学习(二十二):精度和召回率

一、倾斜数据集 倾斜数据集:一个数据集中的正面和负面例子的比例非常不平衡,比如数据集中,结果为1的占比20%,结果为0的占比80% 例子:如果数据集的结果中只有0.5%是1,其余结果是0。有一个模型的预测准确度…

24.7.17数据结构|顺序表

目录 大O的工程意义? 线性表 引入: 主要掌握【代码实现】: 一、线性结构 1、逻辑描述 2、顺序表 1、如何定义结构 1)静态顺序表 1)动态顺序表 2、写代码 (1)【clion创建工程】 ​编…

Unity横板动作游戏 - 素材导入和整理

导入素材 编辑器布局 点击每个窗口右上角的三个点可以有更多的窗口选项。 在屏幕的右上角有一个菜单可以保存布局或读取已经报错的布局。 工具按钮 编辑器上的工具按钮在启动的时候是蓝色的,在不启动的时候是灰色的。 这个按钮将会决定场景中的物体是以锚点显示还…

大模型算法面试题(十三)

本系列收纳各种大模型面试题及答案。 1、微调后的模型出现能力劣化,灾难性遗忘是怎么回事 微调后的模型出现能力劣化,灾难性遗忘(Catastrophic Forgetting)是一个在机器学习领域,尤其是在深度学习和大模型应用中频繁出…

麒麟系统信创改造

麒麟系统信创改造 一、查看操作系统架构下载相应的依赖,压缩包1、查看Linux系统架构、CPU(1)uname -m(2)lscpu(3)cat /proc/cpuinfo(4)arch(5)getconf LONG_BIT(6)dmidecode2、根据Linux系统架构、CPU的差异进行下载相关依赖,看第二项二、以下是根据本系统的aarc…

Golang | Leetcode Golang题解之第297题二叉树的序列化与反序列化

题目: 题解: type Codec struct{}func Constructor() (_ Codec) {return }func (c Codec) serialize(root *TreeNode) string {if root nil {return "X"}left : "(" c.serialize(root.Left) ")"right : "("…

WordPress插件介绍页源码单页Html

源码介绍 WordPress插件介绍页源码单页Html源码,这是一款产品介绍使用页面,也可以用来做其他软件或者应用介绍下载页,界面简约美观,源码由HTMLCSSJS组成,双击html文件可以本地运行效果,也可以上传到服务器…

理解文件系统(上)

模拟实现文件库 创建文件以便理解 自己想实现的文件接口,进行模拟实现 模拟的头文件要准备的头文件 open接口的实现 write接口的实现fflush接口的实现 flose接口的实现 文件实现 stdio.h stdio.c test.c makefile 创建makefile 编译运行 执行后输出log.txt,看…

宏集物联网工控屏网关实现Modbus TCP数据采集并通过TCP转发

前言 在日常的生产活动中,许多企业需要使用底层PLC或传感器数据,但部分企业的终端平台仅支持TCP协议,而不支持常见的PLC或Modbus协议。为了实现兼容性,需要使用协议转换网关,将底层协议转换为TCP协议。 宏集物联网工…

Python客户端操作Elasticsearch

一.Python与Elasticsearch交互示例 这段代码是使用Python的elasticsearch模块与Elasticsearch进行交互的示例: from elasticsearch import Elasticsearch# 一.创建连接 # 建立到Elasticsearch的连接,指定主机和端口,设置请求超时时间为3600…

【数据结构】单链表面试题(Java + 力扣 + 详解)

🎇🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 人生格言: 当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友…

【日常记录】【插件】Typed.js:用于创建打字效果的 JavaScript 库

文章目录 1. 引言2. 安装3. 基本使用参考链接 1. 引言 Typed.js是一个用于创建打字效果的 JavaScript 库。这个效果就是 chatgpt、百度的文心一言等其他的大模型,回复用户的问题的时候的效果 typed-js 官网typed 案例 2. 安装 CDN方式 这俩都可以,还有其…

17 推荐系统方案中那些不得不知的坑

你好,我是大壮。《易经》中说:“上九:亢龙有悔”。上九是指阳爻在卦中处于最高位,亢龙是指飞向尽头的龙,穷尽至极力终有尽时,力尽则悔,悔不可及。 在前面的 18 讲我们已经讨论了整个推荐算法的…

C语言中的IO控制流

文章目录 一、什么是C语言中的IO控制流二、open函数 1.使用open函数创建文件2.使用使用open函数打开文件三、文件的权限四、文件的描述符五、read函数六、write函数七、lseek函数八、close函数 一、什么是C语言中的IO控制流 在linux系统中一切皆文件,C语言中的IO控…

【SQL 新手教程 4/20】关系模型 --索引

💗 关系数据库建立在关系模型上⭐ 关系模型本质上就是若干个存储数据的二维表 记录 (Record): 表的每一行称为记录(Record),记录是一个逻辑意义上的数据 字段 (Column):表的每一列称为字段(Colu…

Java | Leetcode Java题解之第299题猜数字游戏

题目&#xff1a; 题解&#xff1a; class Solution {public String getHint(String secret, String guess) {int bulls 0;int[] cntS new int[10];int[] cntG new int[10];for (int i 0; i < secret.length(); i) {if (secret.charAt(i) guess.charAt(i)) {bulls;} e…

C语言条件语句中switch语句的一些用法

目录 1. switch语句写一个简单的switch语句 2. if语句和else语句的对比判断3的倍数情况 3. switch语句中break详解4. switch语句的一项小练习5. switch语句中的default6. switch语句中的顺序问题 1. switch语句 C语言除了if...else...作为条件语句外&#xff0c;还提供了switc…

Java(十)——接口

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 ⚡开源项目&#xff1a; rich-vue3 &#xff08;基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL&#xff09; &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1…

数据库表的行列转换(行转列,列转行)

目录 前言 行转列 创建测试表 score1 插入测试数据 需求与通用SQL写法 列转行 创建测试表 score2 插入测试数据 需求与通用SQL写法 前言 在工作中&#xff0c;多多少少都会遇到一些数据展示的需求&#xff0c;开发一个接口&#xff0c;从数据库中查询数据返回页面展示…