- 博客(64)
- 资源 (6)
- 收藏
- 关注
原创 2025电赛G题-发挥部分-参数自适应FIR滤波器
(1)测评现场提供由RLC元件(各1个)组成的“未知模型电路”。按照图3所示,探究装置连接该电路的输入和输出端口,对该电路进行 自主学习、建模(不可借助外部测试设备),2分钟内完成学习建模,显 示“未知模型电路”的滤波类型。图3 学习、建模(2)学习建模完成后,断开探究装置和“未知模型电路”的端口连接,将信号发生器接入探究装置和“未知模型电路”的输入端口(探究装置输入 电阻不小于100kΩ),如图4所示。探究装置能根据信号发 生器的输出信号推理生成与“未知模型电路”相同的输出信 号。
2025-08-01 20:14:57
841
原创 研电赛-基于GD32的纳型无人机AI追踪系统4
本研究围绕基于 GD32 的纳型无人机 AI 追踪系统展开,鉴于无人机行业发展趋势与传统纳型无人机的技术局限,结合 GD32 微控制器的性能优势与 AI 技术突破,对纳型无人机的汽车追踪技术进行创新。在算法优化、硬件与算法协同、系统集成等方面取得显著成果,大幅提升了系统性能与适应性。
2025-07-31 06:45:00
244
原创 研电赛-基于GD32的纳型无人机AI追踪系统3
基于ARMv7嵌入式架构,借助 PyTorch 搭建 AI 模型训练框架,并运用 GD32EmbeddedAI_V2.0.6 模型转换工具,本设计完成了无人机 AI 追踪系统的全流程算法实现。该系统具备强大的实时追踪能力,能够对指定目标进行稳定、高效的持续跟踪,在无人机应用领域展现出良好的技术适应性和实用价值。
2025-07-30 08:00:00
541
原创 研电赛-基于GD32的纳型无人机AI追踪系统2
Crazyflie纳型无人机追踪系统的硬件组成如图3-1所示,采用Crazyflie 2.1无人机平台作为基础,其主要硬件模块包括主控模块、传感器模块、通信模块、电源模块以及扩展模块。该系统通过各模块的协同工作,实现对目标的实时追踪与定位。图3-1 CrazyFlie纳型无人机硬件架构(1)无人机采用STM32F405作为主控芯片,该芯片具备高性能、低功耗的特点,能够满足无人机的飞行控制需求。其主要特性如下:主频:168MHz,支持高性能处理。
2025-07-29 08:59:54
889
原创 一种基于GD32的电缆束注入传导敏感度测试源4
针对传统电缆束和电源线上的传导干扰敏感度测试项目所存在的问题,本文设计实现了一款高集成度的传导敏感度测试源。结合传导测试项目输出要求,对各个模块进行选型论证,依据设计方案进行硬件部分的设计和软件程序的编写, 实现了输出频率、功率、扫频时间、调制信号的设置。通过系统测试,本系统实现了预期功能,且输出信号满足测试项目的标准限制曲线。结合本设计对其中的模块进行替换可以实现同等频率范围下更多标准的测试。
2025-07-18 01:00:00
458
原创 一种基于GD32的电缆束注入传导敏感度测试源3
FJ-EMC-CSS 1.0干扰源的功率放模块输出与输入呈非线性关系,为了保证输出的稳定性,采用基于改进粒子群算法的PID调节实现输出功率达到预期值,为了减小系统内部噪声以及系统外部干扰出现偶然误差,采用改进的小波变化和快速FIR滤波。
2025-07-17 01:15:00
631
原创 一种基于GD32的电缆束注入传导敏感度测试源2
FJ-EMC-CSS 1.0干扰源的硬件组成如图3-1所示,采用GD32F303RCT6为主控芯片,以DDS、锁相环模块加VGA作为信号产生模块,低频功率放大使用型号为AD817宽电源电压放大器, 高频放大部分使用OPA695。图3-1 FJ-EMC-CSS 1.0硬件架构(1)本系统采用GD32F303RCT6为主控芯片,用到的片内资源有ADC,串口,SPI等相关资源。与同类产品相比,该芯片的稳定性和可拓展性极佳。其中STM32F1系列的芯片锁相环的最大倍频数为16倍,而该芯片的最大倍频数为64倍。
2025-07-16 02:45:00
619
原创 一种基于GD32的电缆束注入传导敏感度测试源1
本文设计实现了一款适用于EMC传导敏感度测试的干扰信号源(简称FJ-EMC-CSS 1.0)。该干扰源集信号调制、前级放大、功率放大于一体,可根据用户需要在一定的频率范围之内进行连续的或者调制的信号输出,也可根据用户的自定义波形文件输出任意波形,仅需在上位机设置相关参数即可一键完成信号输出。
2025-07-15 00:15:00
623
原创 一种基于STM32/GD32的语音变声保护系统实现技术研究2
图4.15中softThresshold为优化后的阈值函数,softThresshold1为软阈值函数,softThresshold2为硬阈值函数。本文以相关数字处理算法为核心,配合部分外围电路搭建了一套多功能,便捷式,低成本的语音变声系统。系统的主控模块为自主设计的基于GD32 F303RCT6的小系统模块,该主控模块由MCU芯片,按键,排针,外部晶振,SD卡座组成。本系统将一段音频进行噪声去除处理,图4.16,图4.17,图4.18分别为语音特征提取,语音阈值自适应结果,以及生成的实时滤波器参数。
2025-07-14 01:15:00
568
原创 一种基于STM32/GD32的语音变声保护系统实现技术研究1
在该算法中,首先主程序调用DWT1()将采集到的语音进行一级小波变换,随后主程序根据小波变换后的系数调用filter()生成一个合适的阈值函数,之后调用softThreshold()函数对小波系数进行阈值处理。后,信号产生的小波系数含有信号的重要信息,将信号经小波分解后小波系数较大,噪声的小波系数较小,并且噪声的小波系数要小于信号的小波系数,通过选取一个合适的阀值,大于阀值的小波系数被认为是有信号产生的,应予以保留,小于阀值的则认为是噪声产生的,置为零从而达到去噪的目的。重建信号,实现变速不变调的操作。
2025-07-13 10:45:14
529
原创 五级流水线RISC-V矩阵乘法单元的设计与验证4
比较25号寄存器和26号寄存器的内部数据,大于所以发生跳转,跳转到PC=94,而顺序的PC=90和94的指令不会执行,消耗两个时钟周期。如图所示,仿真结果与理论结果相一致,结果在预期的PC值下输出,且从图中可以看出在PC到78时进行了一次跳转,而PC=74和78的指令因为跳转而没有执行,损失两个时钟周期。最终仿真结果与理论结果相一致,且结果在预期的PC值下输出。首先外部存储的0号地址的数据写的9号寄存器,继续将外存0号地址的低两字节数据写到11号寄存器,再将将外存0号地址的低一字节位数据写到12号寄存器。
2025-07-11 01:15:00
404
原创 五级流水线RISC-V矩阵乘法单元的设计与验证3
首先ALU的计算结果和从存储器的加载数据中进行选择,选择后的数据再与PC值进行一次选择,然后PC跳转值和立即数进行一次选择,选择结果与刚才的结果在进行一次选择,最终成为写回寄存器堆的数据。该模块的主要功能是将指令中的控制信号拆分成更小的微控制信号,内涵两个子模块,主控制器和运算单元控制器,主控制器生成更细小的微控制信号,控制电路中各模块的工作状态,而运算单元控制器则是针对ALU单元所设计的,产生的控制信号均用于控制ALU单元进行对应的计算。jalr指令标志,选择pc的数据选择器的控制信号。
2025-07-10 00:30:00
899
原创 五级流水线RISC-V矩阵乘法单元的设计与验证2
RISC-V五级流水线电路的顶层输入信号为clk(时钟信号)、rst_n(复位信号),其次因为所设计的处理器需要与指令存储器和数据存储器进行数据读取操作,会有两个输出信号为地址数据,两个输入信号为从两个存储器中取到的数据。处理器主要的数据交互都在子模块之间,对于子模块中的信号接口定义,在后面会有详细描述,RISC-V五级流水线电路的I/O接口定义如表2-1所示。所设计的RISC-V五级流水线矩阵乘法单元,使用Verilog语言实现一个基于RISC-V指令集的五级流水线CPU,能够执行基本RISC-V指令。
2025-07-09 01:00:00
583
原创 五级流水线RISC-V矩阵乘法单元的设计与验证1
本次设计的处理器包括RV32I基本指令集的37条指令和扩展的五条单精度浮点指令(flw、fsw、fadd.s、fsub.s、fmul.s),能够支持浮点数据处理。通过仿真和测试,我们验证了处理器的功能和性能。本次设计的基于RISC-V五级流水矩阵乘法单元,设计一个在五级流水线处理器的基础上,扩展其ALU运算单元,使其支持浮点运算操作,成为一个可处理浮点数据的矩阵乘法单元。通过本项目的实施,我们不仅验证了 RISC-V 指令集在高性能处理器设计中的优势,还为未来的浮点运算处理器设计提供了宝贵的经验和参考。
2025-07-08 15:51:24
866
原创 集成电路测试方法学知识点总结
当电压施加于高阻抗模拟或数字输入引脚时,通常会有少量的电流漏进或漏出PIN脚,这种电流称为漏电电流,或简称漏电。检测漏电的意义在于:1)可检测出缺陷工艺制造的集成电路。晶体管常开,晶体管常闭,删氧化层短路,互联桥接短路,测试延迟故障等。2)漏电可造成器件工作异常或参数飘移。3)可发现器件的早期失效。
2025-07-03 18:39:05
728
原创 EDA考点总结
启动工具——读入设计——初始检查(check_design,用来检查设计中的问题,例如未连接,多次例化等)——设置设计环境(设置工作条件,IO端口,线负载模型)——设计目标约束(时序约束,面积约束等)——编译优化(RTL级到门级网表的优化映射)——导出设计(设计的门级网表(db格式)、标准延时文件,时序/面积综合报告、设计约束文件)可用于整个设计周期,维持完整的功能等效。中,时钟为50MHz,外部逻辑建立时间要求为7.0ns,,U3的Tclk-Q时间为1ns,则组合逻辑S的最大延时是多少。
2025-07-02 08:00:00
150
原创 嵌入式边缘AI的轻量化技术路径综述
美国众多科技巨头积极布局,英伟达推出的Jetson系列嵌入式AI平台,以强大的算力与丰富的软件生态,在机器人、自动驾驶等领域广泛应用,为复杂AI模型在边缘设备的运行提供了有力支撑。谷歌通过持续优化TensorFlow Lite推理框架,极大提升了模型在移动端等嵌入式设备上的部署效率与执行性能,其研发的Edge TPU专用芯片,进一步加速了边缘AI的应用落地,如在智能安防摄像头中实现实时目标检测与识别。动态自适应量化在此基础上,通过实时监测设备算力、任务需求等动态调整量化精度,实现资源与精度的动态平衡。
2025-07-01 08:00:00
1496
原创 基于DSP的边缘检测与图像锐化算法研究与实现
从信号处理的角度来看,图像模糊本质上是图像信号经过低通滤波的结果,而锐化则通过高通滤波或微分运算,对图像的高频成分(边缘、纹理等)进行增强,抑制低频成分(平滑区域)。4、将图像的数据从 dat 文件读入到内存:执行 File/data/load,将要进行颜色转换的图像数据 从 Data160x160.dat (说明:*.dat 格式,内部存放了某图像各像素的灰度值)文件中加载入到数据存储器,即在弹出的窗口中输入存储地址 IMG 与数据的长度,如下图所示。拉普拉斯算子对图像中的阶跃边缘和孤立点响应显著。
2025-06-30 22:32:17
1080
原创 卡尔曼滤波原理及公式
在基于此算法实现目标位置信息融合时,会出现两种情况:当目标物体被检测到时,卡尔曼滤波使用最新检测到的目标位置来更新状态,由此产生一个过滤的位置;当目标物体不出现在摄像头内时,卡尔曼滤波则完全依赖之前的状态信息预测当前帧中目标的位置。在线性高斯系统中,运动方程、观测方程是线性的,且两个噪声项服从零均值的高斯分布。其中,式(6)和式(7)是状态预测过程,式子(3)、式(4)和式(5)则是对状态修正过程。k) 是返回的视频中得到的目标中心点位置坐标,VxVy是通过计算得到的目标中心点在x轴y轴。
2025-06-28 16:35:45
246
原创 GD32H7复位后程序调用函数时间增加
在GD32H7程序中,发现函数调用时间在第一次下载与硬件复位重启后存在显著差异,分别为13ms和51ms。经排查,问题主要出现在函数形参数量超过4个或总大小超过4x32bit时,系统会使用堆栈传递参数,导致指令层次增加,从而降低执行效率。具体表现为内存加载指令LDR r4, [sp, #0xC]的使用。为解决此问题,建议减少函数参数个数,或采用地址传参的方式,以优化函数执行效率。
2025-05-10 17:03:58
198
原创 2024 研究生数学建模 华为杯C题
对于不同材料和温度变化时会产生不可避免的误差, 因此本问题要在原斯坦麦茨方程的基础上,通过增加温度这一优化因子,对磁芯损耗的计 算进行修正与完善,构造出一个适合不同温度条件的修正模型。在对实验参数进行分析后, 拟合出加入温度优化银子的修正方程,并且同原斯坦麦茨方程进行进一步的相互对比,分 4 析两者在预测磁芯损耗的效果之间的优劣。根据模 型的分类结果,将波形的分类标签(1表示正弦波,2表示三角波,3表示梯形波)填入附 件四,并输出附件二中的波形分类的数量统计结果,用表格对指定样本序号的波形结果进 行处理。
2024-11-11 21:24:30
897
原创 RISC-V开发 linux下GCC编译自定义指令流程笔记
GCC提供了内嵌汇编的功能可以在C代码中直接内嵌汇编语言语句方便了程序设计。使用内嵌汇编,要先编写汇编指令模板,然后将C语言表达式与指令的操作数相关联,并告诉GCC对这些操作有哪些限制条件。input= 1;return 1;对应的汇编代码如下;行号 代码 解释178 movl $1, input 对应C语言语句input = 1;9 movl input, %eax 隐式处理10 #APP GCC插入的注释,表示内嵌汇编开始11 movl %eax,%eax 我们的内嵌汇编语句。
2024-09-29 17:04:48
1755
2
原创 A题 农村公交与异构无人机协同配送优化
此外,异构无人机的引入,能够根据不同配送需求进行灵活的任务分配,进一步优化配送流程,满足农村地区多样化的物流需求。复杂的地形,如山地和河流等自然障碍,使得道路建设困难重重,导致道路网络稀疏,而分散的配送点进一步增加了物流的复杂性。该方法的实施,展现了贪心算法在物流配送优化问题中的应用潜力,为解决类似的实际问题提供了一种高效且经济的解决方案。此外,该策略还考虑了整数规划模型中的决策变量,确保了解决方案的可行性和实用性,进一步增强了模型的优化效果。每个需求点的任务是不可分割的,一辆公交车最多携带两架无人机。
2024-09-06 09:44:35
1400
原创 基于STM32/GD32的语音识别系统
人类可以听到的音频信号频段范围在20kHz以下。本系统为了减少功耗,提高语音质量。添加了语音识别算法,可以实时识别当前音频是人声,音乐,或者是噪声。如果是噪声,则会关闭扬声器输出,降低系统功耗。
2024-07-29 16:13:57
878
6
原创 设置开发板程序自启动-备忘录
查看文件命名格式,并创建一个文件S99z(确保该文件最后执行)。首先,将编译好的程序下载到开发板里面。cd /etc/init.d文件夹下。在start()中修改文件路径即可。在stop()中关闭程序。
2024-07-25 11:24:16
334
原创 23年电赛D题-信号调制方式识别与参数估计装置
缺点,受单片机性能影响,FFT的精度不够,我使用的是300k采样率,12位AD, 8192采样点数,单精度FPU,168M运算主频进行分析。比如说将FM信号通过一个微分器,就可以达到数字求导的作用,变成一个AM和FM的混合体的样子,可以通过读取AM的信号幅度与频率来获得FM的信号频率以及频偏。缺点,对于AD位数要求高,使用单片机的内置AD无法达到题目要求,但是我试过外接一个24位的AD,可以提高分辨精度。识别信号有很多思路,最简单的方式便是通过对信号进行FFT分析,分析其中的各个谐波的特征值。
2023-08-07 18:32:51
7142
62
原创 左值与右值
由此可以看出int arr2[]作为形参时确实是一个int* 的指针,int arr2[]被转化为指针类型,至于为什莫不直接用指针呢,大概是为了语义化,并且方便在函数内部使用数组吧。关于指针与地址的一些感悟 地址是一个常量,右值,立即数,是固定的,在内存中表示某一个位置,是某一个位置的名字,对于地址的访问属于电路的操作,对于软件语言只是一个名字。数组名和函数名都可已被取地址,并且&arr == arr?int n = 1;当然,数组可以作为形参来接受数组地址,那是不是就意味着数组是一个指针呢?
2023-05-25 22:35:30
465
原创 freertos笔记-任务切换
跳出 3. 循环 (一般用于死循环的第二次循环,因为第一次肯定是溢出了,但是,可能溢出的不止一个,所以要把所有溢出的都找到,最后,找到下一个溢出值)3.5 判断是否要进行任务切换,如果溢出任务优先级高于运行任务优先级的话,会切换任务,而且切换的任务一定是是先添加进去的任务,原因1 高优先级的列表一定为空,pxIndex=>xlistend,而且添加的任务是添加到。作用场景为 当前任务和溢出的任务相同优先级,那么下一个执行的会是溢出的任务,当然如果列表里还有其他任务的话不一定是会执行这个溢出任务,
2023-05-25 22:33:50
1041
原创 freertos笔记-任务基本构造
/删除任务,并在空闲任务中释放空间(堆栈以及TCB的空间)TCB空间如果是动态创建任务的话,就是自动分配自动回收,如果是静态创建,就需要初始化一下,而且必须是初始化StaticTask_t该结构体,而不是值初始化一个结构体指针。将该任务挂起,只有调用任务恢复函数 vTaskResume()或 xTaskResumeFromISR()才会恢复该任务,其他的队列,任务通知,delay都不能将其唤醒。表示有多少个任务要被清理。5. 如果该任务正在运行,切换上下文 portYIELD_WITHIN_API();
2023-05-25 22:30:54
864
原创 freertos笔记-内核函数配置
调用了几次 vTaskSuspendAll()挂起调度器,同样的也得调用几次 xTaskResumeAll()才会最终恢复任务调度器。PC = 任务函数指针 入栈。(4). 初始化任务 prvInitialiseNewTask();//以下是任务参数的初始化。(5). 将任务添加到就绪列表中 prvAddNewTaskToReadyList();xTaskGetApplicationTaskTag() 获取某个任务的标签(Tag)值。
2023-05-25 22:25:49
889
原创 freertos笔记-各种列表运行原理
就是说,列表中的第一个任务不是最先执行的,也许是刚一执行就立马遇到了新的切换吗 应该是,经过仿真器逐步调试,发现。有一个疑问,当节拍间隔比较小时,第一个执行的任务并不是预期的任务,节拍大一点时,才符合逻辑?2-true. 如果没有任务在运行, pxCurrentTCB指向新添加的这个任务, (这里会造成刚开始的时候,最先运行的是最后一个创建的任务)4.1.5.2 taskSELECT_HIGHEST_PRIORITY_TASK()获取就绪列表最高优先级的任务。挂起PendSV中断。
2023-05-25 22:24:23
799
原创 freertos笔记-队列
2.true.1.2 判断是不是互斥队列 是的话xTaskPriorityDisinherit 优先级操作。3.挂起调度器 并且队列上锁prvLockQueue 这里主要是防止中断程序对该队列有操作。2.true.1.1 获取当前队列uxMessagesWaiting值。2.true.1 复制队列中的信息prvCopyDataToQueue。2.false.1 队列满了的话,判断xTicksToWait是否要等待。2.true.2 队列集相关操作。队列项目一(32字节)队列项目二(32字节)
2023-05-25 22:22:48
786
原创 freeetos笔记-列表
prvAddNewTaskToReadyList时用到,有很大用途。列表是一个存放整个系统任务实时信息的数据结构,与单个任务本身是没有关系的是用来调度器用于控制任务的工具。这个函数改变了pxIndex的指向,开始了遍历,它不破坏列表结构。这个函数会将列表项插入pxindex的前面,所谓的尾部。mini列表 xListEnd使用这种类型。列表项是不断插入删除动态游走于各个列表的。获取列表下一项的函数。
2023-05-25 22:17:56
140
原创 CM3学习-中断
(使用双堆栈的条件下,线程模式响应中断时,进入中断入栈时使用psp,然后在中断中使用msp,结束该中断时,切换到psp来出栈)现在使用PendSV来切换上下文,(将PendSV的优先级设置为最低),滴答定时器打断中断后上下文未发生变化,因此可以回到被打断的中断。悬起后,如果优先级不够高,则将缓期等待执行。相同的抢占优先级,不同的子优先级,不会发生抢占,只用于解除悬挂状态,当子优先级也一致时,判断中断源的编号。中断状态标志位在系统内部,用于标识运行,悬挂,完成状态,可以动态改变,可能会导致硬件层次的死循环。
2023-05-25 22:12:10
753
原创 CM3学习-内存管理
别名区地址 = ((哪种位带区) + 别名区偏移量) + ((位带区字节地址)*8【*8是因为一个字节有8位】*4【*4是因为每一位都会别拓展成32位,又因为是字节寻址,则4个字节】 + (哪一位)*4)#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)
2023-05-25 22:09:46
419
原创 CM3学习-基础知识
然而,在分支时,无论是直接写 PC 的值还是使用分支指令,都必须保证加载到 PC 的数值是奇数(即 LSB=1),用以表明这是在 Thumb 状态下执行。IF-THEN(IT)指令围起一个块,里面最多有 4 条指令,它里面的指令可以条件执行(用于优化三元运算符以及小逻辑的if语句)使用双堆栈的条件下,线程模式响应中断时,进入中断入栈时使用psp,然后在中断中使用msp,结束该中断时,切换到psp来出栈。使用x后缀指令,要记得最低位置1,以示Thumb状态,为0的话是arm状态cm3不支持,会有fault;
2023-05-25 22:06:04
919
原创 STM32内存笔记
而且,如果你在函数里面进行这个操作的话,指针地址位于stack,但分配的内存属于heap,函数结束后,不会影响heap里面已经被分配的空间。所以,在初始化对象类型时,以及结构体时,如果直接申明结构体变量的话,它是属于stack的,会被销毁。其中stack作为系统的栈,所有函数里面定义的局部变量都是占用stack的空间的,递归调用函数要注意栈溢出问题。ROM又被称为“只读存储器”,ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。
2022-11-27 13:06:22
1647
基于STM32的FSK调制系统
2025-08-01
《数字集成电路复习笔记.pdf》
2025-07-30
基于32单片机以及CNN的AM,FM,ASK,FSK,PSK调制类型识别
2025-07-08
AM,FM,ASK,FSK,PSK调制类型识别模型
2025-07-08
基于DSP的边缘检测与图像锐化算法研究与实现
2025-06-30
RSIC-V单周期CPU设计代码,实现了17种指令
2022-12-15
stm32核心板IO口定时器模拟串口
2022-09-03
stm32 校赛第二部分 相位差的测量,并将相位差为自变量,输出相应的正弦波
2022-05-20
stm32 校赛第三部分 可以检测三种波形,绘制特性曲线
2022-05-20
嵌入式 stm32实现校赛第一部分,信号发生器
2022-05-20
stm32波形生成器,可同时产生三个独立信号
2022-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人