基于Cortex-M平台的DSP实例开发
帮同学抽毕设抽到这个题,正好复习下DSP理论
题目要求:
1.实数FFT正逆变换,复数FFT正逆变换
2.FIR滤波器,IIR滤波器
3.音频采集和滤波
4.实验数据通过串口上传,并与MATLAB仿真结果进行对比
(以下是个人根据在学校的学习随便写写理解)
开发板选用NUCLEO-F411RE,基于mbed平台,优点是可以使用官方IDE在线编译。
处理器型号是Cortex-M4,说白了就是M3加上DSP功能。
之前在学校课程设计,做过一款心率传感器,用的就是这款板子,通过串口上传至Matlab,并显示心率波形,不过做的比较简陋,而且没有清理历史数据功能,最多画10分钟波形就开始卡顿。
这款板子优点在于兼容Arduino,所以个人打算后续加上OLED屏和数字键盘,能够进行参数设置和功能选择。
做DSP相关实验需要导入CMSIS库,浏览了一下内容,大多是一些库函数,比如生成正弦余弦信号,滤波器函数,FFT函数。
音频采集需要用到扩展板,型号是X-NUCLEO-CCA02M1,有左右两个mic,昨天录制了一下,效果一般,左右声道有时差
一些名词解释(日后补充):
FIR:有限脉冲响应——finite impulse response
IIR:无限脉冲响应——infinite impulse response
(其实我感觉这两者区别就是,上面有反馈信号,下面没反馈信号)
ARM:只卖设计,不做芯片的公司——Advance RISC Machine
Cortex-M4:M意思是微处理器,同类的还有A系列(应用型)做智能手机的,R系列(实时型)做汽车电子的,个人感觉M更适合做教学用,4自然是第四代
大概是大三刚开学的时候在知乎上看到一条关于如何学习DSP的回答:直接上手做,不要拘泥于前面的DTFT和DFT,直接做滤波器,这两者关系并不大。