自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 收藏
  • 关注

原创 FPGA中约束扇出:一文搞懂MAX_FANOUT的用法!助力时序收敛!

在FPGA设计中,导致时序无法收敛的原因之一就是信号的扇出过大。本文将带你从零了解FPGA中的MAX_FANOUT属性,如何利用它约束信号扇出、从而优化逻辑驱动以达到时序收敛的目的,并通过多个案例手把手教你如何使用MAX_FANOUT来约束扇出。目录:一、什么是扇出 二、RTL代码中使用MAX_FANOUT限制扇出示例 三、XDC中使用MAX_FANOUT限制扇出示例 四、多bit信号怎么只对某指定bit执行扇出约束示例

2026-01-06 20:34:15 299

原创 一文搞懂多速率信号处理中信号插值的本质:从插 0、插原值到线性插值!

信号插值在数字信号处理中经常被使用,但“插值”背后究竟发生了什么,却常被忽略。插0、插原值、线性插值看似只是不同的实现方式,实则对应着完全不同的频域效应与滤波特性。本文将结合公式与MATLAB仿真,深入剖析插0、插原值与线性插值三种典型策略的本质区别。

2025-12-22 16:49:11 725

原创 Vivado FPGA 中的ILA还能级联使用?一文搞懂,助你提升调试效率!

在FPGA中用ILA抓取数据时,有些时候,想要抓取的数据有前后顺序但又希望一次抓出来,该怎么办呢?这时候可以借助ILA的级联方式,借助前一个ILA的触发信号当作下一个ILA触发的条件之一。本文将详细讲解ILA级联的实现方法与使用技巧,助你大幅提升FPGA调试效率。

2025-12-04 16:00:53 725

原创 一种无需IP核的FPGA RAM初始化方法:基于源码定义与赋值实现

在FPGA设计中,许多人仍习惯用RAM IP核来初始化存储数据,但每次修改初始化文件或参数都要重新生成IP,会降低效率。其实,我们可以直接在Verilog代码中定义并初始化RAM,让综合工具自动推断出对应的块RAM或分布式RAM。这种方式灵活、便于维护。本文将介绍这种更灵活的RAM初始化方式。

2025-11-01 12:50:04 561 2

原创 你真的会用FPGA中的function和task吗?详解function和task用法

在FPGA设计中,合理使用function和task不仅能让代码变简洁,还能极大提升模块复用性与可读性。function可用于组合逻辑运算和常数计算,而task则能执行多步操作甚至包含延时语句。合理使用两者,能让复杂设计结构化、调试更高效。

2025-10-23 15:51:06 1036

原创 半带低通滤波器简介及VIVADO IP核之FIR半带滤波配置仿真

半带低通滤波器(Half-Band LPF)广泛应用于低通滤波、采样率转换等数字信号处理场景。相比普通FIR滤波器,它具有系数对称、近一半系数为零等特点,可显著减少乘法器与加法器资源,适合在FPGA上实现。Vivado提供了 FIR Compiler IP核,可快速完成半带滤波器的设计与仿真。本文将介绍半带低通滤波器原理,并通过MATLAB设计仿真与Vivado IP核实现设计和验证。

2025-09-15 07:30:00 1006

原创 均匀圆形阵抗干扰MATLAB仿真实录与特点解读

均匀圆形阵(UCA)凭借其独特的环形对称布局,展现出显著的全向感知与抗干扰优势。该结构能够在水平方向实现360°无差异覆盖,方向图均匀稳定,不存在传统阵列中固有的主瓣与副瓣性能差异,从而在复杂干扰环境下具备更一致、更稳健的抗干扰能力,尤其适用于需全向均匀防护的高动态场景。本文将以7阵元带圆心的均匀圆形阵为例,通过仿真实录直观展示其在不同干扰个数以及不同干扰条件下的抗干扰表现,并结合结果对其主要特点进行解读。

2025-09-05 20:55:07 914

原创 阵列信号处理之均匀面阵波束合成方向图的绘制与特点解读

本文基于MATLAB给出均匀面阵方向图的绘制方法,绘图包含球坐标系和直角坐标系下的方向图以及在UV坐标系下的方向图,并通过二维方向图与一维切片对比,直观展示阵元规模、阵元间距对主瓣宽度、副瓣电平的影响。

2025-09-04 20:10:05 1460

