- 博客(227)
- 收藏
- 关注
原创 多载波调制与OFDM原理讲解以及MATLAB实现GUI设计
基于MATLAB设计并实现了一个OFDM调制的图形用户界面(GUI)系统。该系统旨在简化OFDM调制过程的仿真,提供友好的用户交互界面。设计目标是通过GUI实现参数化的OFDM仿真,包括子载波数、符号数、IFFT长度、循环前缀长度、循环后缀长度和信噪比等参数的动态调节。系统支持多种调制方式(如QPSK、16QAM、64QAM、256QAM)和单径、多径信道模型,并实时显示OFDM信号的时域图和星座图。用户可通过GUI调整各项参数,启动或暂停仿真,观察误码率的变化。
2024-07-03 00:32:19 890
原创 基于FPGA的DDS信号发生器
此处仅为基于Vivado实现DDS信号发生器的仿真实现,Vivado的安装请看下面的文章,这里我只是安装了一个标准版本,只要能够仿真波形即可。DDS技术是一种通过数字计算生成波形信号的方法,其核心原理是利用数字相位累加器和波形查找表(ROM)生成高精度、频率可调的波形信号。DDS系统的主要组成部分包括频率控制字(Fword)、相位累加器、相位控制字(Pword)和波形查找表。在DDS系统中,频率控制字决定了输出波形的频率。频率控制字越大,相位累加器每个时钟周期增加的相位值就越大,从而输出波形的频率越高。相位
2024-07-02 23:48:28 1245
原创 FPGA开发Vivado安装教程
非常遗憾的一件事情是,在选修课程时我避开了FPGA,选择了其他方向的课程。然而,令我没有想到的是,通信项目设计的题目竟然使用FPGA,这简直是背刺。在仅有的半个月时间里,准备这个项目确实是非常紧张的。为了下载FPGA相关的软件,我不得不将我的深度学习项目全部转移到硬盘上,还删除了虚拟机和其他一些软件,才终于腾出足够的空间来安装所需的软件。
2024-06-18 20:27:43 1050
原创 Matlab电话按键拨号器设计
DTMF是一种信号系统,广泛应用于电话按键音的传输。它是由两个不同频率的音调组合而成,每个按键(0-9,*,#)对应一个唯一的频率组合,这样可以通过按键发出的声音来传输数据。按键和频率对应表:按键低频组高频组1697 Hz1209 Hz2697 Hz1336 Hz3697 Hz1477 HzA697 Hz1631 Hz4770 Hz1209 Hz5770 Hz1336 Hz6770 Hz1477 HzB770 Hz1631 Hz7852 Hz。
2024-06-16 21:00:47 1795 4
原创 Matlab使用Simulink仿真实现AM和BPSK信号的解调
本篇实现了基于AM和BPSK调制的通信系统,采用Bernoulli Binary Generator生成随机二元序列,码元速率为0.5秒/个。AM调制使用Sine Wave模块生成载波,频率40Hz,相位π/2。BPSK调制通过Switch模块切换相位0和π的载波。信号传输通过AWGN信道添加高斯白噪声。AM解调采用包络检波,使用低通滤波器提取调制信号包络;BPSK解调通过相干解调,信号与载波相乘并滤波去除高频分量。通过Error Rate Calculation模块分析解调信号误码率,验证系统性能。
2024-06-11 15:58:30 2028
原创 深度图的方法实现加雾,Synscapes数据集以及D455相机拍摄为例
在次之前,我们已经做了图像加雾的一些研究,这里我们将从深度图的方法实现加雾展开细讲接下来将要介绍如何使用深度图像生成雾效图像的方法。利用Synscapes数据集,通过读取EXR格式的深度信息,结合摄像机参数和暗通道先验等技术,计算传输图和大气光照强度,并应用朗伯-比尔定律生成雾效图像。文中提供了完整的代码示例,包括从深度图读取数据、计算传输图和大气光、以及生成和保存雾效图像。此外,还介绍了如何使用自制数据集进行处理。该方法适用于自动驾驶数据增强、增强现实和图像去雾等领域,并提供了详细的注释和参考资料,帮助读
2024-06-08 20:40:08 1294 1
原创 D455相机RGB与深度图像对齐,缓解相机无效区域的问题
在使用Intel深度相机D455时,我们经常会遇到深度图中的无效区域。这些无效区域可能由于黑色物体、光滑表面、透明物体以及视差效应等原因引起。为了解决这些问题,我们可以采用图像修复与滤波结合的方法。具体步骤包括创建掩模图、使用插值方法填补缺失值,以及利用OpenCV的inpaint函数进行修复。本文详细介绍了如何根据不同的对齐方式(深度对齐到彩色或彩色对齐到深度)来处理无效区域,并展示了图像修复的实际代码和效果。这些方法能有效提升深度图质量,特别适用于深度加雾任务。
2024-06-08 19:30:36 1664 2
原创 intel深度相机D455的使用
Intel RealSense D455 是RealSense D400系列的一部分,这个系列的设备以其高精度和可靠性而闻名。D455相比于之前的型号(如D415和D435),提供了更远的感知范围和更高的精度。
2024-06-01 23:10:52 2161
原创 图像加雾算法的研究与应用
在去雾任务当中,训练和评估去雾算法需要大量的带有雾霾和无雾霾的图像对。由于实际拍摄的带雾霾的图像不易获得并且不可控,因此研究者常常通过加雾(Image Fogging)技术来人工生成含雾图像,以丰富数据集。这不仅有助于生成多样化的训练数据,还能在控制实验中评估去雾算法的性能。本文将探讨图像加雾的基本原理和常用方法,并介绍一些用于图像加雾的具体技术。大气散射是指光线在大气中传播时,由于空气中的微小颗粒和气体分子的散射,使得光线强度随着传播距离的增加而衰减。根据贝尔-朗伯定律(Beer-Lambert Law)
2024-05-30 14:02:34 1444
原创 VScode配置MySQL
请键入 NET HELPMSG 2185 以获得更多的帮助。因为net start +服务名,启动的是win下注册的服务。此时,我系统中并没有注册mysql到服务中,即下面没有mysql服务。ZIP方式下载,选择本地的路径进行解压。即是解压位置后文件夹下的bin文件路径。这里我们搜索提示符,以管理员身份运行。后面的密码复制保存一下。输入刚才复制的密码。
2024-04-22 23:13:29 1583
原创 Xception模型详解
Xception的名称源自于"Extreme Inception",它是在Inception架构的基础上进行了扩展和改进。Inception架构是Google团队提出的一种经典的卷积神经网络架构,用于解决深度卷积神经网络中的计算和参数增长问题。与Inception不同,Xception的主要创新在于使用了深度可分离卷积(Depthwise Separable Convolution)来替代传统的卷积操作。深度可分离卷积将卷积操作分解为两个步骤:深度卷积和逐点卷积。Xception的pytorch代码实现
2024-04-01 16:01:06 2666 1
原创 yolov5训练并生成rknn模型部署在RK3588开发板上,实现NPU加速推理
RK3588是瑞芯微(Rockchip)公司推出的一款高性能、低功耗的集成电路芯片。它采用了先进的28纳米工艺技术,并配备了八核心的ARM Cortex-A76和Cortex-A55处理器,以及ARM Mali-G76 GPU。该芯片支持多种接口和功能,适用于广泛的应用领域。本篇为yolov5部署在RK3588的教程。接着将训练好的best.pt放在工程文件夹下,使用yolov5工程中的export.py将其转换为onnx模型。
2024-03-24 22:47:29 8577 18
原创 ShuffleNet模型详解
ShuffleNet 是专门为计算能力非常有限的移动设备设计的。架构采用了逐点分组卷积和通道shuffle两种新的运算,在保持精度的同时大大降低了计算成本。ShuffleNet 比 MobileNet 在 ImageNet 分类任务上的 top-1误差更低 (绝对7.8%) ,在基于arm的移动设备上,ShuffleNet比AlexNet实现了约13倍的实际加速,同时保持了相当的准确性。
2024-03-22 23:54:18 1352
原创 误删了Linux系统的libm.so.6文件与libm-2.27.so的软链接导致的开机出现kernel panic的解决方案(图文U盘救援详细教程)
误删了Linux系统的libm.so.6文件与libm-2.27.so的软链接导致的开机出现kernel panic的解决方案(图文U盘救援详细教程)期间也花了很多时间去试了其他的方法,均无效,我这里是使用U盘做了一个ubuntu的安装盘(版本应当与你的ubuntu系统相当)用惯了windows系统,做了最后悔的操作——重启。结果导致了ubuntu根本打不开,即使是recovery mode也无效了。有时候真的不要手贱去动这些文件,不然除了氪金或者重装系统,光凭网上这些不是很详细的教程,真的很难去抢救回来,
2024-03-21 21:39:09 1658
原创 CBAM注意力机制详解(附pytorch复现)
CBAM(Convolutional Block Attention Module)是一种卷积神经网络模块,旨在通过引入注意力机制来提升网络的表示能力。CBAM包含两个顺序子模块:通道注意力模块和空间注意力模块。通过在深度网络的每个卷积块中自适应地优化中间特征图,CBAM通过强调通道和空间维度上的有意义特征,实现了对关键信息的关注和不必要信息的抑制。研究表明,CBAM在ImageNet-1K数据集上能够显著提高各种基线网络的准确性,通过grad-CAM可视化验证,CBAM增强的网络能够更准确地关注目标对象。
2024-02-29 15:33:37 7015 2
原创 部分卷积与FasterNet模型详解
部分卷积与FasterNet模型详解,为了设计快速神经网络,很多工作都集中于减少浮点运算(FLOPs)的数量上面,但是作者发现FLOPs的减少不一定会带来延迟的类似程度的减少。这源于每秒低浮点运算(FLOPs)的效率低下,而这源于FLOPs的运算符频繁访问内存,尤其是深度卷积,因此,提出了Partial Convolution,通过同时减少冗余计算和内存访问可以更有效地提取空间特征。并以此提出了FasterNet。
2024-02-27 23:52:43 4513 5
原创 从MobileNetv1到MobileNetv3模型详解
MobileNet系列包括V1、V2和V3,专注于轻量级神经网络。MobileNetV1采用深度可分离卷积,MobileNetV2引入倒残差模块,提高准确性。MobileNetV3引入更多设计元素,如可变形卷积和Squeeze-and-Excitation模块,平衡计算效率和准确性。这三个系列在移动设备和嵌入式系统上取得成功,为资源受限的环境提供高效的深度学习解决方案。mobilenetv1,mobilenetv2,mobilenetv3模型的pytorch实现与讲解。
2024-02-17 00:58:43 2078 3
原创 用Python来实现2024年春晚刘谦魔术
用Python来实现2024年春晚刘谦魔术。其实说实话,这种数学魔术在我小时候买的书里就曾经看到过许多。虽然现在了解了其中的数学原理,但当时的惊奇与欢乐感觉依然难以忘怀。刘谦老师在表演中展现了非凡的技艺,不仅仅是数学的巧妙运用,更是他善于抓住观众的好奇心,创造出让人难以置信的奇迹。St
2024-02-10 12:03:41 5236 6
原创 SqueezeNet模型详解
SqueezeNet相对于传统的深层CNN模型,如VGG或ResNet,具有更小的模型大小和更少的参数,但在一些任务上仍能取得不错的性能。这使得SqueezeNet成为在资源受限环境中进行实时图像分类等应用的有力选择。目前我也是在学习的阶段,学习这一部分也是为了积累轻量化模型的方法,因为因为轻量化模型在移动设备、嵌入式系统以及一些资源受限的环境中都具有重要的应用价值。
2024-02-01 02:11:52 1624
原创 GoogLeNet模型详解
GoogLeNet是谷歌工程师设计的深度神经网络结构,于2014年在ImageNet比赛中取得了冠军。它的设计特点在于既有深度,又在横向上拥有“宽度”,并采用了一种名为Inception的核心子网络结构。这个网络名字中的“GoogLeNet”是对LeNet的致敬,LeNet是早期由Yann LeCun设计的卷积神经网络。
2024-01-28 20:02:17 2158
原创 损失函数详细复现(pytorch版本)
损失函数(Loss Function)是在机器学习和深度学习中用于评估模型预测结果与实际标签之间差异的函数。它衡量了模型的性能,即模型对训练样本的预测与实际标签的偏差程度。目标是通过调整模型参数,使损失函数的值最小化,从而提高模型的准确性和泛化能力。
2024-01-25 19:54:13 1091
原创 SE通道注意力机制模块
SE(Squeeze-and-Excitation)模块是一种引入通道注意力机制的方法,旨在让神经网络更加关注对当前任务重要的特征。首先是Squeeze操作,通过聚合跨空间维度(H × W)的特征映射来产生通道描述符,怎么理解呢?假设有一个输入的特征映射,它的维度是H × W × C,对于每个通道,执行全局平均池化操作,具体来说,对于第i个通道,计算该通道上所有空间位置的平均值。通过学习,全连接层得到的通道权重经过一个Sigmoid激活函数,将其范围限制在0到1之间。ResNet与SE-ResNet分类性能
2024-01-23 19:47:55 3135
原创 Haar小波下采样模块
深度卷积神经网络 (DCNN) 通常采用标准的下采样操作,例如最大池化、平均池化和跨步卷积,这可能会导致信息丢失。丢失的信息,如边界和纹理,对于语义分割可能是必不可少的。通过跳过连接到解码器子网(如U-Net、LCU-Net、CENet、LinkNet和RefineNet )。提取具有空间金字塔池化或扩展卷积的多尺度特征图到融合模块中(如DeepLab、PSPNet、PCPLP-Net、BiSenet和ICNet)。下面是我做实验的代码,感兴趣的可以在自己的数据上面进行实验,我觉得用于交通和医学上应该会有比
2024-01-22 23:08:52 5864 13
原创 Pytorch将标签转为One-Hot编码
Pytorch将标签转为One-Hot编码。先进行标签映射,要为每个分类建立一个整数索引,对于每个样本的标签,使用整数索引创建一个长度为类别总数的二进制向量。这个向量的所有元素都是0,除了与整数索引相对应的位置,该位置的值为1。应用于分割网络当中,在保留输入标签张量形状的同时,将独热编码张量的最后一个维度设置为分类数num_classes,确保独热编码张量与输入标签张量具有相同的形状。
2024-01-11 01:55:37 1961
原创 模型的权值平均的原理和Pytorch的实现
模型权值平均是一种用于改善深度神经网络泛化性能的技术。通过对训练过程中不同时间步的模型权值进行平均,可以得到更宽的极值点(optima)并提高模型的泛化能力。首先介绍指数移动平均(EMA)方法,它使用一个衰减系数来平衡当前权值和先前平均权值。其次,介绍了随机加权平均(SWA)方法,它通过将当前权值与先前平均权值进行加权平均来更新权值。最后,介绍了Tanh自适应指数移动EMA算法(T_ADEMA),它使用Tanh函数来调整衰减系数,以更好地适应训练过程中的不同阶段。我还在ResNet18模型上进行了简单的实验
2024-01-10 18:02:02 1577 1
原创 Opencv与PyQt5设计一个摄像头界面
这是我见过很详细的教你如何使用的PyQt5来完成UI界面设计的,专注于UI界面设计。对我而言,这教程就像是一个实用工具,因为我只需要能够显示图像并展示模型推理的结果即可。最近一直在努力改进网络和编写脚本,已经有一段时间没写博客了。因此,我打算重新整理这位博主的内容,争取以更简单的方式呈现。
2024-01-07 19:00:31 2280
原创 Conv2Former:一种transformer风格的卷积特征提取方式
Conv2Former,这是一种新型的卷积神经网络架构,其核心是卷积调制操作,通过卷积和Hadamard乘积简化了自注意力机制。在ImageNet分类、目标检测和语义分割任务中,Conv2Former相对于先前的CNN和Transformer模型表现更优。作者强调了对大内核卷积的更有效利用,如何将提出的卷积调制块与Transformer结合起来,这是将来的研究方向。
2024-01-01 12:12:15 1517
原创 K-means 聚类算法分析
算法简述算法简述K-means算法原理我们假定给定数据样本 X ,包含了 n 个对象,其中每一个对象都具有 m 个维度的属性。而 K-means 算法的目标就是将 n 个对象依据对象间的相似性聚集到指定的 k 个类簇中,每个对象属于且仅属于一个其到类簇中心距离最小的类簇中。对于 K-means 算法,首先需要初始化 k 个聚类中心, 然后通过计算每一个对象到每一个聚类中心的欧式距离,如下式所示:这里的表示第i个对象表示第j 个聚类中心表示第i个对象的第t个属性,
2023-12-29 23:04:12 2558
原创 基于MINIST的手写数字体识别
基于MINIST的手写数字体识别,通过创建MnistNet类,定义了包含两个卷积层和两个全连接层的深度神经网络。这个网络的设计灵感来自于经典的CNN结构,其中卷积层用于提取图像特征,而全连接层则用于将这些特征映射到最终的类别。通过加载保存的模型权重进行验证,我们成功地对随机选择的五张手写字符图像进行了测试,所有测试样本均被正确分类。这表明我们的模型在实际应用中表现良好。在分析混淆矩阵时,发现对角线上的值比其他地方大,说明模型在训练数据集上表现良好,能够正确地预测大多数样本的类别。手写字符识别模型在设计和实现
2023-12-29 22:29:03 2298
原创 基于MPU6050的跌倒检测项目设计
基于MPU6050的跌倒检测项目设计,本设计致力于解决老年人跌倒检测问题,采用了STM32F103C8T6主控制器,搭配蜂鸣器模块、MPU6050三轴加速度传感器、0.96寸OLED显示模块以及ESP8266-01s模块等组件,以实现全面的跌倒监测与通信功能。技术指标方面,STM32F103C8T6主控制器具备高性能、低功耗、丰富的I/O端口和通信端口等特点。MPU6050传感器具备消除敏感度、陀螺仪积分等先进特性,而0.96寸OLED屏为系统提供实时数据显示和系统调试支持。
2023-12-25 17:06:27 6446 20
原创 Histcite下载教程
Histcite下载教程。这里输入3,它会跳转页面到浏览器,这里选择tools下面的Graph Masker。解压后,将savedress_for_test.txt放入TXT文件当中。双击main.exe文件,输入1或2或3。
2023-12-22 12:40:15 1005
原创 VOSviewer安装教程
VOSviewer安装教程。输入java -version 还有 javac,出现下面内容即可表示环境没有问题。他这个就很方便,下载下来后解压就能运行使用了。这个也是需要java环境的,关于这一部分我在。进入下面的网站,安装VOSviewer。中也描述了怎么下载java。
2023-12-22 12:22:17 623
原创 CiteSpace最新安装教程
2024年CiteSpace最新安装教程。CiteSpace是一种用于分析学术文献的可视化工具,旨在帮助研究人员理解学术领域的演化、发现研究热点和趋势。CiteSpace通过生成时空演化图,可视化学术文献的发展历程。这有助于用户了解某一领域的研究重点是如何随时间演变的。该工具能够提取文献中的关键词并分析它们之间的关联关系。这有助于识别某一主题或领域内的关键概念。CiteSpace能够识别文献之间的共被引用关系,揭示研究领域内的经典作品和重要学术观点。
2023-12-22 12:11:33 2321 1
原创 Altium Designer20软件简单的安装与使用教程
在我原先的电脑上是安装的有AD20的,因为要完成课程设计,所以今天就正好记录一下AD20的安装过程。这里我是通过软件管家获取的安装包。右键,选择管理员身份运行文件。选择我们的母语,并接受许可协议。更改文件存放位置。接下来就是一路next就行了。4暂时不立即运行AD。复制此文件,粘贴到我们的安装路径当中。然后打开Altium Designer任意选择一个都能够使用。然后关闭重启。安装成功!
2023-12-20 23:15:28 3202
原创 Keil5创建基于标准库的工程
基于江协科技的讲解,写的关于keil5新建工程的文字教程。再新建一个Library文件夹,在大概是下面这个路径中,将src和inc里面的内容全部复制到Library中。但目前这个库函数还无法使用,这里就需要使用到配置文件,进入下面的目录复制到User文件夹中。现在md.s文件,其余全部的.s和.h文件都有添加进来。外部路径也能看到这个文件。
2023-12-04 16:49:12 886
原创 keil5软件安装
LIC Added Successfully表示注册成功,并且时间可以用到2032年。直接Next就完事了,另外一种是在线安装的方式,这里因为我不需要,这里直接跳过。右键File,选择License Management,复制CID。通过江科大视频讲解安装的keil5,本篇根据视频步骤写的文字笔记。由于后面需要做的是F1系列的,这里安装这个就行了。这里双击里面的exe文件,这样安装就算是完成了。这里我们选择安装JLINK驱动。JLINK也是常见的调试器。直接双击运行安装即可。
2023-11-15 13:53:42 2830
原创 网络训练时参数解析的三种方式(yaml、argparser、class属性)
stc = {"log_dir": "存放训练模型.pth的路径","Cuda": "是否使用Cuda,如果没有GPU,可以使用CUP,i.e: Cuda=False","EPOCHS": "训练的轮次,这里默认就跑100轮","batch_size": "批量大小,一般为1,2,4","warm": "控制学习率的'热身'或'预热'过程"实例化类对象:args = parser_args()这种方式相对简洁,易于理解,并且在实例化类对象后可以直接访问这些参数。
2023-11-12 17:23:32 440 1
原创 学习率范围测试(LR Finder)脚本
深度学习中的学习率是模型训练中至关重要的超参数之一。合适的学习率可以加速模型的收敛,提高训练效率,而不恰当的学习率可能导致训练过慢或者无法收敛。为了找到合适的学习率,LR Finder成为了一种强大的工具。学习率范围测试(LR Finder)是一种通过逐渐增加学习率来观察模型在不同学习率下的性能变化的方法。这个过程可以帮助我们找到一个合适的初始学习率,有助于训练过程的稳定和加速。在本文中,我们将深入探讨 LR Finder 的原理、实现和应用,以及如何在实际的分类项目中充分利用这个强大的工具。
2023-11-12 15:57:25 354
基于FPGA的DDS信号仿真
2024-07-02
基于opencv的物体计数与表单信息系统.docx
2023-08-21
用于FPGA的学习资料
2023-06-07
基于matlab的食堂优化报告
2022-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人