理解数字信号处理(MicroPython版)
如果内容够多,考虑编写较为完整的PDF文档,q群805617634
前言
通过数学公式理解数字信号处理(DSP)理论比较抽象,通过仿真的方式学习有时候处理方式过于理想,如果硬件能够运行数字信号处理算法,那么理论可以快速验证,进一步可以扩展到具体的实践应用中,可以更深刻地理解DSP理论。
DSP硬件运行一般需要采用C或C++编写,并需要学习硬件架构等内容,学习时间较长,当MicroPython可以运行在硬件上,且高性能的RISC-V快速发展时,嘉楠勘智的K230的RISC-V芯片成为了一个很好的选择,开发板可以选择CanMV-K230及其衍生的开发板。可以在利用MicroPython快速开发DSP算法与AI算法,可以达到快速学习DSP的目的,降低学习的时间成本。
本系列教程可能需要以下准备:
1)一本关于数字信号处理的理论书籍(因为教程并不总写理论,嗯,更确切的说是大多数时候,需要具备一定基础)
2)CanMV-K230开发板及其配套软件
3)串口模块(便于输出计算结果)
4)VOFA+(便于显示计算结果)
让我们开始用MicroPython(软件)在CanMV-K230开发板(硬件)上运行DSP算法(理论)吧
内容已经更新了大部分,后面主要进行两方面工作:
1)现有内容补充
2)综合案例应用(结合一些外设)
内容不断扩展中,现有目录如下,不定时更新,注意收藏
目录
1 CanMV-K230的DSP框架
设计硬件部分,可能会在教程接近完成时更新
目标顺序可能会做出一些调整
2 理解FFT
Canmv k230 案例2.1——FFT测试(初版)
Canmv k230 案例2.2——FFT测试(二)
Canmv k230 案例2.3——ADC+UART+FFT测试(三)
Canmv k230 案例2.4——DFT自定义(四)
Canmv k230 案例2.5——FFT自定义(五)(预告)
Canmv k230 案例2.6——多种实现FFT的方式(六)(预告)
理解时频算法
3 理解STFT
Canmv k230 案例3.1——短时傅里叶STFT(一)
Canmv k230 案例3.2——STFT参数理解(二)(预告)
Canmv k230 案例3.3——实时STFT(ADC+STFT)(三)(预告)
4 理解FIR滤波器
Canmv k230 案例4.1——FIR 滤波器(一)
Canmv k230 案例4.2——实时FIR 滤波器原理(二)(初版)
Canmv k230 案例4.3——实时FIR (ADC+FIR+UART)(三)(初稿)
5 理解小波变换
Canmv k230 案例5.1——小波变换(一)
Canmv k230 案例5.2——离散小波变换(二)(预告)
Canmv k230 案例5.3——小波奇异性检测(三)
6 理解S变换
Canmv k230 案例6—— S变换(Stockwell Transform)(预告)
Canmv k230 案例6.2—— S变换代码Python版
7 理解经验模态分解EMD
Canmv k230 DSP案例7.1——EMD经验模态分解简介
Canmv k230 DSP案例7.2——EMD基本原理
Canmv k230 DSP案例7.3——EMD Canmv k230 实现
数字信号处理算法应用
大概是一个复杂信号,采用上述的各种DSP算法处理并比较优劣
。。。
芯片高性能开发(探索中)
MicroPython实际上很难高性能的样子,因此这是下一个阶段面向C、C++开发的一个过渡阶段
目前的内容如上所示,欢迎交流讨论