原创 为什么xilinx FPGA中的LUT可以当作移位寄存器使用?

在 Xilinx FPGA 中,查找表(LUT)不仅仅是实现逻辑函数的核心单元,还能被巧妙地配置成移位寄存器(Shift Register),这种特殊模式被称为 SRL(Shift Register LUT)。与传统由触发器级联实现的移位寄存器相比,SRL 利用 LUT 内部的存储结构完成移位操作,大幅节省逻辑单元和触发器资源,同时提升时序性能。本文将详细介绍为什么xilinx FPGA中的LUT可以当作移位寄存器使用?

2025-08-16 08:30:00 1168

原创 ADC采样信号时过采样有什么好处?

在模拟信号数字化过程中,奈奎斯特定理告诉我们,ADC采样一个信号时用大于信号最高频率的2倍的采样率即可无失真恢复信号,那为什么有的地方还要用过采样呢?过采样究竟有什么好处?本文将简要探讨ADC过采样的优势。

2025-08-03 08:00:00 835

原创 ADC采样信号时的量化噪声仿真与分析

在ADC采样信号时,量化噪声是影响信号精度的关键因素之一。本文通过对ADC采样过程的MATLAB仿真,仿真了量化噪声的时域波形图、频谱图、直方图,并进行了直观的比较和简单的分析,验证了量化噪声的特性。

2025-08-01 08:00:00 1352

原创 为什么ADC精度每加1位,SNR就多6dB?一文讲透!

“理想ADC的量化信噪比为6.02n+1.76dB”这句常见公式你真的理解了吗?它为什么和比特数n成正比?这1.76又从何而来?本文将一步步推导该经典公式的由来,让你真正搞懂ADC量化误差背后的原理。

2025-07-30 08:00:00 1206

原创 带通采样信号频谱搬移后,如何完整还原信号才算正确?

带通采样技术通过低于奈奎斯特率定理的采样速率实现对带通信号的采样,但带通采样后信号频谱发生搬移。由于搬移后的频谱保留了原信号的所有信息,所以可以直接对采样后的进行处理。问题在于处理后如何还原信号呢?本文将通过画图详细介绍信号还原的方式及整个过程。

2025-07-28 08:00:00 941

原创 结合图解一文搞懂带通采样定理的原理及数学推导过程

在数字信号处理中,低通采样定理要求采样频率大于信号带宽的两倍,适用于基带信号。而实际中常见的是频谱位于高频段的带通信号,若仍按低通定理采样,所需的采样率将非常高,给系统带来不必要的负担。这时,带通采样定理就派上用场了。它允许我们以远低于信号最高频率的采样率采样带通信号实现无失真重建,显著降低采样开销。本文将系统讲解带通采样定理的原理与推导过程,并举例说明带通采样定理的应用。

2025-07-03 16:42:57 2280

原创 PIC单片机MPLAB编译报错的一些问题及解决方法

本文记录了在第一次使用MPLAB来编译程序遇到的许多报错及解决办法。需要给一块单片机下个程序,第一次使用MPLAB,解决这些问题花了五六个小时,在此记录一下,可以帮助到更多的人。

2025-06-28 11:37:08 1355

原创 VIVADO设定寄存器/存储器的初始值

在 FPGA 开发过程中,合理设定寄存器或存储器(如 BRAM、ROM)的初始值对于系统功能验证与上电行为控制至关重要。许多设计者习惯使用复位信号对寄存器或存储器进行初始化。然而,依赖复位并非总是最优解。复位逻辑会增加额外的资源开销,拉长时序路径,甚至在复杂设计中影响时钟收敛。我们可以利用 Vivado 提供的“赋初值”方法,在 HDL 代码中直接为寄存器和存储器设置上电初值,该方法能确保电路在上电时进入预期状态,避免因不确定初值导致的逻辑错误或测试失败。

2025-06-26 17:06:49 982

原创 VIVADO导出仿真数据到MATLAB中进行分析

在使用 Xilinx Vivado 进行 FPGA 开发时,如何将 RTL 仿真生成的数据导出,进行进一步分析与可视化,是很多开发者常遇到的问题。Vivado自带仿真工具不支持直接导出仿真数据,但是我们可以通过编写一段简单的RTL代码即可将需要的仿真数据保存到txt文件中,后续MATLAB有自带的的textscan函数可以将txt中的数据读出来,本文将详细介绍这一过程。

