音频采样中left-or right-justified(左对齐,右对齐), I2S时钟关系
音频采样中left-or right-justified(左对齐,右对齐), I2S时钟关系
- 4951
- 0
- 0
刚刚过完春节,受假期综合症影响脑袋有点发木,干什么事反应慢了?最近调试xxxx的TLV320AIC3104发现以前调过的音频采样什么的,都忘记了,说明以前调试的时候很急躁,没有搞明白就翻篇了,今天说什么也得把落下的作业补上。
1、三个时钟一条线
SCLK: 串行时钟SCLK,也叫位时钟(BCLK),对应数字音频的每一位数据,SCLK都有一个脉冲。
SCLK的频率= 2 X 采样频率 X 采样位数。
比如:我司采用的64fs,BCLK = 2 X fs X 32bit = 64fs。
LRCK:帧时钟,也称WCLK,用于切换左右声道的数据,一个时钟周期代表一个音频采样点数据。LRCK为“1”(或"0")表示正在传输的是右声道的数据,为“0”(或"1")表示传输的是左声道的数据。LRCK的频率等于采样频率。
MCLK:主时钟,也是以上两个时钟的参考时钟,一个系统应该使用同一的MCLK以保证时钟同步要求。常见频率256fs。
SDATA:串行数据,就是用二进制补码表示的音频数据。
2、left-justified(左对齐)模式
参考AIC3104手册中关于左对齐介绍,以64fs,16bit左对齐为例。如图,WCLK一个时钟周期采一个样点,BCLK为64fs,即一时钟周期64位数据。WCLK高电平部分对应的SDIN/SDOUT为左声道数据,采用16bit左对齐格式,即MSB为16bit有效数据,LSB的16bit无效,同理WCLK低电平部分对应SDIN/SDOUT为右声道数据,同样MSB为16bit有效数据,LSB为16bit无效数据。
3、reight -justified(右对齐)模式
与左对齐区别就是有效数据在LSB。
4、I2S 模式
在I2S模式中,有效数据在BCLK的第二个时钟周期开始建立,所以在与FPGA配合时,需提醒FPGA工程师进行移位操作。
5、网上摘抄
声音数字化过程:
模拟信号-->采样-->量化 -->编码 --> 数字信号
即模拟信号通过A/D ADC转换为数字信号;通过D/A DAC转换位模拟信号。
声音数字化要素:
1、采样频率:每秒钟抽取声波幅度样本的次数;采样频率越高,声音质量越好,数据量越大。
2、量化位数:每个采样点用多少个二进制位数表示数据范围;位数越多,音质越好,数据量越大;
3、声道数:使用声音通道的个数:立体声比单声道的表现力丰富,但数据量翻倍。
声音数字化的数据量:
音频数据量 = 采样频率 X 量化位数 X 声道数 /8(字节/秒)
数字音频压缩标准:
音频年压缩方法概述:
输入音频信号--->编码器 -->传输/存储 --> 解码器 -->输出音频信号
压缩编码技术是指用某种方法使数字化信息的编码率降低的技术;
判断音频信号是否能压缩依据:
1、声音信号中存在大量冗余;
2、人的听觉具有强音能抑制同时存在的弱音的现象;
音频信号压缩编码的分类:
1、无损压缩(熵编码?):霍夫曼编码、算术编码、行程编码;
2、有损压缩:
波形编码---PCM、DPCM、ADPCM、子带编码、矢量量化;
参数编码:LPC
混合编码:MPLPC、CELP
音频压缩技术:
1、G711、G721、G723、G728:电话语音质量;
2、G722:调幅广播质量;
3、MPEG:高保真立体声;
声卡:负责录音、播音和声音合成的一种多媒体版卡:
1、录制、编辑和回放数字音频文件;
2、控制和混合名声源的音量;
3、记录和回放时进行压缩和解压缩;
4、语音合成技术;
5、具有MIDI接口(乐器数字接口)
芯片类型:
1、CODEC芯片(依赖CPU,价格便宜)
2、数字信号处理器DSP(不依赖CPU);
转载自:http://blog.csdn.net/mantis_1984/article/details/19075319
音频采样中left-or right-justified(左对齐,右对齐), I2S时钟关系的更多相关文章
- 剑指offer系列——二维数组中,每行从左到右递增,每列从上到下递增,设计算法找其中的一个数
题目:二维数组中,每行从左到右递增,每列从上到下递增,设计一个算法,找其中的一个数 分析: 二维数组这里把它看作一个矩形结构,如图所示: 1 2 8 2 4 9 12 4 7 10 13 6 8 11 ...
- Python3基础 str ljust-rjust-center 左、右对齐 居中
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- (转)思考:矩阵及变换,以及矩阵在DirectX和OpenGL中的运用问题:左乘/右乘,行优先/列优先,...
转自:http://www.cnblogs.com/soroman/archive/2008/03/21/1115571.html 思考:矩阵及变换,以及矩阵在DirectX和OpenGL中的运用1. ...
- react——Table组件列中靠左 靠右对齐解决方案
最近项目中遇到一个需求调整:table中的文字过长居左排列,数字居右排列 然后看了一下官方文档: 先上图展示一下 左边是需要的效果: className: 'column-left', { title ...
- table 中实现 控制 指定列的 左对齐 右对齐方式
.listTable{ border-collapse:collapse; border-top:1px solid #8c9594; border-right:1px solid #8c9594; ...
- 浅析内存对齐与ANSI C中struct型数据的内存布局-内存对齐规则
这些问题或许对不少朋友来说还有点模糊,那么本文就试着探究它们背后的秘密. 首先,至少有一点可以肯定,那就是ANSI C保证结构体中各字段在内存中出现的位置是随它们的声明顺序依次递增的,并且第一个字段的 ...
- markdown居中对齐,左对齐,右对齐
Markdown语法本身没有居中,但Markdown中支持基本的HTMl语法,可以使用HTML语法. 居中: <center>居中</center> 左对齐: <p al ...
- 视音频数据处理入门:PCM音频采样数据处理
===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...
- WebRTC 音频采样算法 附完整C++示例代码
之前有大概介绍了音频采样相关的思路,详情见<简洁明了的插值音频重采样算法例子 (附完整C代码)>. 音频方面的开源项目很多很多. 最知名的莫过于谷歌开源的WebRTC, 其中的音频模块就包 ...
随机推荐
- bash中的管道和重定向
管道 管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandarderror 信息没有直接处理能力.然后,传递给下一 ...
- 从Cell的视图推出一个新的界面
先写一个方法, 强制增加一个navigation的属性. 这样self就可以调出来navigation了 - (UINavigationController*)naviController { for ...
- void fun() const{}; const void fun(){}; 和void const fun(){}; 的区别?
void fun() const{}; const void fun(){}; 和void const fun(){}; 的区别? const void fun(){};和void const fun ...
- pycharm的插件pylint报错:java.lang.Throwable: Write-unsafe context! Model changes are allowed from write-safe contexts only. Please ensure you're using invokeLater/invokeAndWait with a correct modality stat
java.lang.Throwable: Write-unsafe context! Model changes are allowed from write-safe contexts only. ...
- IP地址网段规划
- mysql5.7.x 编译安装
一.卸载mariadb [root@mysql5 ~]# rpm -qa mariadb* mariadb-libs--.el7.centos.x86_64 [root@template tools] ...
- Linq之旅:Linq入门详解(Linq to Objects)【转】
http://www.cnblogs.com/heyuquan/p/Linq-to-Objects.html Linq之旅:Linq入门详解(Linq to Objects) 示例代码下载:Linq之 ...
- Firefox的缓存问题
使用Firefox调试代码时,JS或CSS文件修改后,怎么刷新都不生效.原来是Firefox缓存的问题.但Firefox没有像IE一样有个每次读取最新的设置. 设置Firefox不缓存页面: 新建标签 ...
- DevExpress 中 用 LookUpEdit 控件 代替 ComboBoxEdit 控件来绑定 DataTable
绑定数据及定义列信息 LookUpEdit lue = lookUpEdit1; DataTable dt = new DataTable(); dt.Columns.Add(new DataColu ...
- Flex的 Event中属性currentTarget与target的差别
Flex的 Event中属性currentTarget与target的差别 1.差别 (1)currentTarget是事件的处理对象(event processor) (2)target是事件的调用 ...