- 博客(20)
- 收藏
- 关注
原创 (四)频谱泄露:现象、成因与抑制
当前程序中 “看不到 1.5kHz 真实频谱,只能看到 2kHz 泄露峰值” 的现象,100% 是频谱泄露,其本质是 “信号频率与 DFT 频率分辨率不匹配”+“矩形窗截断效应” 共同作用的结果。只要增大 N 或更换窗函数,就能抑制泄露,看到 1.5kHz 的真实频谱峰值。增大 N(硬件 / 参数层面):通过提高频率分辨率,让真实信号频率落入 DFT 的 “频率格子” 中,从根源减少泄露;使用非矩形窗(算法层面):通过平滑离散序列的截断边缘,降低窗函数旁瓣的能量扩散效应,进一步消除残留泄露。
2025-11-21 08:34:10
290
原创 (三)傅里叶定义与离散傅里叶变换(DFT)实用计算过程
对周期为T0的模拟信号xat其傅里叶级数展开式为对周期为T0的模拟信号xat其傅里叶级数展开式为xat∑k−∞∞ckej2πkF0txatk−∞∑∞ckej2πkF0tF01T0基波频率单位Hz;F0 = 1/T0 :基波频率(单位:Hz);F01T0基波频率单位Hz。
2025-11-21 08:26:51
723
原创 (二)数字信号处理中卷积与相关的联系
卷积与相关因数学形式的相似性、物理意义的互补性、应用场景的联动性,成为数字信号处理中 “孪生概念”。理解二者的联系,能更高效地掌握信号的 “系统响应建模” 与 “相似性分析”,是学习 DSP(数字信号处理)的关键基石。
2025-11-20 11:01:46
958
原创 (一)信号生成中的热噪声:从定义到实践的全解析
热噪声作为信号生成中最常见的随机噪声,其核心是 “正态分布 + 功率谱密度均匀” 的双重特性。从数学上看,通过积分可解决无限区间的概率计算;从实践上看,其分布特征与温度、电阻等物理参数直接相关,可通过实验观测或理论建模获取数据。理解热噪声的这些属性,是优化信号生成质量、降低噪声干扰的关键基础。
2025-11-20 10:23:08
744
原创 (二)TinyML 入门:Hello World 程序架构与执行流程深度解析
模型加载与初始化→输入数据生成与量化→模型推理→输出数据反量化与硬件控制。通过setup函数的初始化流程,程序完成了硬件、模型、解释器的配置;而loop函数的循环执行,则实现了 “数据输入→推理→输出” 的持续运转。理解这一架构与流程,是你深入探索 TinyML 应用(如传感器数据分类、手势识别等)的重要基石。如果你想进一步学习,可以尝试修改调整 LED 变化速度,或替换模型以实现更复杂的任务(如识别不同的声音、动作等),亲自感受 TinyML 在嵌入式设备上的强大潜力!
2025-11-14 13:00:36
527
原创 (一)下载 Arduino Nano 33 BLE Sense 开发板的 TensorFlow 例程
【代码】(一)下载 Arduino Nano 33 BLE Sense 开发板的 TensorFlow 例程。
2025-11-12 09:32:00
354
原创 6.蜂鸣器 - 模拟输出
从前面的内容可知,模拟值是连续的数值。Pico 的引脚除了前面章节提到的模拟输入外,也可以输出模拟信号,这需要用到 PWM 功能。PWMPWM(Pulse Width Modulation,脉冲宽度调制)的概念很简单,就是在高、低电平之间不断切换,感觉就像是输出连续的信号。以控制 LED 亮度为例,也就是说 LED 实际上是在通电、断电之间切换,如果切换速度(频率)很快,且在相同单位时间内,LED 通电时间越长,亮度就越高;反之,LED 亮度就会变低。
2025-04-24 09:58:22
380
原创 5.光敏电阻-模拟输入
周围环境的光线越亮,光敏电阻的电阻值就越小,它分到的电压也越小,这样一来,电路中 C 点测到的电压就越大;模拟电压变化可不是只有这两种,而是连续变化的,像 1V、2.1V 这些都有可能,这种连续变化的信号叫做模拟信号。程序开始 -> 导入模块 -> 设定 GP26_A0 管脚为 ADC 输入值 -> 打开 LED 灯 -> 输入值小于 3000 吗?-> 否 -> 关闭 LED 灯。想要检测出光敏电阻引起的电压变化,就得用到 ADC(模拟数字转换器),它能把模拟的电压值,转换成程序可以读取的数字值。
2025-04-24 09:55:41
835
原创 3-数字量输出
开始,我们会尝试点亮 Pico 控制板上的 LED。利用面包板、杜邦线等工具进行接线,并编写程序来控制外接的 LED,同时使用 while 循环重复执行程序。
2025-04-24 09:42:58
228
原创 03 - Arduino板的模拟信号的输出/输入
下图中高电位占50%的PWM信号,相当于5V X 50% = 2.5V的电压值的模拟信号。占空比越大,等效的平均模拟电压值就越大,反之,越小。
2024-11-01 08:57:46
4287
1
原创 01-Arduion快速入门与串口通信
什么是Arduino?下载Arduino集成开发环境(一)从官网下载Arduino IDEArduino程序基本框架验证程序,并把程序从电脑上传到Arduino开发板(一)保存程序文件(二)通过USB线,将Arduino板连接到电脑(三)选取相对应的Arduino板子与电脑连接的串口号(四)选取对应的Arduino板子型号如果你的开发板是UNO的按这个选。否则,如果你的开发板是Nano的按这个选两次第一次选,Nano开发板第二次,选固件是,ATmega168的这个固件上传程序码到开发板。
2024-10-28 15:00:33
2878
原创 在vscode中写arduino遇到未定义“Serial”
补充,在下面的小齿轮上点击,打开设置,在文件夹页签下面搜intelli sense engine,改为Tag Parser,但要在新建工程一开始的时候改,然后,右下角会有提示重新加载配置,重新加载配置后,再次编译,就可以了。vscode 软件-》文件-》首选项-》搜索:intelli sense engine 修改成Tag Parser,重启。在vscode中写arduino遇到未定义“Serial”-优快云社区。2020-02-16是这么解决的。
2023-09-21 16:01:02
599
原创 树莓派Pico运行OLED时,提示no module named ‘ssd1306‘
树莓派Pico的MicroPython在Thonny中遇到多个.py文件,提示ImportError: no module named 'ssd1306'
2023-04-18 15:49:25
2573
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