音频采样中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, 其中的音频模块就包 ...
随机推荐
- Dependent Parameters in Concurrent Program using Special Value Set
Dependent Parameters in Oracle Applications Requirement: Say there is a concurrent program that lets ...
- 前端工业化工具Gulp初体验
1. 全局安装 gulp: npm install --global gulp 2.在项目目录下,用以下命令创建一个基本的package.json文件 npm init 3.安装Gulp npm in ...
- etcd,Docker问题汇总
单节点etcd publish error 正在愉快的进行jenkins流程,突然发现etcd连接不上去了.重新reboot后发现日志publish error Oct :: k8s-master e ...
- [转]在Excel中使用SQL语句实现精确查询
本文转自:http://blog.sina.com.cn/s/blog_5fc375650102e1g5.html 今天在微博上看到@数据分析精选 分享的一篇文章,是关于<在Excel中使用SQ ...
- 【甘道夫】Win7环境下Eclipse连接Hadoop2.2.0
准备: 确保hadoop2.2.0集群正常执行 1.eclipse中建立javaproject,导入hadoop2.2.0相关jar包 2.在src根文件夹下拷入log4j.properties,通过 ...
- LinkedIn架构这十年
原文: A Brief History of Scaling LinkedIn 2003年是LinkedIn元年,公司成立的目标是连接你的个人人脉以获得更好的的工作机会.上线第一周才有2700个会员注 ...
- 探寻C++最快的读取文件的方案
https://www.byvoid.com/blog/fast-readfile/ 在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式.相信几乎所有的C++学习者都在cin ...
- 在k8s上部署第一个php应用
一.搭建nginx+php 1.站点配置文件 1.1创建nginx-configmap.yaml [root@master k8s]# cat nginx-configmap.yaml apiVers ...
- 【转】JAVA – 虚函数、抽象函数、抽象类、接口
1. Java虚函数 虚函数的存在是为了多态. C++中普通成员函数加上virtual关键字就成为虚函数 Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行 ...
- HKC显示器开机亮一下就不显示了
一台HKC显示器开机显一下就黑了 最近加了一个显示器做扩展屏幕,可以不亮有问题啊 芯片坏了引起的~ 不是自己的,不能拆机啊啊 文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论 ...