0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式实验箱:mp3音频解码实验

冬至子 来源:创龙教仪-木江鹏 作者:创龙教仪-木江鹏 2023-11-03 15:35 次阅读

一、实验目的

了解MP3文件的结构,掌握MP3音频解码的原理,并实现基于SYSBIOS系统,将MP3格式的音频解码为PCM格式。

二、实验原理

1、MP3音频格式

MP3是一种音频压缩技术,其全称是动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III),简称为MP3。它被设计用来大幅度地降低音频数据量。

利用 MPEG Audio Layer 3 的技术,将音乐以1:10 甚至 1:12 的压缩率,压缩成容量较小的文件,而对于大多数用户来说重放的音质与最初的不压缩音频相比没有明显的下降。

传统的MP3算法需要完成大量的高精度浮点计算,其解码速度和效率依赖于通用浮点运算单元的支持。大部分的专用MP3解码播放系统均需要使用DSP处理器或浮点协处理器处理浮点指令并完成高速浮点运算过程。

2、MP3编解码

MP3音频压缩包含编码和解码两部分,编码是将原始信号转换成电平信号的过程,解码即是逆过程,人耳感受声音的频率范围是20Hz-20kHz,MP3截掉了大量的冗余信号和无关的信号,编码器将原始声音变换到频率域,经过量化和编码形成MP3位流。解码器要简单得多,它的任务是从编码后的谱线成分中,经过反量化和逆变换,提取出声音信号。

(1)编码:从信息论的观点来看,描述信源的数据是信息和数据冗余之和,即:数据=信息+数据冗余。音频信号在时域和频域上具有相关性,也即存在数据冗余。将音频作为一个信源,音频编码的实质是减少音频中的冗余。通常我们采用的是PCM编码,PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字信号

(2)解码:编码的逆过程,将MP3文件解码成PCM数据流输出。

3、MP3文件结构

MP3文件数据由多个帧组成,帧是MP3文件最小组成单位。每个帧又由帧头、附加信息和声音数据组成。每个帧播放时间是0.026秒,其长度随位率的不同而不等。有些MP3文件末尾有些额外字节存放非声音数据的说明信息。

MP3文件大体上分为三个部分:ID3V2+音频数据+ID3V1。

ID3一般位于一个MP3文件的开头或末尾的若干字节内,记录该MP3文件的歌手、标题、专辑名称、年代、风格等信息,ID3分为两个版本,V1版ID3在文件末尾的固定128字节,以TAG字符开头,若没有则认为无ID3V1信息,V2版ID3位于MP3的开头,长度可变。

image.png

4、音频数据解析

每个帧都有一个帧头,长度是四个字节,帧后面可能有2字节的CRC校验,取决于帧头的第16位,为0则无校验,为1则有校验,后面是可变长度的附加信息,对于标准的MP3文件来说,其长度是32字节,紧接其后的是压缩的声音数据,当解码器读到此处时就进行解码了。

image.png

5、libmp3lame库

lame是一个有名的开源MP3编解码库,使用lame库只需要包含lame.h头文件。

image.png

6、SYS/BIOS 操作系统

SYS/BIOS 是一个可扩展的实时的操作系统(可拓展的实时内核)。

(1)具有非常快速的响应时间(在中断和任务切换时达到较短的延迟),响应时间的确定性。

(2)SYS/BIOS提供了抢占式多线程,硬件抽象,实时分析和配置工具。

(3)优化的内存分配和堆栈管理(尽量少的消耗和碎片)。

(4)SYS/BIOS的设计是为了最大限度地减少对内存和CPU的要求.

能够实现系统的模块化并可裁剪。

(5)用于实时调度和同步的应用程序或实时的设备。

TASK任务

TASK任务模块是操作系统中最基本的模块,每个任务是一个单独的线程,各个线程(任务)具有各自的优先级。SYS/BIOS任务对象是被任务模块管理的线程。

(1)任务模块动态调度和抢占任务是基于任务的优先级和任务当前执行的状态的。这确保了处理器总是给予最高优先级的线程准备运行。

(2)SYS/BIOS的系统组件可以动态及静态创建任务,可以通过调用Task_create()动态创建Task对象,也可以在配置中静态创建Task对象。

(3)动态和静态创建任务的主要区别是:动态创建的线程可以在运行时删除,而静态创建的任务占用更少的内存资源。

7、程序流程设计

程序流程设计中首先要进行使能SD并配置SD设备驱动,接着初始化SD设备,检测SD卡的状态,注册SD卡的读写方式,然后在SD卡内创建PCM文件,打开MP3文件后初始化文件指针到起始点,接着初始化解码器数据结构并配置成解码模式,最后执行MP3文件解析,解码完成后卸载设备即可。

image.png

三、操作现象

1、实验设备

image.png

2、硬件连接

