利用麦克风模块收集声音后将声音通过ad读取出来如何经过32自带的fft函数库将读取的数值经过fft变换得到幅度谱在oled上显示出。具体操作如下
1.初始化麦克风和ADC将麦克风模块的模拟输出连接到微控制器的ADC输入端。
设置ADC以适当的采样率工作,例如对于语音应用,可以选择8kHz的采样率。
为了同步后续的数字信号处理,确保ADC以固定的时间间隔触发采集,比如使用定时器触发ADC采样。
2. 初始化FFT库在微控制器上配置并初始化FFT函数库。这可能包括设置FFT的大小(例如1024点),这将直接影响频率分辨率和处理所需的计算量。
FFT库通常还允许配置窗口函数(如汉宁窗),以减少频谱泄漏。
3. 数据采集与FFT转换编写代码以从ADC读取数据,并将这些数据送入FFT函数库进行转换。
FFT操作将产生复数数组,表示在频域中的幅度和相位信息。
4. 处理FFT结果从FFT结果中提取幅度信息,通常通过计算每个频率仓的复数结果的绝对值。
根据需要对幅度谱进行缩放或转换,以适应OLED显示的动态范围。
5 显示幅度谱初始化OLED屏幕,并使用SPI或I2C接口发送命令和数据。
设计并实现一个用户界面,用于显示频谱信息,例如使用水平条形图表示不同频率成分的幅度。
更新OLED显示,以实时反映从麦克风捕获的声音信号的频谱变化。