- 博客(67)
- 收藏
- 关注
原创 小白也能懂的LMS算法:像“调收音机“一样找最优滤波系数
变量符号专业定义奶茶店类比XnX(n)Xn输入信号你递给店员的"基础原料"(茶底、牛奶)WnWn滤波器权矢量(系数)店员加的糖、冰、小料的"配比"(比如糖度0.5、冰量0.8)XnXn输入信号矢量按顺序排列的多份基础原料(比如前1口、前2口的茶底)yny(n)yn滤波器输出信号店员按配比调好的"当前奶茶"dnd(n)dn期望信号你想要的"完美奶茶"(甜度刚好、冰量刚好)ene(n)en滤波误差信号。
2026-01-06 23:36:10
512
原创 2数字逻辑设计点亮开发板上的LED灯
AC820开发板上有8个用户LED(D0~D7)负极接地(GND)正极通过4.7kΩ电阻连接到FPGA的IO引脚✋手触摸理解想象LED是一个单向阀门——只有当FPGA引脚输出**高电平(如3.3V)**时,电流才能从FPGA → 电阻 → LED → GND形成回路,灯就亮了!如果输出低电平(0V),两端没电压差,灯就灭。led// 需求1+片段代码output led // 定义输出端口🧠为什么这样写?在Verilog中,output表示这个信号是从模块输出到外部的。
2026-01-04 23:10:37
740
原创 01FPGA-ZYNQ的VIVADO基本开发流程(逻辑篇)
在端口名方向位宽说明clkinput1系统时钟(50MHz)rst_ninput1复位信号(低电平有效)ledoutput1控制LED✋手触摸理解这就像给你的电路“开三个孔”:一个接电源(clk),一个接开关(rst_n),一个接灯泡(led)。
2026-01-04 23:04:13
768
原创 10FPGA-ZYNQ的独立按键消抖设计与验证
通过本章节的学习,我们从认识机械抖动现象开始,理解了消抖的基本原理,然后一步步实现了基于时间阈值法的FPGA消抖模块,最后通过仿真验证和实践指南,完成了从理论到实践的完整学习过程。作为初学者,掌握按键消抖设计不仅能解决实际工程中的常见问题,还能培养我们从现象分析到原理设计,再到验证实现的完整工程思维。希望大家在实践中不断探索,优化自己的消抖设计,为后续的FPGA学习打下坚实的基础!
2026-01-04 22:57:17
965
原创 9FPGA-ZYNQ的多字节UART串口收发模块设计与验证
为了让我们的模块更加灵活,我们需要定义一些可配置的参数,比如数据位宽和字节序。这就像是我们可以选择信封的大小和信纸的排列方式。// 定义多字节数据的位宽(默认16位)// 定义字节序(0:小端字节序,1:大端字节序)// 定义超时计数阈值(115200波特率下为15190)通过本章的学习,我们完成了多字节UART串口收发模块的设计与验证。多字节串口接收模块设计实现了基于状态机的数据拼接添加了超时检测机制,提高了抗干扰能力支持可配置的数据位宽和字节序测试用顶层封装实现了串口回环功能。
2026-01-04 22:56:38
511
原创 8FPGA-ZYNQ的FSM状态机设计实例
我们使用独热码(One-Hot Encoding)来定义状态,这种编码方式在FPGA中实现效率更高,因为它可以减少组合逻辑延迟。// 状态定义:使用独热码编码(每个状态只有一位为1,其余为0)// 独热码优势:状态转换逻辑简单,FPGA实现效率高,便于调试localparamCHECK_h = 5'b0_0001, // 初始状态:等待检测字符'h'CHECK_e = 5'b0_0010, // 状态2:已检测到'h',等待检测字符'e'
2026-01-04 22:53:30
556
原创 7FPGA-ZYNQ的使用UART 串口控制 LED灯
通过本项目的学习,我们成功实现了使用UART串口控制LED灯的功能。UART串口通信的基本原理FPGA接收串口数据的方法串口指令解析模块的设计基于控制字的LED灯控制板级验证和实际测试这个项目虽然简单,但是涵盖了FPGA设计的基本流程,包括需求分析、系统设计、模块设计、仿真测试和板级验证。希望这个项目能够帮助你更好地理解FPGA设计,为以后的学习打下坚实的基础!🚀 现在,你已经迈出了FPGA学习的第一步,继续加油吧!💪。
2026-01-04 22:52:57
881
原创 6FPGA-ZYNQ的UART串口发送模块设计与验证
想象一下,当你用手机给朋友发微信时,信息是如何从你的手机传到朋友手机的?这中间就涉及到了各种通信协议。而UART(通用异步收发传输器)📨 你把要发送的内容(并行数据)写在信纸上📮 然后把信纸塞进信封,写上地址(添加起始位、停止位等)🚚 通过邮局(串口线)送到对方手中📦 对方打开信封,取出信纸(解析数据)UART在电子系统中无处不在,从单片机到FPGA,从Arduino到Raspberry Pi,几乎所有的嵌入式设备都会用到它。
2026-01-03 19:36:34
1107
原创 经典论文的ai有趣解读:Cramér-Rao下界(1945)
想象你是一个侦探🕵️♂️,面对一堆线索(数据),你要推测罪犯的身高(未知参数)。你当然希望你的猜测越准越好——但Rao告诉你:再聪明的侦探,也有猜不准的“物理极限”! 这个极限,就藏在“Fisher信息量”里。Rao开篇回顾了两大里程碑:Rao指出:当样本很大时,MLE不仅无偏,而且方差达到理论最小值! 这就是它的“效率”。Fisher信息量 I(θ)I(\theta)I(θ) 衡量的是:数据对参数 θ\thetaθ 的敏感程度。Rao推导出单参数情形下的Cramér-Rao不等式:Var(t)≥1I(
2026-01-03 18:45:25
942
原创 2.5 线性均方估计
想象你正在参加一个猜价格游戏,有 NNN 个人分别给出了他们对某件商品的价格猜测。你想知道:哪个数字最接近真实价格?但不是简单取平均!你发现:👉 那么你应该给专家更高的权重!这就是 线性均方估计 的思想!它说:📌 类比:θ^LMS=∑i=1Nwixi(2.5.1)\hat{\theta}_{\mathrm{LMS}} = \sum_{i=1}^N w_i x_i \quad\text{(2.5.1)}θ^LMS=i=1∑Nwixi(2.5.1)其中:我们的目标是:让估计误差的期望平方最小:
2026-01-03 18:32:19
418
原创 2.5 线性均方估计
想象你正在参加一个猜价格游戏,有 NNN 个人分别给出了他们对某件商品的价格猜测。你想知道:哪个数字最接近真实价格?但不是简单取平均!你发现:👉 那么你应该给专家更高的权重!这就是 线性均方估计 的思想!它说:📌 类比:θ^LMS=∑i=1Nwixi(2.5.1)\hat{\theta}_{\mathrm{LMS}} = \sum_{i=1}^N w_i x_i \quad\text{(2.5.1)}θ^LMS=i=1∑Nwixi(2.5.1)其中:我们的目标是:让估计误差的期望平方最小:
2026-01-03 18:30:51
899
原创 2.4 最大似然估计
fx1xN∣θfx1xN∣θ它是联合概率密度函数,表示在参数为θ\thetaθ的情况下,观察到样本x1xNx1xN的可能性。✅ 初学者视角:就像你在相亲网站上看一个人的资料,你觉得他/她和你的理想型越匹配,你就越“喜欢”这个人。似然函数就是你的“喜欢程度”。💘我们不关心绝对概率,只关心相对大小。
2026-01-03 18:28:58
598
原创 2.3 Bayes 估计
CθθCθθ损失函数表示:当你估计为θθ,而真实值是θ\thetaθ时,“犯了多大错误”。✅ 初学者视角:就像你买股票,预测价格涨了,结果跌了,亏钱就是你的“损失”。💸类型标量参数向量参数绝对误差二次误差θ−θ2θ−θ2∣θ−θ∣2∣θ−θ∣2均匀误差若 $损失函数是随机的(因为θθ是随机变量)所以我们要看它的期望值,即风险函数项目内容损失函数衡量估计错误的代价风险函数损失的期望值MMSE估计。
2026-01-03 18:04:50
468
原创 2.1 估计子的性能
定义 2.1.1:由NNN个样本得到的估计子是一个将样本空间映射到参数空间的函数。θTx1xNθTx1xN✅ 初学者视角:想象你在玩“猜数字游戏”,你看到一堆线索(样本),然后根据规则(函数)猜出答案(估计值)。比如:看到 5、6、7,你就猜平均是 6 —— 这个“求平均”的规则就是估计子!🎲定义 2.1.2:估计子θθ的偏差bθ≜Eθ−θbθ≜Eθ−θ若bθ0bθ0,则称θθ是无偏估计。
2026-01-03 17:57:57
694
原创 1.4.2 窄带带通滤波器
项目内容滤波器类型理想窄带带通传递函数在窄带内为1,外为0输出功率谱输入功率谱在窄带内的截取平均功率窄带内功率谱积分窄带噪声功率集中在小频带正交分解同相 + 正交分量分量性质不相关、零均值、平稳🧠 记住一句话:**窄带滤波器就像“频率放大镜”,让你聚焦于信号的关键部分!**✨。
2026-01-03 17:47:53
978
原创 1.4.1 系统输出的功率谱密度
项目内容输入信号随机过程xtx(t)xt系统类型线性时不变系统输出表示卷积ytxt∗htytxt∗ht冲激响应hth(t)ht,决定系统特性传递函数HfH(f)Hf,频域表示输出均值μxH0\mu_x H(0)μxH0输出功率谱实际应用噪声分析、滤波器设计、通信系统🧠 记住一句话:**系统像一个“能量过滤器”,它决定了哪些频率能通过,哪些会被削弱!**✨。
2026-01-03 17:43:17
929
原创 1.3.2 多项式序列的 Gram-Schmidt 标准正交化
f1x1f2xxf3xx2f1x1f2xxf3xx2这是一个多项式序列,每个都是xxx的幂次函数。线性独立意思是:任何一个函数都不能写成其他函数的线性组合。比如x2x^2x2不能用111和xxx线性表示(除非有平方项)。✅ 所以f1f2f3f1f2f3是线性独立的。在向量空间中,两个向量的点积告诉我们它们的“相似度”。在函数空间中,我们用内积来衡量两个函数的“接近程度”。
2026-01-03 17:33:01
911
原创 1.3.1 独立、不相关与正交
py1y2py1py2(1.3.3)py1y2py1py2(1.3.3)这个公式太重要了!联合概率 = 边缘概率 × 边缘概率没有“额外的依赖项”📌 类比:你买苹果和买牛奶,如果这两件事互不影响,那你买苹果的概率 × 买牛奶的概率 = 同时买的概率。推广到向量形式,比如信号向量yy1ymTyy1ymTpypy1⋯pym(1.3.4)pypy1⋯pym。
2026-01-03 17:29:05
673
原创 1.2.1 自相关函数、自协方差函数与功率谱密度
自相关函数:信号和自己“隔多久还像自己”?→ 揭示周期性、记忆性 🕰️自协方差函数:去掉平均值后,只看“波动”的相似性 🧼功率谱密度(PSD):信号的能量在各个频率上怎么分布?→ 频率指纹 🎼神奇连接:PSD = 自相关的傅里叶变换!↔️ 时间 ↔ 频率。
2026-01-03 17:13:13
915
原创 1.1 信号分类
分类特点例子连续时间时间连续声音、雷达离散时间时间为整数数字音频确定性可预测正弦波、阶跃随机性有统计规律噪声、语音广义平稳均值+自相关稳定白噪声严格平稳所有统计量稳定更强版本你现在已经是信号世界的“入门探险家”啦!🚀接下来你会学习:傅里叶变换、滤波器、采样……但这一切的基础,就是今天的“信号分类”!🌟数学不是用来吓人的,是用来解释世界的!如果你喜欢这种风格,我可以继续用同样方式讲解后续章节哦~ 😄📘要不要来点“傅里叶变换”的趣味解读?🎵🌀。
2026-01-03 16:51:08
676
原创 状态空间模型的建立
状态空间模型是现代控制理论的“核心语言”,它就像一张“系统的全息照片”,能够完整地描述系统的内部状态和外部行为。与经典控制理论只关注输入输出关系不同,状态空间模型还能“看到”系统内部的运行状况,这使得它能够处理更加复杂的系统。
2026-01-01 23:11:15
692
原创 数值分析:因子分析
这份总结力求全面覆盖文档的每一个要点,并对其内在逻辑和深层含义进行了阐释,希望能为您提供一个完整而深刻的理解。在进行因子分析之前,必须检验数据是否满足基本前提,即变量间是否存在足够强的相关性。:文档指出“因子分析是主成分分析的推广,也是主成分分析的逆问题”。文档专门用一节(§4)来阐述两者的关系与区别,这是理解FA本质的关键。文档中明确给出了因子分析的数学表达式,这是理解一切的基础。,其根本目的超越了简单的数据压缩。文档清晰地列出了进行一次因子分析的标准流程。基于上述模型和假设,原始变量的协方差矩阵。
2025-12-31 16:17:26
720
原创 数值分析-主成分分析
第一主成分(F₁):数据在所有可能方向中方差最大的那个方向。第二主成分(F₂):在与 F₁ 正交(垂直)的所有方向中,方差最大的那个。以此类推……📌关键性质主成分之间互不相关(协方差 = 0)方差依次递减:Var(F₁) ≥ Var(F₂) ≥ … ≥ Var(Fₚ)所有主成分的总方差 = 原始变量的总方差(信息守恒!原始数据 (X₁, X₂, ..., Xₚ)↓[标准化?] → 是 → 相关矩阵;否 → 协方差矩阵↓计算特征值 λ₁≥λ₂≥... 和特征向量 u₁,u₂,...
2025-12-31 16:06:35
595
原创 锂电池SOC估计的一种算法(改进无迹卡尔曼滤波)
PO算法的这群鹦鹉,就是**“自带导航的调参小能手”**——它们靠“跟风、深挖、分享、避险”四大技能,帮咱们找到那个能让RUKF封神的最优。
2025-12-30 13:44:54
573
原创 膨胀腐蚀及底层实践,拒绝opencv,matlab等方式
结构元素是一个小的矩阵模板(通常是正方形、圆形或十字形),它是膨胀和腐蚀的“操作核心”。矩阵里有锚点(Anchor Point):一般是矩阵的中心像素,相当于印章的“把手”,操作时锚点会遍历图像的每个像素。矩阵值只有0和1:1的区域代表“有效作用范围”,0的区域不参与计算。概念核心操作关键工具典型应用结构元素矩阵模板大小、形状、锚点决定膨胀/腐蚀的作用方式腐蚀前景缩小结构元素遍历检查去噪、分离物体膨胀前景扩大结构元素遍历检查补洞、连接物体。
2025-12-23 10:24:01
581
原创 独立、不相关与正交
如果知道一个随机变量y1y_1y1的值,完全不能帮助你预测另一个变量y2y_2y2的值,那么这两个变量就是独立的。🧠类比想象你掷一枚硬币(结果是正面或反面),同时抛一颗骰子(点数1~6)。这两个事件互不影响 → 它们是独立的。即使你知道硬币是正面,也无法判断骰子几点。设y1y_1y1和y2y_2y2是两个随机变量。py1y2py1y2py1py2py1py2👉 两者独立 ⇔py1y。
2025-12-23 09:03:43
873
原创 互相关函数、互协方差函数与互功率谱密度
定义 (1.2.21)Rxyt1t2≜Ext1y∗t2Rxyt1t2≜Ext1y∗t2)}这是两个信号在不同时间点上的“乘积的期望”。⚠️ 注意:这里用了y∗y^*y∗,表示取复共轭。因为信号可能是复数(例如在通信中常见的形式),所以要小心处理。但是!如果我们只关心两个信号的“相对关系”,而不是绝对时间,我们可以考虑它们的时间差τt1−t2τt1−t2。RxyτE。
2025-12-23 08:55:36
533
原创 证明方法:命题逻辑
合同里常写“乙方付款后,甲方发货”,这是P→Q(P=付款,Q=发货),逆否命题是“甲方不发货→乙方不付款”,这是乙方的保障;”是日常最常用的逻辑,但里面藏着很多陷阱,比如“如果下雨,我就带伞”和“只有下雨,我才带伞”完全不是一个意思!现实中,前提可能更多(比如“上班不迟到”需要“闹钟响”“交通顺畅”“起床及时”),这时演绎推理就是“连锁验证”:只要有一个前提不满足,结论就不成立。运行示例:输入P=1(下雨),Q=0(下雪),输出¬P=0,P∧Q=0,P∨Q=1——和“下雨或下雪”的实际逻辑完全匹配~
2025-12-22 20:12:53
566
原创 HT1621B手册翻译细读
HT1621是一款128段(32×4)内存映射多功能LCD驱动器。HT1621的软件配置功能使其适用于多种LCD应用,包括LCD模块和显示子系统。主机控制器与HT1621之间的接口仅需三或四根线。HT1621内置低功耗模式命令,可有效降低功耗。
2025-02-27 09:48:54
2448
原创 (deepseek)按键滤波硬件
分析:通常,按键的抖动时间可能在几毫秒到几十毫秒之间。电容的容值需要足够大,能够滤除这些高频抖动,但也不能太大,否则会延迟信号的响应时间。常见的选择是0.1μF到1μF之间的陶瓷电容,比如X7R或X5R材质的,因为它们稳定性好,价格也便宜。然后,电容的位置应该放在按键的信号线和地之间,也就是并联在按键两端。这样,当按键按下时,电容会充电,抑制电压的突变;松开时则放电,同样抑制电压的变化。同时,可能还需要串联一个电阻,比如10kΩ,形成一个RC低通滤波器,进一步平滑信号。
2025-02-20 13:57:39
1838
原创 串口接收环形缓冲区
缓冲区大小:从100减至64,节省36字节。结构体优化:使用uint8_t和位域,减少变量占用。环形缓冲区:避免越界并提高内存利用率。溢出处理:通过标志位通知主程序,避免数据丢失。
2025-02-18 11:12:30
580
原创 卡诺图的理解
卡诺图通过格雷码排列,将逻辑相邻转化为几何相邻,使得简化布尔表达式时能直观地合并项。掌握这一设计原理后,多练习画图、填项和画圈,逐步理解其几何意义。遇到复杂情况时,可先分解变量(如四变量分为行和列变量),再按规则操作。
2025-02-16 14:26:19
1031
原创 (初学者)STM32 MP157中LED触发器笔记
Rockchip RK3399 - rfkill子系统 - 大奥特曼打小怪兽 - 博客园开发板 :NanoPC-T4开发板eMMC :16GBLPDDR3 :4GB显示屏 :15.6英寸HDMI接口显示屏u-boot :uboot 2023.04linux :5.2.8 本篇博客是以linux 5.2.8版本源码进行讲解的,与linux 6.3源码略有细微差别,但是整体上大致是一样的。rfkill是Linux内核提供的一个框架,用于控制无线通信硬件(如 WiFi、蓝牙、NFC 等)的开关和状态。
2025-01-02 14:32:15
1071
原创 单片机1622/1621驱动程序编写(较为通用版)
使用HT1621为例HT1621.hDescription: HT1621头文件,包含端口初始化及端口定义Function List: // 主要函数及其功能1. -------History: // 历史修改记录Zhao 24/12/9 创建模块 V1.0.0/********************端口定义********************// 不同单片机不同// 端口定义// 引脚定义。
2024-12-09 16:59:54
4780
2
原创 (AVR开发)模拟SPI驱动HT16D35A
刚好有一个项目用的是HT16D35A作为数码管驱动,记个笔记,防止遗忘,同时单片机用的是AVR。数码管是共阴极。看数据手册,HT16D35A使用的是SPI/IIC总线驱动,在PCB布板的时候,考虑到布线难度,并没有使用内部的SPI/IIC,而是采用的模拟方式。因为应用场合并不需要特别的高效,反而需要持久运行,所以整个单片机程序结构使用的是状态机方式编写,而不是事件驱动或者是时间片轮询的写法。在手册中截了一张HT16D35A的内部结构。
2024-04-19 14:25:39
1014
原创 (AVR开发)_delay_loop_1,一段内联汇编写的延时程序
也就是1/1MHZ = 1us,不知道对不对,这里所说的循环执行3个时钟周期也就是每次调用就会延时3us,即_delay_loop_1(1)就是3us,但是最多执行256次,也就是传参最大值是256,所以_delay_loop_1(256) = 768us。要准确确定该函数的延时时间,需要知道 AVR 微控制器的时钟频率以及每个循环迭代的执行时间。如果假设在每个循环迭代中,执行时间可以忽略不计,那么每次循环的延时时间将主要由循环的执行次数决定。最终结果将写回到变量。),表示要进行的延时时间(循环次数)。
2024-04-18 16:32:30
770
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