(1)将工程目录下的song.mp3文件拷贝到SD卡后,把SD卡插入卡槽内。

(2)连接仿真器电脑USB接口

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

image.png

3、软件操作

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

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

将CCS连接开发板并加载程序

点击运行程序

运行程序后,Console 窗口会打印信息,正在处理音频数据。

大概等待1分钟,解码完成。

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

image.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    51

    文章

    7308

    浏览量

    142942
  • PCM
    PCM
    +关注

    关注

    1

    文章

    186

    浏览量

    52674
  • SD卡
    +关注

    关注

    2

    文章

    530

    浏览量

    63015
  • CRC校验
    +关注

    关注

    0

    文章

    81

    浏览量

    15030
  • 音频解码
    +关注

    关注

    0

    文章

    25

    浏览量

    16421
收藏 人收藏

    评论

    相关推荐

    数字信号处理实验操作教程:3-3 mp3音频编码实验(AD7606采集)

    用的MP3属于有损音乐压缩格式。音频解码的目的是减少传输的信息量和减少储存的信息。 MP3音频
    发表于 04-03 16:41

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

    编码技术,目的是取代MP3。2000年,MPEG-4标准出台,AAC重新集成了其它技术(PS,SBR),为区别于传统的MPEG-2 AAC,故含有SBR或PS特性的AAC又称为MPEG-4 AAC
    发表于 04-11 09:22

    嵌入式技术在MP3播放器中的应用

    嵌入式技术在MP3播放器中的应用摘要:MP3播放器无疑是近几年来消费类电子产品中最为成功的一类产品,带动了包括设计、资讯、生产、营销等在内的整个产业链,也上演了形形色色技术、品牌、价格、市场等多方面
    发表于 06-11 10:07

    一种嵌入式MP3音频点播系统的设计与实现

    本帖最后由 luna 于 2011-3-3 14:37 编辑 介绍一种基于S3C2410处理器和嵌入式Linux系统的C/S结构音频点播系统,将
    发表于 03-03 00:32

    STM32-CRK创新实验平台微机原理 Arduino创新实验嵌入式实验

    ,可实现教学基本要求。8、基本IO模块:8路LED指示灯,一个RGB三色灯,一路DA输出指示灯,一路电位器,一路蜂鸣器,一路继电器。满足基本GPIO的应用。。9、MP3模块:采用VS1053音频解码
    发表于 05-12 15:31

    MP3解码芯片

    是一种有损压缩的格式,如果MP3播放器拥有优秀的解码芯片就能够更好地还原音频信号的质量,很大程度上弥补音频信号的损失。相反的话,低端的解码
    发表于 12-14 14:16

    为什么ALIENTEK MINISTM32扩展实验10 MP3播放器实验解码不了WMA文件?

    ALIENTEK MINISTM32 扩展实验10 MP3播放器实验解码不了WMA文件
    发表于 07-19 04:35

    嵌入式MP3播放器系统由什么组成?

    信息。现在的数字音乐播放器市场,采用ARM主控+DSP音频解码芯片+SD存储卡所构成的数字音乐播放系统具有强大的播放能力和较好的性价比,在中、高端音频解码领域内有着较强的生命力。本文针
    发表于 08-15 08:31

    MP3解码芯片的原理是什么?

    地还原音频信号的质量,很大程度上弥补音频信号的损失。相反的话,低端的解码芯片会令MP3的编码信息进一步损失。
    发表于 10-25 09:13

    怎么实现一种嵌入式MP3音频点播系统的设计?

    怎么实现一种嵌入式MP3音频点播系统的设计?
    发表于 06-07 06:49

    嵌入式教程_教学实验实验操作_音频处理:3-2 mp3音频编码实验

    编码为MP3。 2、实验原理 音频解码的主要对象是音乐和语音,音频的编
    发表于 06-02 16:17

    嵌入式DSP教学实验_数字信号处理教程:3-5 AAC音频编码实验

    格式。音频解码的目的是减少传输的信息量和减少储存的信息。 音频解码格式分类 AAC高级音频解码
    发表于 09-05 11:02

    国产嵌入式教学实验_创龙教仪_DSP教学实验3-4 mp3音频解码实验

    一、实验目的 了解MP3文件的结构,掌握MP3音频解码的原理,并实现基于SYSBIOS系统,将MP3
    发表于 11-07 13:48

    嵌入式MP3解码研究与优化

    分析MP3解码库的解码流程和数据流向,提出了嵌入式MP3解码研究与优化,实现了
    发表于 05-26 16:06 109次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>MP3</b><b class='flag-5'>解码</b>研究与优化

    基于多任务嵌入式应用的MP3实时解码系统

    关键词:MP3 , 多任务 , 解码 , 嵌入式 , 实时 1 引 言 MP3是目前世界上流行的音频格式之一,采用MPEG-1标准的Audi
    发表于 12-10 15:18 527次阅读