IEC-60958

IEC 60958

IEC 60958是一种传递数字音频的接口规范,相比I2S,IEC60958通过一根线同时传递时钟信号和数据信号。

  • IEC 60958在传输数据时使用双相符号编码(Biphase Mark Code),简称BMC,属于一种相位调制(phase modulation)的编码方法,是将时钟讯号和数据讯号混合在一起传输的编码方法。下图是BMC的示意图

在BMC编码中,时钟信号的频率是数据传输bitrate的两倍。BMC信号在时钟信号的上升沿跳变。在时钟下降沿,BMC是否跳边取决于数据信号,当数据信号是高电平时,BMC跳变。当数据信号是低电平时,BMC不跳变。

在音频信号在硬件间传递时,是传递的BMC信号,接收端对BMC解码,解析出时钟信号与数据信号。

  • IEC 60958标准传递两channel音频数据的报文格式如下图所示,

由192个Frame构成的Block,而每个Frame储存了两个channel的一组采样信号(Sample),分为Channel A与Channel B两个声道。而每组Sample由Sub Frame构成,也就是一个Frame里有两个Sub Frame。Sub Frame的数据长度为32 Bits,里头内含了头码(Preamble)、辅助数据(Aux. Data)、音频数据(Audio Data)、以及四个位的信息与检查码。也就是说,一个Sub Frame为32 Bits,也就4 Bytes,而一个Frame为8 Bytes,而一个Block为192 x 8 = 1536 Bytes,而每个Block总共可以传递192个双声道Sample。

Sub Frame各个bit组成如下:

  • 0-3 bits 头码(Preamble) 用来表示一个Sub Frame的开头,有三种型态,分别表示该Sub Frame为Channel A、Channel B或着是一个Block的起始Sub Frame(为Channel A)。

  • 4-7bits 辅助数据(Aux. Data) 原始此区块的设计是用来传递一些使用者自行添加的信息,不过目前比较常见的用途是当音讯数据超过20Bit取样时,这四个Bit用来储存多出的取样Bit,比如说当要传送24Bit取样的数据时,用来存放末四个Bit的音讯数据。

  • 8-27bits 音频数据(Audio Data) 存放实际的取样数据,长度为20 Bit,以LSB优先的方式传送,当取样低于20 Bit时,没有用到的LSB Bits要设定为零,举例来说,当我们要传送16 Bit的数据时,只会用到12-27 Bit的位置(LSB在12 Bit),而8-11 Bit为零。

  • 28 bit 有效位(Validity Bit) 此位设定了这一个Sub Frame内的数据是不是正确,如果设定为0,代表此Sub Frame内的数据是正确可被接收的,反之如果此Bit为1,则代表接收端应该忽略此组Sub Frame。比如说CD转盘读取CD数据时若是有某一个Sample读不到就会将代表该组Sample的Sub Frame中的有效位设为1。

  • 29 bit 使用者位(User Bit) 此位为使用者自行定义的位,每组Sample传送一位,直到192组Sample传完后组成成192位的信息,两声道各自有一组192位的使用者信息。

  • 30bit 信道状态位(Channel Status Bit) 此位与使用者位一样,每组Sample传送一位,最后组成两声道各自一组192位的信道状态信息(Channel Status)。这个192位信道状态信息分为专业(Professional)与一般家用(Consumer)两种不同的结构,以第一个位决定,设为1的时后为Professional模式,设为0的时后为Consumer模式。

  • 31bit 同位检查位(Parity Bit) 同位检查是用来判别是否有奇数个位是发生错误,是一种简便错误检查方法,这边是使用偶位同位检查(Even Parity Check)。

头码(Preamble)是用来表示一个Sub Frame的开头,主要有X、Y、Z三种组态代表不同的意义,X代表此时是传送A通道的Sub Frame、Y代表是传此时是传送B通道、而Z比较特别,是代表此时是传送A通道,并且是一个Block的起始Sub Frame,如下图所示。

