cuter

Vivado设计实战——音乐的节奏(概述)

0
阅读(6809)

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

step1Line In -> Line Outbypass通路

step2Line In -> 处理音频数据 -> Line Out

2.2FFT的软件实现

关于这块不想讲太多,如果讲基本概念,那要讲的就多了,FFTDFT之类的概念,还有一大堆公式,说实在的,让我讲我可能也讲不好,自己也是稀里糊涂的,还没正经研究过~

算法是从网上找的,网上资源丰富,大家都懂的。

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

EDN China: http://bbs.ednchina.com/BLOG_cuter521_356737.HTM