2025-06-24 19:43:58 2126

原创 在MATLAB中绘制阵列天线的散射方向图

在无线通信、雷达和天线设计中,分析阵列天线的散射特性至关重要。散射方向图(Radiation Pattern)直观地展示了天线在不同方向上的散射强度,目标的散射强度随角度变化而显著不同,是评估天线性能的关键指标之一。本文将以均匀线性阵列(ULA, Uniform Linear Array)和单基地雷达(Monostatic Radar)为例,介绍如何在 MATLAB 中计算和绘制单基地雷达下均匀线阵的散射方向图(Scattering Pattern),包含RCS元因子、RCS阵因子、总的RCS的绘制。

2025-06-18 21:21:47 954

原创 FPGA点亮ILI9488驱动的SPI+RGB接口LCD显示屏(二)

ILI9488是一款广泛应用于嵌入式系统和电子设备的彩色TFT LCD显示控制器芯片。本文将介绍ILI9488关于RGB接口的时序和相关的一些配置,笔者多次阅读芯片手册多次调试之后最终成功用FPGA点亮了一块分辨率为320*320的ILI9488驱动的TFT LCD显示屏,实现了稳定的RGB三基色显示功能,分别显示了RGB三基色图片。SPI初始化后,即可用RGB接口来传输像素值。

2025-06-16 11:30:03 1051

原创 vivado IP核High speed/Low latency设置对系统性能的影响

在使用 Vivado 设计时,IP 核配置是影响综合结果和时序性能的关键因素之一。特别是在涉及高速数据处理或对延迟敏感的应用场景中,Vivado IP 核常常提供 “High Speed” 与 “Low Latency” 两种优化选项。很多开发者在配置IP核时往往忽略了这些选项对实际时序性能的深远影响。本文将以实际示例出发,对比分析 Vivado 中Accumulator Floating Point IP在不同配置下的资源消耗和时序表现,帮助开发者在设计早期做出更合理的架构权衡,为实现更可靠的时序收敛。

2025-06-09 16:30:22 785

原创 FPGA点亮ILI9488驱动的SPI+RGB接口LCD显示屏(一)

ILI9488是一款广泛应用于嵌入式系统和电子设备的彩色TFT LCD显示控制器芯片。本文将介绍ILI9488先关的基础知识和ILI9488的寄存器配置,笔者多次阅读芯片手册多次调试之后最终成功点亮了一块分辨率为320*320的ILI9488驱动的TFT LCD显示屏,见文末提供的点亮视频。使用的SPI+RGB接口,SPI用来初始化,RGB接口用来传输像素值。

2025-06-05 21:32:22 2529 1

原创 FPGA仿真中阻塞赋值(=)和非阻塞赋值(<=)区别

网上很多人介绍verilog语法中的阻塞赋值和非阻塞赋值几乎都是基于设计module介绍的,很少从testbench仿真介绍。笔者在仿真的时候,尤记得老师说过仿真时用=和<=没区别,但其实区别很大,如果仿真时不加以区分,单独仿真小模块对但将小模块加入整个工程仿真不对的BUG就可能是仿真用错了赋值。本文将以一个具体的实例介绍testbench中的阻塞赋值和非阻塞赋值。

2025-06-02 14:57:25 1391

原创 xilinx 7系列底层可配置逻辑块CLB中的LUT、FF等资源

在Xilinx FPGA 架构中,CLB(Configurable Logic Block,可配置逻辑块)作为最基本的逻辑单元,是实现复杂逻辑功能的核心。CLB 的主要组成包括查找表(LUT)和触发器(Flip-Flop, 简称 FF),它们协同工作,实现组合逻辑与时序逻辑的有效结合。理解 LUT 和 FF 的工作原理及其在 CLB 中的组织方式,对于优化逻辑资源使用、提高设计性能具有重要意义。本文将深入介绍 Xilinx CLB 中 LUT 与 FF 的结构特点、作用机制以及它们在实际设计中的应用策略。

2025-05-27 20:16:24 1267

原创 不同坐标系下MATLAB绘制阵列的方向图

