- 博客(233)
- 收藏
- 关注
原创 FPGA图像处理实战:图像裁剪技术
在图像处理领域,图像裁剪是一项基础且关键的技术,它允许我们从原始图像中裁剪出感兴趣的区域,同时丢弃不相关的部分。FPGA在图像处理中的应用,特别是在图像裁剪方面,展现出了其独特的优势。图像裁剪的基本原理是根据一定的规则或条件确定裁剪区域,然后将该区域内的像素保留下来,将区域外的像素丢弃。在FPGA上实现时,需要计算每个像素的坐标,并根据裁剪图像的起始点、宽度和高度截取指定矩形范围内的图像。请注意,由于FPGA编程的复杂性和特定性,这里的代码主要是为了说明原理,并不包含完整的硬件描述。
2024-11-03 21:59:30 106
原创 提高Boost电路的性能的优化策略
综上所述,通过拓扑结构优化、元件选择与优化、控制策略优化、保护机制设计、热管理优化以及智能化与网络化等多个方面的综合优化策略可以显著提高Boost电路的性能和稳定性满足各种复杂应用场景的需求。MOS管:作为开关元件,MOS管的性能直接影响电路的效率和稳定性。闭环控制:采用闭环控制策略可以实时监测输出电压和电流等参数,并根据设定值进行调整,以实现对输出电压的精确控制。集成化设计:将多个功能模块集成在一个芯片上,可以减少元件数量和连接复杂度,提高系统的可靠性和可维护性。
2024-11-03 16:54:26 167
原创 适用FPGA的小型神经网络:加速边缘智能的新篇章
同时,神经网络模型的优化和量化过程也需要精细的调试和验证。为了解决这些问题,研究人员和工程师们正在不断探索新的算法和技术,如高层次综合(HLS)、自动量化工具以及基于硬件的深度学习加速器等,以简化FPGA上神经网络的实现过程并提高性能。通过优化网络结构和参数、利用FPGA的并行计算能力以及探索新的算法和技术,我们可以实现高效、低功耗的神经网络加速器,为各种边缘设备提供强大的智能支持。随着技术的不断进步和应用场景的不断拓展,我们有理由相信,FPGA上的小型神经网络将在未来的人工智能领域发挥更加重要的作用。
2024-11-02 16:09:09 253
原创 多核异构模式下有管理的共享内存设计方法
通过采用去中心化的共享内存管理、缓存一致性协议、核间通信机制和同步与互斥机制等技术手段,我们可以实现各运行区之间的对等通信和高效的数据同步。随着技术的不断发展和应用场景的不断拓展,多核异构模式下有管理的共享内存设计方法将会得到更广泛的应用和推广。通过采用有管理的共享内存设计方法和核间通信机制,这些核心之间可以实现高效的数据交换和同步,从而满足工业自动化系统对高实时性和高性能的需求。由于不同类型的处理器核心具有不同的内存访问特性和计算能力,如何实现高效的内存共享和数据同步成为了一个亟待解决的问题。
2024-11-02 15:48:51 328
原创 功率因数对输出电压纹波的影响
例如,低功率因数会导致开关管的导通和关断时间发生变化,从而影响输出电压的稳定性,增大输出电压纹波。开关电源的输出电压是通过反馈电路进行调节的,因此,反馈电路的稳定性是决定开关电源输出电压在工作范围内的变化和变化大小的重要因素。如何降低开关电源纹波开关电源的纹波是指电源输出直流电中所包含的交流成分,通常以直流电的峰值值为100%,将交流成分的峰值按百分比表示,就是纹波的峰值值。通过合理的电路设计、选用高质量的组件和元器件,可以使开关电源在输出电压稳定的同时,有效地降低电源纹波,确保工作的可靠性和稳定性。
2024-11-01 15:14:07 298
原创 Matlab如何创建带标记的线图
例如,plot(x,y,'Marker','o') 将绘制一个带圆形标记的线条。通过在调用 plot 函数时包含线条设定输入参数,在每个数据点处显示一个标记。将 MarkerIndices 属性重置为默认值,即从 1 到数据点数量之间的所有索引值组成的一个向量。将此属性设置为要显示标记的数据点的索引。从第一个数据点开始,每隔十个数据点显示一个标记。创建一个线图,并每隔五个数据点显示大的方形标记。将 Marker 属性指定为一个名称-值对组,例如 plot(x,y,'Marker','s')。
2024-01-08 10:24:26 885
转载 机器学习——朴素贝叶斯分类器
降低独立性假设的算法, 例如,TAN(Tree Augmented Bayes Network)算法、贝叶斯网络分类器(Bayes Network Classifier,BNC)。贝叶斯分类是一类分类算法的总称,这类算法均已贝叶斯定理为基础,因此统称为贝叶斯分类。在贝叶斯分类器中,常用朴素贝叶斯,就类似于看见黑人,大多会认为来自非洲。事件A在事件B(发生)的条件下的概率,与事件B在事件A(发生)的条件下的概率是不一样的,但他们有确定的关系,贝叶斯定理就是对在这种关系的陈述。,a为x的一个特征属性。
2024-01-07 14:21:20 114
转载 OFDM通信系统的MATLAB仿真
现在也准备改变一下观念,尽量把自己学过的东西归纳整理,以随笔的形式发出来,可能有些地方我还不能理解作者的做法,我也会记录出来,懂的地方解释清楚,不懂的地方也标记清楚,同时在之后的不断学习和总结中补上之前挖的坑,强迫症写文章真的是太难了~哭。也可以直接用官方函数,它会根据输入的信号向量xt和snr,自动计算出要加的噪声功率并且加到信号上输出,信号为实数或复数都可以(我特意去看了它的函数内部实现,发现如果输入信号是复数的话,噪声功率也会特意除以2,也应证了我上面的说法)。,其中a和b都是一个确定的数。
2024-01-04 16:49:50 226
转载 自用纯C语言实现任务调度(可用于STM32、C51等单片机)
这个任务调度模块的实现是形成于毕设项目中的,用在STM32中,断断续续跨度2个月实现了一些基本功能,可能后面再做其他项目时会一点点完善起来,也会多学习相关知识来强化模块的实用性和高效性,毕竟用自己自主实现出来的功能还是蛮舒心的。整体实现说难不难,说简单不简单,但也是我第一次尝试这种偏向系统级应用的代码,而且都没有参照任何其他的资料和代码,完全以自己的对任务的理解和具体项目的需求来一点点实现,希望后面会把这个调度的代码进一步完善成一个通用型的调度方式,也方便后面项目的使用了。
2024-01-04 10:49:16 676
原创 matlab中滤波函数
其功能是:对图像I中用二值掩模BW选中的区域作函数运算fun,其中fun是描述函数运算的字符串,参数为P1、P2、…返回图像J在选中区域的像素为图像I经fun运算的结果,其余部分的像素值为I的原始值。由domain中非0元素指定邻域的排序集中的第order个元素代替X中的每个元素。Domain是一个仅包括0和1的矩阵,1仅定义滤波运算的邻域。S与domain一样大,用与domain的非0值相应的S的值作为附加补偿。其功能是:使用滤波器h对图像I中用二值掩模BW选中的区域滤波。滤波前还有估计附加噪声的能量。
2024-01-02 08:56:45 660
转载 MATLAB三维绘图-绘制等值线图
一般情况下如果想看原来图像和等值线的对比图,在函数后面加字母c即可,如meshc查看mesh函数绘制图形的等值图和原图的对比。
2024-01-01 11:13:48 2394
转载 Matlab 聚类分析
聚类与分类的不同就是,聚类所要求的划分的类是未知的。计算深度会影响不一致系数的计算结果,计算深度比较大时,不一致系数的增量能反映出当前步引入的新样品与该类中心(涉及该类中所有样品)的距离远近,计算深度比较小时,不一致系数的增量仅能反映出当前步引入的新样品与上几步聚类中涉及的样品的中心的距离远近。方法一:直接聚类,利用clusterdata函数对样本数据进行一次聚类,其缺点为可供用户选择的面较窄,不能更改距离的计算方法,该方法的使用者无需了解聚类的原理和过程,但是聚类效果受限制。cophenet函数。
2023-12-30 13:28:53 326
原创 Matlab 计算大数的阶乘
但我竟有幸发现了藏在MATLAB里的一个秘密,利用limit('x+5525...6816 mod 105...459',x,0),轻松的计算了4760位数与2332位数的大数的模(不足一秒!这些只是初步的尝试,我的解释是:据说MATLAB的符号运算是基于MAPLE核心的,可能在继承符号运算的同时也继承了这些基本的运算能力。我算领教了Matlab强大的功能,我原以为Mathematic是不可替代的,现在看来,除了显示方式与计算方式的不同,Matlab始终是完美的。用x^1000的1000阶导数求的。
2023-12-29 10:49:50 494
转载 MATLAB实现图像的代数运算
图像的代数运算在图像处理中有着广泛的应用,它除了可以实现自身所需的算数操作,还能为许多复杂的图像处理提供准备。例如,图像减法就可以用来检测同一场景或物体生成的两幅或多副图像的误差。可以使用MATLAB基本算数符(﹢、﹣、·、/)来执行图像的算数操作,但在此之前必须将图像转换为适合进行基本操作的双精度类型。在MATLAB中,图像运算函数无需再进行数据类型之间的转换,这些函数能够接受uint8和uint16的数据,并且返回相同格式的图像结果。下表是一个常见的MATLAB图像运算函数集合。
2023-12-29 09:08:52 521
转载 机器人中的轨迹规划(Trajectory Planning )
高次多项式轨迹曲线的计算量比较大,我们也可以考虑用直线段来构造简单的轨迹曲线,但是在不同直线段的交接处会发生速度跳变的情况(位移曲线不光滑),如果用抛物线(parabolic blend)进行拼接就可以得到光滑的轨迹。曲线关于时间中点$t_h$对称,由于这种轨迹的速度曲线是梯形的,因此也称为梯形速度(trapezoidal velocity trajectory)曲线,在电机驱动器中被广泛使用。对于大多数实际伺服系统,电机的最大速度一般是固定的,因此希望速度曲线在最大速度的时间尽可能长。
2023-12-28 16:43:53 357
原创 matlab图像格式的转换
不是在源图像复制,是在rgbf上复制,复制完rgbf是个size(f,1),size(f,2),3的三维矩阵。但是从灰度图转换为rgb有点费事了,我也很奇怪这一点,去网上查了好多,貌似技术控们总是喜欢用技术含量高的东西,很多方法都是用colormap完成的,这东西很好,但是我不能在10分钟搞明白,所以我又找到了一个更简单的方法--把二维的复制三次让他成为三维的不就行了?因为我的目的不是将灰度图复原成彩色图,而只是在灰度图上用一些色彩标记一些特定的区域而已,目的很简单,实现起来也很容易。
2023-12-28 11:02:43 571
转载 基于Simulink的SSB信号调制与解调仿真
在做滤波器设计时,最先使用的巴特沃斯滤波器,由于过渡带比较宽,在进行边带滤波时,总会残留一些边带,所以最后选择了边带窄的椭圆滤波器,实现了比较好的边带滤波效果。按照书本上的原理,加性噪声为高斯白噪声,然后经过BPF后进行相干解调,但由于版本问题,没有高斯白噪声模块,所以我这里就直接用了带限白噪声,相当于高斯白噪声通过BPF后的带限白噪声,然后进行相干解调,解调出来的信号,与基带信号相比,会有不少的畸变,当然因为实际情况更为复杂,所以我的仿真模块一些参数的设计并不能满足实际,所以这是我需要提升的。
2023-12-27 22:17:25 2766
转载 SQR逐次超松弛迭代法(matlab代码实现)
SQR迭代法是对GS迭代法的又一改进,在每一解向量分量处取其先前分量与GS迭代法算出的分量值的加权平均。其中w松弛因子决定了加权的系数,若SQR方法收敛,则w的取值范围为0~2。
2023-12-27 17:25:50 590
转载 数学建模值TOPSIS法及代码
上篇文章谈到的层次分析法是有局限性的。比如评价的决策层不能太多,太多的话n会很大,判断矩阵和一致性矩阵差异可能会很大。其次,其无法利用原始的数据来做精确的评价。这个时候就体现出TOPSIS法的好处了。它在原始数据上,充分反映各个评价方案之间的差距。
2023-12-27 15:12:57 162
原创 【无标题】
我们可以用的思路去画一个圆,或者一个椭圆。x,y是圆心所在坐标,r是半径,nseg是边缘段数(越高,边缘越顺滑,建议100以上),S是plot的样式设置字符。
2023-12-27 10:56:26 325
转载 Matlab-绘制柱状图
图中有三种颜色的方条:蓝色,绿色和红色,分别对应Y中的第1,2,3列元素。Y最大为11,最小为1,故而将区间[1,11]均分为10分,分别为[1, 2], (2,3], (3,4], (4,5], (5,6], (6,7], (7,8], (8,9], (9,10], (10,11].Y最大为11,最小为1,故而将区间[1,11]均分为10分,分别为[1, 2], (2,3], (3,4], (4,5], (5,6], (6,7], (7,8], (8,9], (9,10], (10,11].
2023-12-27 09:59:16 2506
原创 matlab如何保存figure中去掉白边的图片
一般的用plot函数画的图像只需要set(gca,'position',[0 0 1 1])就可以达到目的,但是imshow的函数里使用了axis image,保持了图像的比例,所以必须用axis normal改回来.才会伸缩图像填充这个figure区域.否则只能手动调整图像的大小,比例合适时空白也会消失。如果是plot,或者newplot,直接看“三”。输出图片成可直接调入的灰度图,设置输出图片空白边距,以及调整图片大小,纵横比。三、使图片填充整个figure,也就是成规定的形状。
2023-12-27 09:49:05 1836
转载 PCA降维
設有m筆資料, 每筆資料皆為n維, 如此可將他們視為一個mxn matrix。若資料的維度太大時, 可能不利於分析, 例如這m筆資料用作機器學習。PCA的想法是算出這mxn matrix的斜方差矩陣, 此矩陣大小為nxn, 計算此矩陣n個特徵值(eigen value)及其對應的特徵向量(eigen vector), 依eigen value大小由小到大排列其對應的eigen vector, 取出前幾個eigen vector假設為k個(k< n), 如此製造出一個矩陣nxk。
2023-12-25 08:30:49 33
转载 利用CORDIC算法计算三角函数
这里主要先介绍如何利用CORDIC算法计算固定角度\(\phi\)的\(cos(\phi)\)、\(sin(\phi)\)值。一般利用MATLAB计算三角函数时,用\(cos\)举例,只需要输入相应的\(cos(\phi)\)便自动计算出来了。但是如果是硬件处理或者没有那么方便的函数时,该如何计算\(cos(\phi)\)的值呢?有一种最傻瓜的方式是用rom存储\(0^o\)到\(90^o\)所有的余弦值,然后用查表的方法计算,但随着精度要求的提升,需要存储的值会越来越多,这是不合适的。
2023-12-24 17:13:05 536
转载 MATLAB中的polyfit函数的使用方法
在MATLAB中polyfit函数是用来进行多项式拟合的。其数学原理是基于最小二乘法进行拟合的。具体使用语法是:% 其中x,y表示需要拟合的坐标点,大小需要一样;n表示多项式拟合的次数。% 返回值p表示多项式拟合的系数,系数从高到低排列。
2023-12-23 14:13:26 1154
原创 多线程编程同步:互斥锁和条件变量
对于消费者线程来说,每次消费一条数据都要取询问数据是否准备好,若数据还在准备,就要不停的询问。不仅要考虑生产者线程之间的同步,而且还要考虑生产者线程和消费者线程之间的同步。= i,意味着消费者线程消费数据时检测到生产者线程之间生产数据出错(正确的数据要求:buff[i] == i)。例子说明:将生产者相关的变量和互斥锁组合到一个结构体中,把计数器、条件变量和互斥锁组合到另一个结构体中。,以保证任何时刻只有一个线程在执行其中的代码,或者任何时刻只有一个进程在执行其中的代码。,则线程投入睡眠并等待唤醒信号。
2023-12-23 12:59:19 1037
原创 边缘检测matlab算法
一阶微分边缘算子又称梯度边缘算子,它是利用图像在边缘处的阶跃性,及图像梯度在边缘去得极大值得特征性进行边缘检测。其中,in_image 是灰度图像,threshold是阈值,direction是方向。优点:实现简单、运算速度快缺点:易受噪音影响,主要原因其一是实际边缘灰度与理想边缘灰度存在差异,有可能检测出多个边缘;其二是算子尺度固定不利于检测出不同尺度的边缘。其中,in_image 是灰度图像,threshold是阈值。
2023-12-22 23:23:16 1212
原创 Matlab指针
由上面所述内容可看出,handle类型对象在赋值给其他变量时,不会对原始对象进行复制。此外,在函数中对handle类型对象做修改后,也不需在将其作为返回参数输出。也就是说,在使用handle类型对象时,我们可以认为所操作的就是一个指针,其指向的内容就是构造函数初始化的实例。第一印象貌似是Matlab中不存在指针,所有变量与函数的赋值都是按值传递的,不会对参数进行修改。这句代码实现了两个功能,将类实例化了一个对象(object),并将该对象的句柄赋给变量。对实例化的对象进行的操作直接作用在。
2023-12-22 12:16:17 415
原创 在matlab中实现PCA算法
SCORE是对主成分的打分,也就是说原X矩阵在主成分空间的表示。每行对应样本观测值,每列对应一个主成份(变量),它的行和列的数目和X的行列数目相同。(相当于上面程序中的S)COEFF是X矩阵所对应的协方差阵的所有特征向量组成的矩阵,即变换矩阵或称投影矩阵,每列对应一个特征值的特征向量,列的排列顺序是按特征值的大小递减排序。latent是一个向量,它是X所对应的协方差矩阵的特征值向量。计算PCA的时候,如果直接有现成的协方差阵,用函数pcacov来计算。相当于上面程序中的V,它表示的是主成分的系数。
2023-12-22 09:05:50 1112
原创 matlab中如何将视频保存成图像
程序运行结束后,会在xxx文件夹中生成fnum/step张图片,每一张图片对应视频中相应的一帧。利用MATLAB将视频的每一帧保存成一幅图像,并自动命名。本文方法简单,容易学习。接下来,我们要写一个循环来将视频的每一帧保存成.png格式的图片。[2] matlab帮助文档。
2023-12-22 08:58:31 905
原创 灰色预测模型及MATLAB实例
灰色预测则是介于黑、白两者之间的一种预测,一部分已知,一部分未知,系统因素间有不确定的关系。其核心体系是灰色模型(Grey Model,GM),即对原始数据做累加生成(或者累减、均值等方法)生成近似的指数规律在进行建模的方法。(也就是原始序列中,后一项依次减去前一项的值,例如,[x(2)-x(1),x(3-x(2),...,x(n)-x(n-1))]。下面将主要从三方面进行大致讲解,灰色预测概念及原理、灰色预测的分类及求解步骤、灰色预测的实例讲解。(这是对累加序列"(前一项+后一项)/2"得出的结果。
2023-12-21 13:50:30 1473
原创 Matlab中rand(‘state‘,sum(clock))解析
但这个算法有一个问题是,如果计算机太快的话,仍然会生成相同随机数。),为简便起见,个人推荐采用新版Matlab中rng函数语法,即rand('twister',mod(floor(now*8640000),2^31-1)) ,这样可以产生的不同的随机数。seed表示采用v4版本的随机数产生器,state是v5版本的随机数产生器,最后的twister用的则是Mersenne Twister随机数产生器。在随机算法中,通常需要使用随机数,如何产生随机数,并尽可能 不要重复出现的,接近真正意义上的随机数呢?
2023-12-19 19:49:23 1013
KTC MP44010+HR100A+AP3041(K-PL-LO1)二合一电源方案原理图.rar
2024-09-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人