我是靠谱客的博主 乐观橘子,最近开发中收集的这篇文章主要介绍基于System Generator 的音频信号采集与输出,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

单声道音频信号采集与输出

格式工厂可以将音频转成对应的声道输出,这里将MP3音频转成了单声道的音频文件;
在这里插入图片描述
采样频率:采样频率Fs应该不低于声音信号中最高频率2倍。一般音频文件有几个固定的采样频率:11025Hz、22050Hz、44100Hz、48000Hz。
量化精度:表示声音样本用多少位(bit)表示,这里就是通过Gateway_in进入FPGA的采样位数。

搭建block如下图,simulink识别出了音频文件为mono单声道;
这里使用的是audio system toolbox 下的读取和输出至文件;其他模块则是xinlinx工具箱
在这里插入图片描述
在这里插入图片描述
整体框图如下
在这里插入图片描述
这是读取媒体文件的模块设置,每个通道采样设置为1,音频信号需要通过Gateway In输入到FPGA,但Gateway In不能接收向量型数据,因此这个值通常设置为1。
在这里插入图片描述
system generator 的设置
在这里插入图片描述

在这里插入图片描述
这里的FPGA周期可以与下面simulink仿真时间不同,但是simulink的周期要和gateway_in的采样周期设置一致;另外From Multimedia File这个block当输出数据格式设置为double时,输出数据范围为-1~1,因此我们设置二进制小数binary point比总位数少一位即可,如Fix_8_7。
在这里插入图片描述

其中一路一频经过一定延时,再经过乘法器mux混合输出至音频文件,或者声音设备;
在这里插入图片描述
最后是gateway_out,默认即可;
在这里插入图片描述
输出至文件模块选择从输入类型确定输出类型;
在这里插入图片描述
simulink仿真时间设置10s,也就是采样10s的音频;
在这里插入图片描述

最后运行仿真,播放输出的音频文件;
System Generator block只支持标量数据类型。Gateway In的图标中输入数据也变成了“?”。需要采集立体声音频时,必须用demux这个block将各声道的音频分开,分别进行信号处理。
在这里插入图片描述

最后

以上就是乐观橘子为你收集整理的基于System Generator 的音频信号采集与输出的全部内容,希望文章能够帮你解决基于System Generator 的音频信号采集与输出所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部