音频接口:PDM TDM128 TDM256

一、 PDM接口

在麦克风(Mic)接口中,PDM(Pulse Density Modulation,脉冲密度调制)和I2S(Inter-IC Sound,集成电路内置音频总线)是两种常见的数字输出接口。

1、工作原理:

PDM用于将模拟信号电压转换为经过单比特脉冲密度调制的数字流。PDM信号更接近于纵波,是模拟信号的数字表示。
为了实现这一点,PDM信号需要更高的采样率,通常超过3MHz,因为数字脉冲必须比所代表的模拟信号的振荡发生得更频繁。
PDM使用远高于PCM(Pulse Code Modulation,脉冲编码调制)采样率的时钟采样调制模拟分量,只有1位输出,即输出信号要么为0,要么为1。因此,通过PDM方式表示的数字音频也被称为Oversampled 1-bit Audio(过采样1位音频)

2、接口信号:

PDM接口通常包含两根信号线:

PDM_CLK:时钟信号,用于同步数据的传输。
PDM_DATA:数据信号,用于传输经过脉冲密度调制的音频数据。

3、特点

1 简洁性:PDM接口的信号线非常简洁,仅需要两根线即可实现音频数据的传输,这使得它在空间受限的设备中具有显著优势。
2 高效性:虽然PDM的调制过程相对复杂,但它通过高采样率和简单的线路设计,实现了高效的音频传输。
3 抗噪性:由于PDM采用数字信号表示模拟信号,因此它具有较好的抗噪性能,适用于噪声干扰较大的环境。

二 、TDM接口

1.工作原理

TDM是一种信号传输技术,用于同时传输多个音频通道。
它通过时分复用技术,将传输时间分成多个时隙,每个时隙分配给一个音频通道。

2 特点

TDM技术能够高效利用传输带宽,提高传输效率。
它需要复杂的时钟同步机制来确保多通道数据的准确传输。

3 应用

TDM在电信和专业音频设备中广泛使用,如多麦克风阵列和复杂音频系统。
它适用于需要传输多通道音频的应用,如车载环绕声系统。

TDM256与TDM128

TDM256和TDM128在某些芯片厂商是指TDM技术中使用的不同带宽或时隙分配方式。
具体来说,它们代表每秒钟可以传输的音频通道数量或带宽的划分方式。
例如 一般常见的i2s采样为 一次最大采样为64bit,TDM128为128bit,TDM256为256bit

三、 接口比较

PDM 与I2S(Inter-IC Sound)接口相比,PDM接口具有以下特点:

与I2S接口的比较:
I2S接口主要用于主控芯片与音频编解码器之间的数据传输,通常用于传输音乐数据,并需要外接codec(编解码器)。
i2s 传输的数据采样用的是 pcm 编码
PDM接口则更侧重于数字麦克风的录音功能,具有简洁的线路设计和较高的抗噪性能。
采样用的是 pdm编码

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flutter组件————AppBar

AppBar 是 Flutter 中用于创建应用程序顶部栏的组件,它遵循 Material Design 规范。 参数: 参数名称类型描述titleWidget设置 AppBar 中的标题文本或自定义标题小部件。automaticallyImplyLeadingbool决定是否自动添加返回按钮(如果页面不是…

【Java基础面试题025】什么是Java的Integer缓存池?

回答重点 Java的Integer缓存池(Integer Cache)是为了提升性能和节省内存。根据实践发现大部分的数据操作都集中在值比较小的范围,因此缓存这些对象可以减少内存分配和垃圾回收的负担,提升性能 在 -128到127范围内的Integer对象会…

【JavaEE初阶】线程 和 thread

本节⽬标 认识多线程 掌握多线程程序的编写 掌握多线程的状态 一. 认识线程(Thread) 1概念 1) 线程是什么 ⼀个线程就是⼀个 "执⾏流". 每个线程之间都可以按照顺序执⾏⾃⼰的代码. 多个线程之间 "同时" 执⾏着多份代码. 还…

js 面试题

目录 Promise调用 Set 递归 有一个楼梯,每次可以走1个台阶或2个台阶,总共有几种走法 计算1~100之和 数组 求数组中最大值 迭代(遍历)数组 扁平化数组 使用flat toString() 手写递归 使用while 数组倒序 对象 对象属性遍历 扁平化对象 Promise调用 …

在租用服务器上配置环境

使用的是并行计算云,现在有活动,可以用到明年3月多。50元入会,有500元的卷。 注册完会员后,按照图里说的领卷即可,卷会发送到邮箱里,按照要求兑换就好。下面是具体使用流程。 可以在不开机的情况下&#…

run postinstall error, please remove node_modules before retry!

下载 node_modules 报错:run postinstall error, please remove node_modules before retry! 原因:node 版本出现错误,我的项目之前是在 12 下运行的。解决方法: 先卸载node_modules清除缓存将node版本切换到12重新下载即可

基于蓝牙通信的手机遥控智能灯(论文+源码)