在阵列信号处理和天线设计中,方向图(Pattern)是描述波束形成性能的关键工具,能够直观展示波束的主瓣、旁瓣和零点特性。然而,方向图的绘制方式因其坐标系的选择而呈现不同的特点,极坐标系能清晰呈现俯仰角的增益分布,球坐标系能清晰呈现方位角和俯仰角的增益分布,而直角坐标系适合展示三维空间中的增益分布。极坐标系适合一维阵列,球坐标系和直角坐标系适合二维阵列。本文将介绍如何在MATLAB中实现球坐标系、极坐标系和直角坐标系下的方向图绘制,欣赏不同坐标系下的阵列方向图。

2025-05-16 10:27:33 2033

原创 基于Cholesky分解求解逆矩阵

本文介绍了Cholesky分解的基本概念及其在数值线性代数中的应用。Cholesky分解是一种将对称正定矩阵分解为下三角矩阵与其转置矩阵乘积的方法,适用于实矩阵和复矩阵。文章详细说明了Cholesky分解的适用条件,并通过数值计算例子展示了如何对一个实矩阵进行Cholesky分解。此外,文章还通过MATLAB仿真验证了Cholesky分解的正确性,并指出分解后的矩阵具有唯一性。最后,文章提到可以利用Cholesky分解得到的下三角矩阵来求逆矩阵。

2025-05-14 17:07:22 1419 2

原创 MATLAB仿真定点数转浮点数(对比VIVADO定点转浮点)

在FPGA上实现算法时,相比MATLAB实现往往需要更长的开发周期,且调试过程更为复杂。因此,可以先用MATLAB对基于FPGA的定点和浮点运算的算法进行仿真验证,只要仿真结果正确,在FPGA上实现时通常只需解决资源和时序问题即可。笔者在仿真算法时,需要模拟一个定点转浮点的IP核功能,为此专门编写了MATLAB定点转浮点转换函数。

2025-05-05 17:01:56 1414

原创 单精度浮点运算/定点运算下 MATLAB (VS) VIVADO

本文介绍了怎么在MATLAB中使用单精度浮点数进行运算,另外还将MATLAB单精度浮点数运算的结果和VIVADO浮点数IP核运算的结果作了对比,会发现二者结果是吻合的。最后还介绍了怎么在MATLAB中进行定点运算的仿真,也将其和VIVADO仿真的结果进行了对比,二者也是吻合的。

2025-04-25 21:10:53 1128

原创 VIVADO中单bit信号的跨时钟域处理(快时钟到慢时钟)

本文介绍了两种单bit信号快时钟的脉冲到慢时钟的同步的方法。两种方法均可以把快时钟的脉冲同步到慢时钟。除此之外还在考虑线延迟的情况下结合仿真图片说明了组合逻辑输出不加触发器会带来的风险,文字加仿真图片可以帮助读者理解电路。最后还介绍了同步触发器的约束,确保软件布局布线时把同步的触发器放到同一个SLICE中,以降低MTBF(平均无故障时间)。

2025-04-24 20:32:14 2503

原创 MATLAB仿真多相滤波抽取与插值的频谱变化(可视化混叠和镜像)

在多速率系统中增加信号采样率的运算叫做内插(Interpolation)或上采样(Up-sampling),降低采样率的运算叫做抽取(Decimation)或下采样(Down-sampling)。抽取和内插均会对信号本身和其频谱产生一定影响,需要通过加低通滤波器去除这种影响。本人在MATLAB软件上仿真了抽取和插值对频谱造成的影响,并在此记录一下,记录一是为了传播知识,二是方便自己回顾。

2025-04-14 19:46:01 2082

原创 FPGA上实现SD卡连续多块读的命令

在用FPGA驱动TFT LCD显示屏播放视频时,视频数据是存到SD卡里面的,播放视频对数据量的读需求非常大。如果用单块读CMD17命令显然无法满足我屏幕320*320的分辨率单像素16bit 24帧的需求,因为实测发现SD卡每次发单块读CMD17命令后,中间都要等很长一段时间,SD卡才会开始返回数据,这个等的时间比返回512个字节的时间还要多。所以得发送CMD18命令,改命令发一次可以连续读取多个块,直到发送停止命令CMD12,SD卡停止读,这样方可满足播放视频的需求。

2025-04-12 15:47:28 1031

原创 FPGA同步复位、异步复位、异步复位同步释放仿真

