Vivado设计实战——音乐的节奏(概述)
0赞Vivado设计实战——音乐的节奏(概述)
关于Vivado HLS的基本使用,已经算是入门了,接下来打算做一个利用HLS实现硬件加速。主题定为音频信号分析,目前完成了频谱的计算和显示,和最终想要的结果还有一段距离,只能说是半成品吧。
1、学习目标
怎么说呢,目前完成的工作和前面的频率计在和Zynq相关、Vivado基本操作这两方面都是一样的,主要区别在于算法层和项目原理结构。通过这个设计,能学到以下几个点。
l 音频模块的驱动
l FFT的软件实现
l OLED的驱动、完成频谱显示
l HLS将软件FFT算法转化为IP核
l 利用HLS创建基于AXI总线的IP
l OLED驱动的硬件加速的尝试实现
l 通过VGA接口显示
2、已完成工作
2.1、音频模块已经成功驱动,这部分的工作主要分为两个step。
step1:Line In -> Line Out的bypass通路
step2:Line In -> 处理音频数据 -> Line Out
2.2、FFT的软件实现
关于这块不想讲太多,如果讲基本概念,那要讲的就多了,FFT、DFT之类的概念,还有一大堆公式,说实在的,让我讲我可能也讲不好,自己也是稀里糊涂的,还没正经研究过~
算法是从网上找的,网上资源丰富,大家都懂的。
2.3、频谱的显示
这部分的核心在于OLED的驱动,这部分的工作很久之前已经完成了。剩下的工作就只有将FFT算法的处理结果交给驱动程序就O了
2.4、图片和视频
FFT做了128点的,考虑到对称性,只显示一半即可,当然为了把OLED充分利用,可以全部显示,或者做256点FFT,显示一半。
显示128点:
显示64点:
视频:
3、未完成的工作
3.1、由于OLED显示耗时太长,导致音频输入到输出的过程耗时太久,这种情况下,如果在一个进程中完成数据处理和频谱显示,会导致音频播放质量太差。所以,有必要考虑硬件加速,而HLS无疑是实现硬件加速的利器,接下来要做的是这部分。
3.2、为了实现更好的显示效果、显示更多的内容,可以使用VGA显示器代替ZedBoard上的OLED完成显示任务。
版权声明:
本文由博主“cuter”发布。欢迎转载,但不得擅自更改博文内容,也不得用于任何盈利目的。转载时不得删除作者简介和版权声明。如有盗用而不说明出处引起的版权纠纷,由盗用者自负。
博客官方地址:
ChinaAET:http://blog.chinaaet.com/cuter521