1.系统设计 灯具作为人们日常生活的照明工具为人们生活提供光亮,本次基于蓝牙通信的手机遥控智能灯设计功能如下: (1)用户可以通过蓝牙通信模块的作用下,在手机端遥控切换智能灯不同的工作模式; &#x…

IDEA搭建SpringBoot,MyBatis,Mysql工程项目

目录 一、前言 二、项目结构 三、初始化项目 四、SpringBoot项目集成Mybatis编写接口 五、代码仓库 一、前言 构建一个基于Spring Boot框架的现代化Web应用程序,以满足[公司/组织名称]对于[业务需求描述]的需求。通过利用Spring Boot简化企业级应用开发的优势&…

[HNCTF 2022 Week1]你想学密码吗?

下载附件用记事本打开 把这些代码放在pytho中 # encode utf-8 # python3 # pycryptodemo 3.12.0import Crypto.PublicKey as pk from hashlib import md5 from functools import reducea sum([len(str(i)) for i in pk.__dict__]) funcs list(pk.__dict__.keys()) b reduc…

OneCode:开启高效编程新时代——企业定制出码手册

一、概述 OneCode 的 DSM(领域特定建模)出码模块是一个强大的工具,它支持多种建模方式,并具有强大的模型转换与集成能力,能够提升开发效率和代码质量,同时方便团队协作与知识传承,还具备方便的仿…

【UE5】pmx导入UE5,套动作。(防止“气球人”现象。

参考视频:UE5Animation 16: MMD模型與動作導入 (繁中自動字幕) 问题所在: 做法记录(自用) 1.导入pmx,删除这两个。 2.转换给blender,清理节点。 3.导出时,内嵌贴图,选“复制”。 …

[x86 ubuntu22.04]投影模式选择“只使用外部”,外部edp屏幕无背光

1 问题描述 CPU:G6900E OS:ubuntu22.04 Kernel:6.8.0-49-generic 系统下有两个一样的 edp 屏幕,投影模式选择“只使用外部”,内部 edp 屏幕灭,外部 edp 屏幕无背光。DP-1 是外部 edp 屏幕,eDP-1…

【zlm】 webrtc源码讲解三(总结)

目录 setsdp onwrite ​编辑 play 参考 setsdp onwrite play 参考 【zlm】 webrtc源码讲解_zlm webrtc-CSDN博客 【zlm】 webrtc源码讲解(二)_webrtc 源码-CSDN博客

Python拆分Excel - 将工作簿或工作表拆分为多个文件

在日常工作中,我们经常需要处理包含大量数据的Excel文件。这些文件可能包含不同的表格、图表和工作表,使得数据管理和分析变得复杂。为了提高效率和准确性,我们可以将一个Excel文件或其中某一个工作表按需求拆分为多个文件,以便更…

作业Day4: 链表函数封装 ; 思维导图

目录 作业:实现链表剩下的操作: 任意位置删除 按位置修改 按值查找返回地址 反转 销毁 运行结果 思维导图 作业:实现链表剩下的操作: 1>任意位置删除 2>按位置修改 3>按值查找返回地址 4>反转 5>销毁 任意…

Docker:Dockerfile(补充四)

这里写目录标题 1. Dockerfile常见指令1.1 DockerFile例子 2. 一些其他命令 1. Dockerfile常见指令 简单的dockerFile文件 FROM openjdk:17LABEL authorleifengyangCOPY app.jar /app.jarEXPOSE 8080ENTRYPOINT ["java","-jar","/app.jar"]# 使…

jmeter中的prev对象

在jmeter中通过beanshell、JSR223的各种处理器编写脚本时,都会看到页面上有这样的说明 这些ctx、vars、props、OUT、sampler、prev等等都是可以直接在脚本中使用的对象,由jmeter抛出 今天主要讲一下prev的使用 SampleResult prev jmctx.getPreviousRe…

数据库管理系统——数据库设计

摘要:本博客讲解了数据库管理系统中的数据库设计相关内容,包括概念结构设计:E-R模型,逻辑结构设计:E-R模型到关系设计等内容。 目录 一、数据库设计和数据模型 1.1.数据库设计概述 1. 2.数据库结构概述 1.3.数据库…

Mac配置 Node镜像源的时候报错解决办法

在Mac电脑中配置国内镜像源的时候报错,提示权限问题,无法写入配置文件。本文提供解决方法,青测有效。 一、原因分析 遇到的错误是由于 .npm 目录下的文件被 root 用户所拥有,导致当前用户无法写入相关配置文件。 二、解决办法 在终端输入以下命令,输入管理员密码即可。 su…

【原生js案例】前端封装ajax请求及node连接 MySQL获取真实数据

上篇文章,我们封装了ajax方法来请求后端数据,这篇文章将介绍如何使用 Node.js 来连接 MySQL,并对数据库进行操作。 实现效果 代码实现 后端接口处理 const express require("express"); const connection require("../da…