本文将详细介绍FPGA同步复位、异步复位、异步复位同步释放,并用实际的例子在VIVADO上面完成这三种复位的仿真,仿真包括行为仿真、综合后功能仿真、综合后时序仿真、实现后功能仿真、实现后时序仿真五种仿真。同时也将给出RTL、综合、实现后的电路图。仿真和电路图可以帮助我们彻底搞清楚这三种复位。最后的总结给出了几点结论,对设计可以起到一定的指导作用。

2025-04-06 17:03:56 1308 1

原创 宽带空时波束形成算法原理及MATLAB仿真

空时波束形成(Space-Time Beamforming)是一种结合空间和时间维度的信号处理技术,主要用于增强特定方向的信号并抑制干扰和噪声。它广泛应用于雷达、无线通信(如5G/6G)、声呐等领域,能够有效改善系统在复杂环境中的性能。空时波束形成结构由 Frost 最先在 1972 年提出,在传统的空域波束形成结构上添加了时间维度。其核心思想是在每个阵元后添加时域抽头,增加了阵列的自由度,通过组成 FIR 滤波器,从而捕捉宽带信号的频率信息。本文简介其原理后给出了MATLAB仿真结果。

2025-04-02 10:03:53 1223

原创 Vivado IP核之定点复数乘法器Complex Multiplier使用说明

在数字信号处理、通信系统以及其他嵌入式应用中,复数运算是不可或缺的基础。Vivado设计套件作为Xilinx公司的一款强大工具,提供了丰富的IP核,其中复数乘法器(Complex Multiplier)是实现高效复数运算的重要组件。本文将说明Vivado IP核中的定点复数乘法器(Complex Multiplier)的使用方法,介绍该IP核的配置选项,并编写verilog代码测试了该IP核的累加功能。

2025-03-13 16:54:53 4030

原创 Vivado IP核之定点数累加Accumulator使用说明

在现代数字信号处理和通信系统中,对数据进行快速而精确的累加操作是至关重要的。Vivado Accumulator IP核提供了一种灵活、可配置的硬件累加方案,用于在FPGA上实现数据的累加法(也可以配置为累减)操作。本文详细介绍了IP核配置选项,并编写verilog代码测试了该IP核的累加功能。

2025-03-11 21:16:06 1724

原创 Karhunen-Loeve 展开理论详解及数值计算验证

Karhunen-Loeve 展开理论揭露了零均值平稳随机过程构成的随机向量为可以表示为协方差矩阵的归一化特征向量的线性组合。本文将介绍Karhunen-Loeve 展开理论及其证明,并通过MATLAB数值计算验证该理论。

2025-02-20 18:11:55 1916

原创 基于MATLAB的均匀面阵MUSIC算法DOA估计仿真

在波达角估计算法中,MUSIC 算法与ESPRIT算法属于特征结构子空间算法,是波达角估计算法中的基石。在前面的文章一文读懂MUSIC算法DOA估计的数学原理并仿真中详细介绍了一维MUSIC算法即线阵MUSIC算法DOA估计的原理及仿真,本文将介绍二维MUSIC算法即均匀面阵的MUSIC算法DOA估计原理及MATLAB仿真。

2025-02-19 19:52:48 1971

原创 Quartus18.1标准版的下载安装以及联合Modelsim使用

本文介绍Quartus18.1标准版的下载安装以及联合Modelsim使用,每一个操作步骤都有图片或者文字说明,确保学会Quartus18.1标准版的下载安装以及联合Modelsim使用。按照本文操作步骤进行安装,可一直使用该软件,无时间限制。

2025-02-18 10:45:21 11055 38

原创 均匀面阵抗干扰算法原理及MATLAB仿真

在阵列信号处理中,信号的抗干扰处理是重中之重,传输期望信号的时候总是会伴随有人为的或者非人为的干扰,那么就需要经过信号处理算法将干扰抑制掉。在之前的文章中已经介绍过MVDR算法应用于线阵的情况,本文介绍均匀面阵抗干扰算法的原理和MATLAB仿真,通过绘制方向图,频谱图,计算阵列输出信号的SNR、INR、SINR来验证成功抑制掉了干扰。

2025-02-13 21:01:01 1159

原创 MATLAB 生成脉冲序列 pulstran函数使用详解

