dvbbs
收藏本页
联系我们
论坛帮助
dvbbs

睿志音响技术论坛睿志音响论坛DIY讨论区 → STM32单片机音乐频谱实验


  共有2339人关注过本帖树形打印

主题:STM32单片机音乐频谱实验

帅哥哟,离线,有人找我吗?
rjx
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 贴子:4725 积分:44545 威望:0 精华:43 注册:4/27/2005 10:50:08 AM
STM32单片机音乐频谱实验  发贴心情 Post By:10/29/2017 9:47:38 AM


图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

 

音乐频谱就是将音乐信号分析成不同的频段,然后让这些频段的信号随其幅值的大小即时的在屏上显示出来,达到一种随音乐旋律跳动画面的视觉效果。

 

可能早在上世纪八十年代就有人玩过音乐频谱,我就折腾过这玩意儿。那时的音乐频谱主要由硬件来实现的,即先从功放取出音频信号,再由8-16个带通滤波器分析出从低频到高频的8-16个信号,再驱动由发光二极管组成显示条柱。这种频谱仪理论上比较简单,容易实现,且跟随速度快,效果也不错。就是使用的元器件较多,电路板较大。有些电子基础的朋友都能做成。

 

单片机技术发展到今天,原来很多需要硬件来实现的功能,现在都可以用单片机通过软件编程来实现。音乐频谱也是一样。

 

近来闲着无事,加之腰部不适,不能外出活动,就想找些事玩玩,忽然想到这个音乐频谱,这倒是练手的好都东西,虽说这个东西如果真要安装在音响上,何生一定会反对的,因为频谱高速变换,且以极高的速度刷新屏幕,对音频信号的干扰是不能忽视的。但也可以加强屏蔽来降低干扰。当然我也是搞着玩玩,不一定会装在音响设备上。

 

言归正传,真要动手了,却发现要用软件实现这个频谱,理论上确实十分高深的,竟然要用到傅里叶变换,而且是快速傅里叶变换(FFT),变换的目的是将音频信号由时域变换成频域。我学高等数学和复变函数已是50多年前的事了,虽说当年数学是我的强项,次次考试都是全优,但50多年过去了,什么傅里叶变换除了记得这个名字外,具体怎么回事就稀里糊涂了,更何况快速傅里叶变换(FFT)理论是1966年才提出的,已过了我学复变函数课程的时间。

 

为此找了几本数学书看看,什么复数,微积分,复变函数断断续续看了一个月,总算找回些记忆。

 

但是这个FFT怎么在单片机里怎么运用,如何实现取模后再显示,关乎到采样率取多少?采样点数取多少?如何解决显示中低频段撑顶、高频段幅度不足、栅栏效应、频谱混叠、频谱泄露等一大堆问题。

 

经过几个月的苦斗,大量浏览网页上的信息,通过软件加硬件(如三阶低通滤波,自动增益控制等)的方式, 问题总算一个个解决了,终于可以初步显示出频谱了,但还些问题要进一步解决,如显示速度略慢于音乐速度等。

 

其实STM32单片机的F4系列,本身带有FFT算法库函数,只要调用就可以了,且F4系列有强大的浮点计算能力,可以大大提高FFT的计算速度和显示速度,使得频谱显示和耳朵听到的音乐同步性非常好。

 

 

 

 


 


支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
linzhongxi
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:侠之大者 贴子:259 积分:2605 威望:0 精华:0 注册:10/24/2013 3:45:58 PM
  发贴心情 Post By:10/30/2017 6:52:03 AM

学习,强烈学习!!!真佩服任老,向任老学习!!!

支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
nonbb
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 贴子:630 积分:5053 威望:0 精华:0 注册:6/24/2008 12:27:09 AM
  发贴心情 Post By:10/30/2017 7:02:06 AM

装在机器上可能会象当年磁带卡座的效果,怀一怀旧也不错。

支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
fanfan8888
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:青蜂侠 贴子:715 积分:7188 威望:0 精华:1 注册:7/5/2012 10:31:03 PM
  发贴心情 Post By:10/31/2017 6:49:18 AM

任老师学问高深!理论和实践都强!我们愿意跟风折腾!

支持(0中立(0反对(0回到顶部