由于BMC编码中不可能出现三个bit相同的情况,IEC 60958正是利用这一特性来区分Preamble与正常的数据。表格里的Preamble code数值是Sub Frame中其它的数据经过BMC编码之后再加到整个Sub Frame前头的数据数值,所以总共是8bit,代表4bit(0~3bits)的时序。此外比较特别的是除了有X、Y、Z三种组态之外,上面的表格还列出了另外一组与原本数据向位相反的数值,要使用哪一组数值是依照前一组Sub Frame中最尾端的电平而定,当前一组Sub Frame为最尾端的电平0时用左边那一列数值,为1的时后用右边那一列,这样一样接收端才能正确处理。

每组Sub Frame中有一位的信道状态位,在一个Block有192组Frame,可以构成192位的信道状态结构(Channel Status Structure),而两声道各自有一组192位的使用者信息。这这个192位的信道状态结构主要有两种不同的结构,由第一个位来决定,当第一个位为0时代表一般家用(Consumer)结构,第一个位为1时代表专业用(Professional)结构,分别为下面这两张结构图表。

  • Professional Channel Status format

reference

  • IEC 60958_1/3/4
  • https://www.cnblogs.com/fellow1988/p/6445489.html

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

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

相关文章

RAG分块完全指南:7种核心策略详解,让你的大模型效果翻倍

本文详解RAG系统中分块(Chunking)策略这一关键环节,解析了7种主流分块方法:固定大小、语义、递归、文档、智能体、句子和段落分块。文章指出不存在"万能"策略,建议从512 tokens搭配10-15%重叠率开始,通过调试参数优化&a…

(加交叉验证)基于GPR的数据多变量回归预测 (多输入单输出)

目录 1、代码简介 2、代码运行结果展示 3、代码获取 1、代码简介 基于高斯过程回归GPR的数据多变量回归预测 (多输入单输出)交叉验证 程序已经调试好,无需更改代码替换数据集即可运行!!!数据格式为excel! 本程序…

大模型在自动驾驶中的应用:从VLA到端到端技术全解析

文章介绍了大模型在自动驾驶领域的应用,重点解析了VLA(视觉-语言-动作)技术与端到端的关系,并阐述了两种VLA实现方案:两阶段(大模型Diffusion)和单阶段(纯大模型)。同时提…

专科生必看!8个降AI率工具,高效避坑指南

专科生必看!8个降AI率工具,高效避坑指南 AI降重工具:高效避坑的必备利器 随着人工智能技术的快速发展,越来越多的专科生在撰写论文时开始使用AI工具进行辅助。然而,AI生成的内容往往存在明显的“AI痕迹”,不…

JavaWeb相关环境安装

这篇博客我们讲一下JavaWeb相关得环境安装,用来后续完成前后端的项目部署。 1,JDK 1,下载安装包 下载安装包大家可以去官网进行下载,为了方便起见大家可以直接通过我提供的链接进行下载:JDK安装包,将下载后…

04|交付经理真正的 KPI 只有一个:可被接受的结果

在很多公司里,交付经理的 KPI 看起来非常“丰富”。 项目按期率里程碑完成率客户满意度验收通过率投诉数量 但如果你真的在一线做过交付,就会慢慢意识到一件事:这些 KPI,大多数只是“结果的影子”, 而不是交付真正被评…

小白也能学会!2024-2025年RAG系统高精度实现指南,企业级应用必备收藏

本文系统分析了企业级RAG系统面临的五大挑战,包括历史数据过时、文档分块破坏上下文、向量检索局限、图表理解瓶颈和流程缺乏灵活性。针对这些问题,文章提出了多种解决方案:选择合适的LLM和嵌入模型、建立评估体系、采用混合检索与重排序技术…

‌为什么供应商报价有13%和3%两种增值税?‌

为什么供应商报价有13%和3%两种增值税?‌ 13%税率‌:适用于‌一般纳税人‌销售‌货物、加工修理修配劳务、有形动产租赁‌等业务。例如:销售手机、电脑、机械设备、汽车配件、工业原材料等。 3%征收率‌:适用于‌小规模纳税人‌的…

参数高效微调三剑客:LoRA、MoLoRA与MoR1E的深度比较与应用指南

大模型微调的技术演进 在大型语言模型(LLM)时代,全参数微调(Full Fine-tuning)面临三大挑战: 计算资源消耗:微调百亿参数模型需昂贵GPU集群存储开销:每个下游任务需保存完整模型副本灾难性遗忘:微调可能损害模型原有…