MATLAB中的pulstran函数用于生成脉冲序列,支持连续或离散脉冲。该函数通过将原型脉冲延迟并相加,生成脉冲序列,适用于信号处理和系统分析。本文将一 一详细解释该函数中的每个参数的含义并列举多个仿真实例展示如何去使用这个函数。本文详细介绍了pulstran函数的使用,介绍的东西对于大部分场景都是够用的。

2025-02-11 15:43:24 2272

原创 ZYNQ中使用AXI4-Lite协议实现PS和PL数据交互 (整型、浮点型)

在 ZYNQ 开发过程中,PS和PL之间经常需要做数据交互,当数据量较少时,可以通过AXI4-Lite协议进行数据交互。AXI4-Lite是简化版的AXI4接口,用于较少数据量的存储映射通信。通过生成一个带有AXI4-Lite接口的IP核,实现PS和PL的数据通信,即可以把不同类型的数据从PS传给PL,也可以从PL传给PS,文章中串口打印和在线调试的结果均成功验证了PS和PL不同类型的数据交互。

2025-02-07 09:00:00 2806 8

C语言编写的大整数计算:自定义U128结构实现高精度运算

c语言资源。C语言编写的大整数计算:自定义U128结构实现高精度运算。

2025-09-22

C语言实现了通用随机数与向量生成工具类的源代码

c语言资源。C语言实现了通用随机数与向量生成工具类的源代码。

2025-09-21

C语言之实现了一个基础的乒乓球游戏的源代码

c语言资源。C语言之实现了一个基础的乒乓球游戏的源代码。这段代码使用C语言L实现了一个基础的乒乓球游戏,包括球拍控制、球体碰撞检测及游戏循环管理。

2025-09-21

STM32 单片机中IIC的配置开始停止读写函数

stm32资源。STM32 单片机中IIC的配置开始停止读写函数。void I2C_Config (void); void I2C_Start (void); void I2C_Write (uint8_t data); void I2C_Address (uint8_t Address); void I2C_Stop (void); void I2C_WriteMulti (uint8_t *data, uint8_t size); void I2C_Read (uint8_t Address, uint8_t *buffer, uint8_t size);

2025-09-21

STM32 PWM测频测宽:利用定时器和DMA实现PWM信号频率与脉宽精确测量

stm32资源。STM32 PWM测频测宽:利用定时器和DMA实现PWM信号频率与脉宽精确测量。

2025-09-19

STM32 Flash读写管理:实现Flash页擦除、数据读写

stm32资源。STM32F1 Flash读写管理:实现Flash页擦除、数据读写及浮点数存储与转换。

2025-09-19

STM32 TIM2延时函数实现:实现微秒和毫秒级精确延时

stm32资源。STM32F103C8T6 TIM2 延时函数实现:通过配置 TIM2 实现微秒和毫秒级精确延时。

2025-09-19

MATLAB实现视频中多目标检测与标记的源代码

matlab资源。MATLAB实现视频中多目标检测与标记的源代码。通过HSV阈值和形态学处理,对视频中移动目标进行检测、定位并实时标记显示。

2025-09-18

使用HAL的STM32对EEPROM进行读写的库

stm32资源。使用HAL的STM32对EEPROM进行读写的库。

2025-09-18

MATLAB实现简易交互式井字棋游戏的源代码

matlab资源。MATLAB实现简易交互式井字棋游戏的源代码。使用MATLAB编写的交互式井字棋,支持双人对战、胜负判定与平局检测。

2025-09-18

MATLAB编写的K-means算法对Iris数据聚类

matlab资源。MATLAB编写的K-means算法对Iris数据聚类。使用K-Means算法对Iris数据集中花瓣长度和宽度进行聚类,并可视化结果。

2025-09-17

Java编写的基于Swing的贪吃蛇游戏舞台实现

java资源。Java编写的基于Swing的贪吃蛇游戏舞台实现。实现贪吃蛇游戏核心舞台逻辑,包含移动控制、碰撞检测、食物生成与绘制功能。

2025-09-17

Java编写的贪吃蛇游戏:实现蛇身移动与碰撞检测

java资源。Java编写的贪吃蛇游戏:实现蛇身移动与碰撞检测。该代码实现贪吃蛇游戏核心功能,包括蛇身移动、方向控制、食物吞噬判断及撞墙/自撞检测。支持蛇身动态增长与方向切换逻辑。

2025-09-17

