《FPGA代做fpga音频ACC.docx》由会员分享,可在线阅读,更多相关《FPGA代做fpga音频ACC.docx(4页珍藏版)》请在第一文库网上搜索。
1、代码设计说明I前提说明:*.cda格式,就是CD音轨。标准CD格式也就是44.1K的采样频率,速率88K/秒,16位量化位数,因为CD音轨可以说是近似无损的,因此它的声音基本上是忠于原声的,因此如果你如果是一个音响发烧友的话,CD是你的首选。CD光盘可以在CD唱机中播放,也能用电脑里的各种播放软件来重放。一个CD音频文件是一个*.cda文件,这只是一个索引信息,并不是真正的包含声音信息,所以不论CD音乐的长短,在电脑上看到的“*.cda文件”都是44字节长。不能直接的复制CD格式的*.cda文件到硬盘上播放,需要使用象EAC这样的抓音轨软件把CD格式的文件转换成WAV,这个转换过程如果光盘驱动
2、器质量过关而且EAC的参数设置得当的话,可以说是基本上无损抓音频。也就说,CD唱片中的文件,我们必须通过抓轨软件来获取其中的音频文件,仿真电脑上,然后我们才能进行后面的转换操作。那么也就是说,我们需要将CD中提取的音乐转换为AAC格式的音乐,然后在FPGA上进行播放,而在FPGA中播放,即对AAe进行解码。一所以,这个课题的主要工作,有如下几布脑,edCD唱片的音频提取,CD音乐本质是一种无损音乐,所以可以认为是原始的音乐信号。QQ12248-48052由音乐格式文件转换为AAC格式的音乐文件,然后发送到FPGA中进行播放。,通常情况下,CD中的信号一般情况下理解为无损音乐,通常为WAV音频信
3、号。/使用MAT1AB得到而音频方案的验证:我们首先通过MAT1AB进行方案的验证,即如何从CD文件得到AAC文件的一个流程。那么,这个情况下,我们的系统的框图如下所示:PCFPGA通过MAT1AB的仿真可知,由原始的WAV文件(CD抓轨得到),转换为AAC同时播放,他们的音效基本相同,然后看体积:国Aac.mat54KBMAT文件国CDmat460KBMAT文件体积只有原来的1/9,但音质基本不变。使用FPGA实现CD转AAC播放的功能为了方便的验证FPGA将CD文件转换为AAC文件的正确性,我在这里提供了一套AAC的编码译码的MAT1AB程序,用他来验证我们的FPGA程序的正确性。具体的验
4、证流程图如下所示:FRQ.I.S48JodimAAC处理AAC音频解码得到播放文件结果3入到MAT1AB以上就是整个程序设计的流程图。注意,由于CD表示的一种无损的音频信号,所以,在这里,我们使用WAV作为最后的抓轨后的数据来表示无损信号。上面的测试图,对于MAT1AB部分,我们直接使用园main_AAC.m进行仿真,验证,最后还得到了原始音频,AAC音频以及还原后的音频的部分波形图。下面进行FPGA的设计,即实现AAC音频文件的解码播放。在仿真验证阶段,我们主要通过读取WAV的文件的数据,进行AAC转换得到AAC音频数据,然后仿真的时候,将AAC音频数据的结果保存到文件中,再通过MAT1AB
5、中的亘FPGA_AAC_test.m这个文件,进行还原,从而验证AAC音频文件的正确性。然后仿真验证正确之后,我们需要设计一个接口,将电脑上的WAV文件发送到板子上,然后实时的转换为AAC音频文件。下面介绍一下,如何在FPGA中实现AAC解码播放。AAC解码的流程见本说明最后附录。由于AAC所有解码工具都是用的话,系统非常复杂,这里,我们使用较常用的几种,所以这里,我们设计的AAC音频解码结构如下图所示:其中,上图中的黑色部分是通常情况下AAC解码锁需要的模块,这里,我们就这对这几个模型进行设计。这里,主要需要设计的是哈弗曼解码,反量化,尺度因子调整,TNS和IDMCT这几个模块。这里,我们的
6、代码结构如下所示:FPGAFi1terBankIMDCT尺度因了调整逆量化CD抓轨得到AAC无噪声解码fpgaQQI22484808r-Fi1terBank尺度因子调整整个系统的构架如下所示:逆量化无噪声解码CD抓VI得到AACNIOS1I即,整个系统的工作,我们通过NIoS11软核进行控制。程序操作方法如下所示:这里,说明一下如何使用这个代码:具体的操作如下所示:一般将,音频信号导入到FPGA有两种方法,一种是通过USB接口进行数据的发送,一种是将音频保存到SD卡中,然后将SD卡插入到FPGA,一开始说用USB发送,但是考虑到使用USB发送的话,我们还需要在电脑上编写USB发送软件,这样就比较麻烦了,这里我们使用SD卡进行传输,这样,我们就不要编写软件了。