音频采样中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, 其中的音频模块就包 ...
随机推荐
- jQuery中的Ajax全局事件
Ajax全局事件 全局事件会在有ajax请求的情况下触发. 方法名称 说明 ajaxStart(callback) Ajax请求开始时执行的函数 ajaxStop(callback) Ajax请求结束 ...
- Fork & vfork & clone (转载)
转自:http://blog.csdn.net/zqy2000zqy/archive/2006/09/04/1176924.aspx 进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合, ...
- Tesseract训练中文字体识别
注:目前仅说明windows下的情况 前言 网上已经有大量的tesseract的识别教程,但是主要有两个缺点: 大多数比较老,有部分内容已经不适用. 大部分只是就英文的训练进行探索,很少针对中文的训练 ...
- 为什么控制台console.log一个值,总是会多一个undefined
我们发现在浏览器控制台打印东西的时候,末尾总是会莫名其妙多出一个undefined? 这是为什么呢? 大胆猜测一下,应该执行的函数没有返回值,而浏览器默认要打印出执行函数的返回值,才会打印undefi ...
- 如何打造一款可靠的WAF
之前写了一篇<WAF防御能力评测及工具>,是站在安全运维人员选型WAF产品的角度来考虑的(优先从测试角度考虑是前职业病,毕竟当过3年游戏测试?!).本篇文章从WAF产品研发的角度来YY如何 ...
- Bayesian statistics
文件夹 1Bayesian model selection贝叶斯模型选择 1奥卡姆剃刀Occams razor原理 2Computing the marginal likelihood evidenc ...
- Spring结合AspectJ的研究
本文阐述以下内容:1.AspectJ是什么及使用方式2.Spring AOP和AspectJ的区别3.Spring结合AspectJ的使用方法和原理4.Spring注解方式使用AspectJ遇到的问题 ...
- 云计算之路-试用Azure:竟然无法重置虚拟机的管理员密码
在忘记管理员密码的情况下,可以远程重置服务器的管理员密码是云计算服务的一个优势,这是使用自己的物理服务器无法实现的. 但是,在使用Azure的时候,我们找遍Azure管理控制台也没找到可以重置虚拟机( ...
- AFNetworking 文件上传Data,File图片,文件等上传
一:AFNetworking的文件上传: 主要几个以下类似 - (BOOL)appendPartWithFileURL:(NSURL *)fileURL name:(NSString *)name e ...
- django2自动发现项目中的url
根据路飞学城luffycity.com 的crm项目修改的 1 url入口:rbac/urls.py urlpatterns = [ ... # 批量操作权限 re_path(r'^multi/per ...