Java编写的扑克牌游戏:实现纸牌属性与图形绘制

java资源。Java编写的扑克牌游戏:实现纸牌属性与图形绘制。该代码定义扑克牌对象,包含花色点数管理、选中状态控制及正反面绘制功能,支持根据状态显示不同卡面图像和选中边框效果。

2025-09-15

Java编写的纸牌接龙游戏:实现双人对战与自动出牌

java资源。Java编写的纸牌接龙游戏:实现双人对战与自动出牌。该代码实现纸牌接龙游戏,支持玩家与电脑轮流出牌、自动匹配相同点数收牌、倒计时操作及胜负判定功能。包含发牌、出牌、收牌完整逻辑。

2025-09-15

Java编写的俄罗斯方块游戏:实现方块旋转与移动逻辑

java资源。Java编写的俄罗斯方块游戏:实现方块旋转与移动逻辑。该代码定义俄罗斯方块基类,包含方块旋转算法(顺时针/逆时针)、移动控制(左/右/软降)及旋转轴心管理,为具体方块形态提供基础操作功能。

2025-09-15

Java编写的扫雷游戏逻辑:实现地雷生成与格子操作

java资源。Java编写的扫雷游戏逻辑:实现地雷生成与格子操作。该代码实现扫雷游戏核心功能,包括地雷随机分布、格子点击事件处理、自动展开空白区域及胜负判定逻辑。支持左键挖开、右键标记、双击快速开挖等操作。

2025-09-14

Java编写的扫雷游戏格子类:实现地雷标记与数字显示

java资源。Java编写的扫雷游戏格子类:实现地雷标记与数字显示。该代码定义扫雷游戏中的格子对象,包含地雷判断、标记状态管理及图形绘制功能,支持覆盖/打开/标记三种状态可视化。

2025-09-14

Java编写的俄罗斯方块游戏:实现方块生成与碰撞检测

java资源。Java编写的俄罗斯方块游戏:实现方块生成与碰撞检测。该代码实现俄罗斯方块游戏核心功能,包括七种方块形态的生成、自动下落、旋转控制、消行判断及游戏结束检测。支持键盘操作移动和旋转方块。

2025-09-14

Java编写的捕鱼游戏分数管理器:实现得分特效与动画展示

java资源。Java编写的捕鱼游戏分数管理器:实现得分特效与动画展示。该代码负责捕鱼游戏的分数管理,根据不同得分值显示金币、高分和百分特效动画,支持动态加载资源与线程安全的特效播放。

2025-09-13

一文搞懂多速率信号处理中信号插值的本质:从插 0、插原值到线性插值的MATLAB代码

本资源配套文章《一文搞懂多速率信号处理中信号插值的本质:从插 0、插原值到线性插值!》,提供完整 MATLAB 仿真代码,用于系统性演示多速率信号处理中三种典型插值方式的时域与频域特性。代码以插值因子 I=4 为例,分别实现插 0、零阶保持(插原值)与线性插值,并从频谱复制、等效滤波器和幅频响应角度揭示三种插值方法的本质区别。适合从事数字信号处理、通信、雷达及 FPGA/DSP 相关方向的工程师与研究人员学习和参考。

2025-12-22

硬件驱动开发中针对嵌入式设备控制的PID算法C代码

硬件驱动开发实战项目。硬件驱动开发中针对嵌入式设备控制的PID算法C代码。

2025-12-01

图像的无监督平滑轮廓线检测识别算法的R包实现

计算机视觉图像识别实战项目。图像的无监督平滑轮廓线检测识别算法的R包实现。给它一个灰度值在 0-255 范围内的图像矩阵,它将在图像中找到轮廓线。

2025-11-28

C语言在STM32单片机上编写的EEPROM读写驱动

STM32嵌入式开发实战项目。C语言在STM32单片机上编写的EEPROM读写驱动。

2025-11-19

基于STM32与OV7670的嵌入式数字图像采集与显示系统设计与实现

STM32嵌入式开发实战项目。基于STM32与OV7670的嵌入式数字图像采集与显示系统设计与实现。本项目设计并实现了一个基于STM32微控制器和OV7670图像传感器的嵌入式数字图像采集系统。该系统完整复现了数码相机的核心工作流程,涵盖了图像采集、数据处理、存储与显示等关键技术环节,为嵌入式图像处理应用提供了可靠的硬件平台和软件解决方案。

