第四十七课--Microduino 声音频谱视频输出/zh

来自Microduino Wikipedia
跳转至: 导航搜索

目的

本教程将教大家如何用microduino来获取声音信号,并用家里的电视机通过快速傅里叶算法显示出声音的频谱

设备


  • 其他硬件设备
相关硬件 数量 功能
n3904 NPN 三极管 1个 用来做放大器
1K 欧姆 电阻 1个 限流
330 欧姆 电阻 1个 限流
10K 欧姆 电阻 2个 限流
100K 欧姆 电阻 1个 限流
2N3904 三极管 1个 限流
0.1uf 电容 2个 通高频阻低频
面包板 1块 各个元器件汇聚于此
面包板跳线 1盒 电气连接线
驻极体麦克风 1个 接收声音信号
AV接口的显示器 1个 显示频谱
RCA线 1跟 视频传输线

快速傅里叶变换

首先傅里叶变换是个法国数学家 让·巴普蒂斯·约瑟夫·傅立叶 研究出来的:

主要贡献是在研究热的传播时创立了一套数学理论,最后发现此理论在通讯中有很大作用,也就是傅里叶解析。

关于傅里叶变换我个人理解就是无论是声波还是光波还是任何波,都能分解成不同恒定频率的波的集合,如下图所示:

于是我们可以把这些恒定频率的波的集合画成频谱形式,如同要做一道美味的菜的菜谱一样

这里有一个比较有意义的解释傅里叶变换的文章可以给大家进一步学习:http://jingyan.baidu.com/article/cbf0e500f1ce562eaa2893f4.html

有个日本漫科技画书叫 傅里叶解析:http://book.douban.com/subject/4010127/

实验原理图

AudioSpectrumAnalyzerSchmetic1.png

程序

AudioSpectrumAnalyzer

调试

步骤一:

首先,我们要用一个驻极体麦克风搭建出一个能接收声音信号的设备,可以按下图搭建电路:

MicrophoneCircuit.png

电路中的输出端接到microduino的A0模拟端口就可以,你可以用microduino输出A0的数值来确定电路搭建是否正确。

步骤二:

制作RCA线,也接到microduino上,具体制作RCA线的说明可参考Microduino视频输出教程:

Microduino 视频输出/zh

搭建好电路后就像下图所示:

MicrophonePhoto.png

步骤三: 下载代码并运行,程序的作用就是:

1.读出A0端口的数据

2.截取一段时间的数据并用快速傅里叶变换算法处理数据

3.把处理好的数据以画图线段的方式显示出来

4.如此循环下去

最终的显示效果如下图:

MicrophoneVideoOUt.png

结果

显示器上会实时显示声音的频谱

视频