理解数字信号处理(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框架

设计硬件部分,可能会在教程接近完成时更新
目标顺序可能会做出一些调整
CanMV-K230 案例1 DSP框架初版
Canmv k230 ADC案例——AD7606
Canmv k230 DAC案例——TLV5638

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算法处理并比较优劣

DSP+AI综合应用案例1——三种波形识别(预告)

。。。

芯片高性能开发(探索中)

MicroPython实际上很难高性能的样子,因此这是下一个阶段面向C、C++开发的一个过渡阶段

目前的内容如上所示,欢迎交流讨论

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