2025-11-10

AI图像识别的完整实战项目:基于CNN的验证码智能识别系统

AI驱动的图像识别实战项目。AI图像识别的完整实战项目:基于CNN的验证码智能识别系统。这是一个基于CNN的验证码识别项目,其流程为:首先获取验证码图片并进行灰度二值化处理,然后裁切分离出单个字符;接着使用PyTorch框架训练卷积神经网络模型,实现对单个字符的识别,识别准确率达100%。依赖的库为pytorch, Pillow,uuid, numpy。

2025-11-05

基于STM32的主从式远程视频监控与温度监测系统设计

STM32嵌入式开发实战项目。本系统基于STM32主从架构设计,主机负责远程视频显示与数据管理,从机完成温度采集与视频传输,实现环境温度监测与实时视频监控功能,具备结构简单、成本低、扩展性强等特点。

2025-10-27

Java基础入门级别横版跑酷游戏仿天天酷跑实战项目

Java基础入门实战项目资源。Java基础入门级别横版跑酷游戏仿天天酷跑实战项目。

2025-10-20

C语言实现稀疏矩阵的转置、加法与乘法等运算

c语言资源。C语言实现稀疏矩阵的转置、加法与乘法等运算。这段C代码实现了稀疏矩阵的三种基本操作:使用三元组存储格式进行矩阵转置、矩阵加法以及矩阵乘法,通过优化处理提高了稀疏矩阵的运算效率。

2025-10-13

C语言之单向链表右旋转k次的算法的实现code

c语言资源。单向链表右旋转k次的算法实现。这段C++代码实现了单向链表的右旋转操作,通过计算链表长度、形成循环链表,然后找到新的头节点并断开循环,完成链表的顺时针旋转。

2025-10-07

C语言实现Dijkstra最短路径算法实现:寻找图中单源最短路径

C语言实现Dijkstra最短路径算法实现:寻找图中单源最短路径。这段代码实现了Dijkstra算法,用于在带权图中计算从单个源点到所有其他顶点的最短路径。代码使用邻接矩阵表示图,通过贪心策略逐步确定最短路径树。

2025-10-03

C语言实现图数据结构实现之邻接表存储与DFSBFS遍历

c语言资源。C语言实现图数据结构实现之邻接表存储与DFSBFS遍历。这段C语言代码实现了一个图类,使用邻接表存储结构,包含图的构建、深度优先搜索(DFS)、广度优先搜索(BFS)遍历以及环检测等功能。

2025-09-29

C语言实现线段树数据结构实现:区间查询与单点更新

c语言资源。C语言实现线段树数据结构实现:区间查询与单点更新。这段代码尝试实现一个线段树(SegTree)类,用于高效处理区间查询和单点更新操作。代码包含了线段树的构建、区间查询和更新功能,但存在多处语法错误和逻辑问题。

2025-09-25

C语言实现二叉搜索树的插入、查找、遍历与删除操作

c语言资源。C语言实现二叉搜索树的插入、查找、遍历与删除操作。这段代码实现了一个二叉搜索树(BST),包含节点的插入、查找、三种遍历方式(前序、中序、后序)以及节点删除功能。

2025-09-25

C语言实现6阶B+树的数据插入与中序遍历算法的代码

c语言资源。C语言实现6阶B+树的数据插入与中序遍历算法的代码。这段代码实现了一个6阶B+树数据结构,包含节点初始化、元素插入、节点分裂和中序遍历功能。

2025-09-25

C语言实现的大数小数乘法:支持小数点精确计算

c语言资源。C语言实现的大数小数乘法:支持小数点精确计算。

2025-09-23

C语言实现优先级调度:计算平均等待与周转时间

c语言资源。C语言实现优先级调度:计算平均等待与周转时间。

2025-09-23

C语言编写的SJF调度:计算等待与周转时间

c语言资源。C语言编写的SJF调度:计算等待与周转时间。

2025-09-23

C语言编写的回溯算法:求解N皇后问题所有解法

c语言资源。C语言编写的回溯算法:求解N皇后问题所有解法。

2025-09-22

C语言递归回溯:求数组元素组合和等于目标值

c语言资源。C语言递归回溯:求数组元素组合和等于目标值。

2025-09-22

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除