嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验

这篇具有很好参考价值的文章主要介绍了嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验目的

了解AAC音频格式,掌握AAC音频解码的原理,并实现将AAC格式的音频解码为PCM

二、实验原理

音频编解码的主要对象是音乐和语音,音频的编解码格式可分为无压缩的格式、无损压缩格式、有损音乐压缩格式、有损语音压缩格式和合成算法。本实验中使用的AAC格式属于有损音乐压缩格式。音频编解码的目的是减少传输的信息量和减少储存的信息。

音频的编解码的格式分类

无压缩的格式(PCM,WAV…)

无损压缩格式(APE,FLAC,LPAC,WMA_LS…)

有损音乐压缩格式(AAC,AACPlus,AC3,DTS,ATRAC,MP3,WMA,OGG,RA…)

有损语音压缩格式(AMR, GSM, LPC, SPEEX, CELP, G.7XX, ADPCM,…)

合成算法(MIDI,TTS)

AAC高级音频编解码(Advanced Audio Coding)

最初是基于MPEG-2的音频编码技术,目的是取代MP3格式。2000年,MPEG-4标准出台,AAC重新集成了其它技术(PS,SBR),为区别于传统的MPEG-2 AAC,故含有SBR或PS特性的AAC又称为MPEG-4 AAC。

AAC是新一代的音频有损压缩技术,它通过一些附加的编码技术(比如PS,SBR等),衍生出了LC-AAC,HE-AAC,HE-AACv2三种主要的编码。其中LC-AAC就是比较传统的AAC,相对而言,主要用于中高码率(>=80Kbps),HE-AAC(相当于AAC+SBR)主要用于中低码(<=80Kbps),而新近推出的HE-AACv2(相当于AAC+SBR+PS)主要用于低码率(<=48Kbps)。事实上大部分编码器设成<=48Kbps自动启用PS技术,而>48Kbps就不加PS,就相当于普通的HE-AAC。

HE:“High Efficiency”(高效性)。HE-AAC v1(又称AACPlusV1,SBR),用容器的方法实现了AAC(LC)+SBR技术。SBR其实代表的是Spectral Band Replication(频段复制)。

音乐的主要频谱集中在低频段,高频段幅度很小,但很重要,决定了音质。如果对整个频段编码,若是为了保护高频就会造成低频段编码过细以致文件巨大;若是保存了低频的主要成分而失去高频成分就会丧失音质。

SBR把频谱切割开来,低频单独编码保存主要成分,高频单独放大编码保存音质,“统筹兼顾”了,在减少文件大小的情况下还保存了音质,完美的化解这一矛盾。

HEv2:用容器的方法包含了HE-AAC v1和PS技术。PS指“parametric stereo”(参数立体声)。原来的立体声文件文件大小是一个声道的两倍。但是两个声道的声音存在某种相似性,根据香农信息熵编码定理,相关性应该被去掉才能减小文件大小。所以PS技术存储了一个声道的全部信息,然后,花很少的字节用参数描述另一个声道和它不同的地方。

AAC编解码特点

(1)AAC是一种高压缩比的音频压缩算法,但它的压缩比要远超过较老的音频压缩算法,如AC-3、MP3等。并且其质量可以同未压缩的CD音质相媲美。

(2)同其他类似的音频编码算法一样,AAC也是采用了变换编码算法,但AAC使用了分辨率更高的滤波器组,因此它可以达到更高的压缩比。

(3)AAC使用了临时噪声重整、后向自适应线性预测、联合立体声技术和量化哈夫曼编码等最新技术,这些新技术的使用都使压缩比得到进一步的提高。

(4)AAC支持更多种采样率和比特率、支持1个到48个音轨、支持多达15个低频音轨、具有多种语言的兼容能力、还有多达15个内嵌数据流。

(5)AAC支持更宽的声音频率范围,最高可达到96kHz,最低可达8KHz,远宽于MP3的16KHz-48kHz的范围。

(6)不同于MP3及WMA,AAC几乎不损失声音频率中的甚高、甚低频率成分,并且比WMA在频谱结构上更接近于原始音频,因而声音的保真度更好。专业评测中表明,AAC比WMA声音更清晰,而且更接近原音。

(7)AAC采用优化的算法达到了更高的解码效率,解码时只需较少的处理能力。

MPEG-4 AACLC解码器的基本框图

在主控模块开始运行后,主控模块将AAC比特流的一部分放入输入缓冲区,通过查找同步字得到一帧的起始。

找到后,开始进行无噪解码,无噪解码实际上就是哈夫曼解码,它的作用在于进一步减少尺度因子和量化后频谱的冗余,即将尺度因子和量化后的频谱信息进行哈夫曼编码。

通过反量化、

联合立体声、

知觉噪声替换、

瞬时噪声整形、

反离散余弦变换、

频段复制,这几个模块之后,

得出左右声道的PCM码流,再由主控模块将其放入输出缓冲区输出到声音播放设备。

嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验,TL6748-PlusTEB相关操作,音视频,信号处理,aac

程序流程

程序流程设计中首先要打开/创建输入和输出的文件,接着进行aac解码并将解码后的数据保存到pcm文件,最后关闭文件即可。

嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验,TL6748-PlusTEB相关操作,音视频,信号处理,aac

三、操作现象

实验设备

本实验所需硬件为实验板、仿真器和电源。

嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验,TL6748-PlusTEB相关操作,音视频,信号处理,aac

硬件连接

(1)连接仿真器和电脑的USB接口。

(2)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。

嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验,TL6748-PlusTEB相关操作,音视频,信号处理,aac

软件操作

导入工程,选择Demo文件夹下的对应工程

编译工程,生成可执行文件

将CCS连接实验箱并加载程序

点击运行程序

运行程序后,Console 窗口会打印信息。

大概等待5分钟,编码完成。

可看到工程目录下的song.aac文件解码生成的song.pcm文件。

可播放song.pcm,具体操作步骤如下:

(1)打开软件后,点击“文件->导入->原始数据”,

(2)选择工程目录下的song.pcm文件,数据配置如图,

(3)导入数据后,点击绿色剪头即可播放音频数据。

(4)对比后可发现其效果与AAC原文件播放内容一致。

实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。

嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验,TL6748-PlusTEB相关操作,音视频,信号处理,aac文章来源地址https://www.toymoban.com/news/detail-852311.html

到了这里,关于嵌入式操作教程_数字信号处理_音频编解码:3-6 AAC音频解码实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式操作系统(嵌入式学习)

    嵌入式操作系统是一种专门设计和优化用于嵌入式系统的操作系统。它是在资源受限的嵌入式设备上运行的操作系统,如微控制器、嵌入式处理器和系统芯片等。 嵌入式操作系统的主要目标是提供对硬件资源的有效管理和对应用程序的调度,以实现系统的可靠性、实时性和效

    2024年02月10日
    浏览(42)
  • 【嵌入式算法】学习笔记(一):数字滤波算法

    最近在做直流电机的毕设中,由于需要采集转速,电流,电压,温度等参数,常规的采集容易受到干扰,所以特意复习了一下关于数字滤波有关的知识,并作出相应的整理。 本文对数字滤波进行简单介绍,讲解七种常用的滤波算法并用C语言实现,并比较其优缺点 。由于篇幅

    2023年04月22日
    浏览(81)
  • 嵌入式I2C 信号线为何加上拉电阻(图文并茂)

    IIC 是一个两线串行通信总线,包含一个 SCL 信号和 SDA 信号,SCL 是时钟信号,从主设备发出,SDA 是数据信号,是一个双向的,设备发送数据和接收数据都是通过 SDA 信号。   在设计 IIC 信号电路的时候我们会在 SCL 和 SDA 上加一个上拉电阻。   今天就来分享下,为什么要在

    2024年02月19日
    浏览(34)
  • 数字信号处理教程学习笔记1-第2章时域中的离散信号和系统

    信号处理的任务示意方框图 模拟信号和数字信号分别是啥样的,有啥区别

    2024年01月22日
    浏览(39)
  • 嵌入式系统:连接物理世界与数字世界的桥梁

    目录 导语: 一. 什么是嵌入式系统? 二. 嵌入式系统的应用领域 三. 嵌入式系统的未来发展趋势   在当今数字时代,我们离不开各类智能设备的便利,它们在我们的生活中起着至关重要的作用。而这些设备中的关键技术就是嵌入式系统。嵌入式系统作为连接物理世界与数字

    2024年02月11日
    浏览(33)
  • lv6 嵌入式开发-Flappy bird项目(信号机制、定时器功能实现)

    目录 1 信号(signal) 2 设置信号响应方式 – signal 3 设置定时器 4 示例 问题: getch()阻塞获取键盘按键输入, 怎么操作才能不影响小鸟下落和管道移动? getch如果阻塞,下面的程序都是无法执行。通过信号机制方式实现。 在Linux中,软中断信号(signal,简称为信号)是在软件层

    2024年02月07日
    浏览(69)
  • 专门针对数字电源相关应用,STM32G474CBT3/ STM32G474QET3/ STM32G474RBT3/ STM32G484CBT3带有DSP和FPU指令的混合信号MCU【嵌入式】

    STM32G4系列集成了运行于170 MHz的32位Arm® Cortex®-M4内核(支持FPU和DSP指令),以及3种不同的硬件加速器:ART Accelerator™、CCM-SRAM程序执行加速器,以及数学运算加速器。STM32G4系列还提供: 丰富的高级模拟外设(比较器、运算放大器、DAC) 支持硬件过采样的ADC(16位分辨率) 具

    2024年01月19日
    浏览(38)
  • 物联网选题分享 - 便携式STM32的红外信号分析仪 - 单片机 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月21日
    浏览(38)
  • 【嵌入式基础】串口通信操作实例

    本文主要介绍流水灯实验和串口通信的实验过程,对串口协议和RS-232标准,RS232电平与TTL电平的区别,以及\\\"USB/TTL转232\\\"模块(以CH340芯片模块为例)的工作原理这些知识也有了一定的涉及。 目录 一、了解串口协议以及\\\"USB/TTL转232\\\"模块的工作原理 1、串口协议 2、RS-232标准 3、

    2024年02月01日
    浏览(44)
  • 嵌入式开发(5)位带(位段)操作

           位带操作常用于I/O高度密集访问的芯片。        参考权威指南:Bit-band operation support allows a single load/store operation to access (read/write) to a single data bit. In the Cortex-M3 and Cortex-M4 processors, this is supported in two pre-defined memory regions(静态映射) called bit-band regions. One of th

    2023年04月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包