of 的发音?弱读最常见/əv/

of 的发音取决于语境,常见有两种读法。 1️⃣ 最常见(弱读,口语 / 学术汇报里几乎都用这个) of → /əv/ 接近中文:“呃v / əv”(很轻) 例子: one of them → /wʌn əv em/ a l…

基于1D-CNN的数据多变量回归预测 (多输入单输出)

目录 1、代码简介 2、代码运行结果展示 3、代码获取 1、代码简介 基于一维卷积神经网络(1D-CNN)的数据多变量回归预测 (多输入单输出) 程序已经调试好,无需更改代码替换数据集即可运行!!!数据格式为excel! 本程序…

PyQt5 解决弹窗后快捷键失效问题

import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QMenuBar, QMenu, QAction, QMessageBox from PyQt5.QtCore import Qt, QEvent, QTimerclass MainWindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle("菜单快捷键焦点保…

【必收藏】突破传统RAG瓶颈:Deep Thinking RAG架构详解与实战指南

Deep Thinking RAG是一种将RAG与Agent技术融合的新型架构,突破了传统RAG的局限性。它通过四个智能模块(规划代理、检索监督者、多阶段检索漏斗、策略代理)实现从线性链到循环图的跃迁,支持多跳推理、动态知识边界和自适应检索策略…

基于(SVM-RFE-BP)支持向量机递归特征消除特征选择算法结合BP神经网络多变量回归预测(多输入单输出)

目录 1、代码简介 2、代码运行结果展示 3、代码获取 1、代码简介 基于(SVM-RFE-BP)支持向量机递归特征消除特征选择算法结合BP神经网络多变量回归预测(多输入单输出) 采用SVM-RFE支持向量机递归特征消除特征选择对原始特征进行特征选择!随后在结合BP进行回归预…

若依工作流模型管理模块 - 需求分析+设计文档+接口文档

若依工作流模型管理模块 - 需求分析设计文档接口文档 一、需求分析 1. 核心业务背景 该模块是若依(RuoYi-Vue-Plus)框架集成Activiti工作流引擎的核心模块,聚焦流程模型全生命周期管理,解决从模型创建、编辑、部署到导出、转换…

[独家原创]CPO-VMD-KPCA-CPO-LSTM单变量时序预测 (单输入单输出) matlab代码

目录 1、代码简介 2、代码运行结果展示 3、代码获取 1、代码简介 [独家原创]CPO-VMD-KPCA-CPO-LSTM单变量时序预测 (单输入单输出) 基于冠豪猪算法优化变分模态分解-核主成分分析-冠豪猪算法-长短期记忆网络单变量时序预测 matlab代码 由于之前的图像分析太少,…

AI应用架构实战:上下文工程的数据预处理

AI应用架构实战:上下文工程的数据预处理——让模型“听懂”你的每一句话 关键词 上下文工程 | 数据预处理 | AI应用架构 | 对话系统 | 向量数据库 | 上下文窗口 | 语义分割 摘要 在AI应用(如对话系统、知识库问答、个性化推荐)中&#xf…

AI大模型产品经理6个月速成路线图:4大学习阶段+12个实战项目+30+学习资源,薪资涨幅超60%!

文章详解了AI大模型产品经理这一黄金岗位的培养路径,提供6个月速成路线图,分4大阶段掌握核心能力。数据显示该岗位平均月薪38K,大模型方向溢价45%,2025年缺口达72万。文章包含12个实战项目、30学习资源,同时提供避坑指…

自然语言处理(NLP)核心知识体系

自然语言处理(NLP)核心知识体系 自然语言处理(Natural Language Processing,NLP)是人工智能(AI)的重要分支,专注于实现计算机与人类自然语言之间的有效交互,让计算机能够…

[原创]基于VMD-SE-LSTM+Transformer多变量时序预测 Matlab代码

目录 1、代码简介 2、代码运行结果展示 3、代码获取 1、代码简介 [原创]基于变分模态分解结合样本熵结合长短期记忆神经网络Transformer(VMD-SE-LSTMTransformer)多变量时序预测 Matlab代码 采用VMD-SE对输出列进行分解,通过样本熵将个分量划分为高频分量和低频…