登录
首页 » Others » opencv2.4.9源码分析——SIFT

opencv2.4.9源码分析——SIFT

于 2020-06-25 发布
0 410
下载积分: 1 下载次数: 1

代码说明:

详细介绍SIFT算法,opencv的SIFT源码分析,以及应用实例SIFT算法进行了改进,通过对两个相邻高斯尺度空间的图像相减,得到个DoG(高斯差分,Difference of gaussians)的响应值图像Dx,y,σ)来近似LoGD(x,y, o)=(G(x,y, ko)-G(x,y,o)O1(x,y)=L(x,y, ko)-L(x,y,a(5)其中,k为两个相邻尺度空间倍数的常数。可以证明DoG是对LoG的近似表示,并且用DoG代替LoG并不影响对图像斑点位賀的检测。而且用DoG近似LoG可以实现下列好处:第一是LoG需要使用两个方向的高斯二阶微分卷积核,而DoG直接使用晑斯卷积核,省去了卷积核生成的运算量;第二是DoG保留了个高斯尺度空间的图像,因此在生成某一空间尺度的特征时,可以直接使用公式1(或公式3)产生的尺度空间图像,而无需重新再次生成该尺度的图像:第三是DoG具有与LoG相同的性质,即稳定性好、抗干扰能力强。为了在连续的尺度下检测图像的特征点,需要建立DoG金宇塔,而DoG金宁塔的建立又离不开髙斯金字塔的建立,如下图所小,左侧为高斯金字塔,右侧为DoG金字塔:(nextoctave)Scale(firstoctave)Difference ofaussianGaussian(DOG)图1高斯金字塔和DoG金字塔高斯金字塔共分O组( Octave),每组又分S层( Layer)。组内各层图像的分辨率是相同的,即长和宽相同,但尺度逐渐增加,即越往塔顶图像越模糊。而下·组的图像是由上组图像按照隔点降采样得到的,即图像的长和宽分别减半。高斯金字塔的组数O是由输入图像的分辨牽得到的,因为要进行隔点降采样,所以在执行降釆样生成高斯金字塔时,一直到不能降采样为止,但图像太小又亳无意义,因此具体的公式为:0=| log2 min(x,y)-2」(6)其中,X和Y分别为输入图像的长和宽,L」衣示向下取整。金字塔的层数S为:(7)LoWe建议s为3。需要注意的是,除了公式7中的第一个字母是大写的S外,后面出现的都是小写的s髙斯金字塔的创建是这样的:设输入图像的尺度为0.5,由该图像得到高斯金字塔的第0组的第0层图像,它的尺度为m,我们称m为基准层尺度,再由第0层得到第1层,它的尺度为ko,第2层的尺度为k2o,以此类推。这里的k为:(8)我们以s=3为例,第0组的6(s+3=6)幅图像的尺度分别为:0,ko0,k2∞,k3o0,k∞o,k5o(9)写成更一般的公式为:d=or∈[0,,s+2](10)第0组构建完成后,再构建第1组。第1组的第0层图像是由第0组的倒数第3层图像经过隔点采样得到的。由公式10可以得到,第0组的倒数第3层图像的尺度为k∞o,k的值代入公式8,得到了该层图像的尺度正好为2∞,因此第1组的第0层图像的尺度仍然是2∞。但由于第1组图像是由第0组图像经隔点降采样得到的,因此相对于第1组图像的分辨率来说,第θ层图像的尺度为ω,即尺度为2σ是相对于输入图像的分辨率来说的,而尺度为∞是相对丁该组图像的分辨率来说的。这也就是为什么我们称0为基准层尺度的原因(它是每组图像的基准层尺度)。第1组其他层图像的生成与第0组的相同。因此可以看出,第1组各层图像的尺度相对于该组分辨率来说仍然满足公式10。这样做的好处就是编程的效率会提高,并且也保证∫高斯金字塔尺度空间的连续性。而之所以会出现这样的结果,是因为在参数选择上同吋满足公式7、公式8以及对上·组倒数第3层图像降釆样这三个条件的原因。那么第1组各层图像相对」输入图像来说,它们的尺度为:=2k00r∈[0,,S-2该公式与公式10相比较可以看出,第1组各层图像的尺度比第0组相对应层图像的尺度人了一倍。高斯金字塔的其他组的构建以此类推,不再赘述。下面给出相对于输入图像的各层图像的尺度公式:o,)=2k∞O∈[0,O-1l,r∈[0,,+2(12)其中,O表示组的坐标,r表示层的坐标,a为基准层尺度。k用公式8代入,得:2O∈[0,…0-1],r∈[0,…,s+2](13)在高斯金字塔中,第0组第∂层的图像是输入图像经髙斯模糊后的结果,模糊后的图像的高频部分必然会减少,因比为了最大程度的保留原图的信息量,LoWe建议在创建尺度空间前首先对输入图像的长宽扩展一倍,这样就形成了高斯金字塔的第-1组。设输入图像的尺度为0.5,那么相对于输入图像,分辨率护人一倍后的尺度应为1,由该图像依次进行高斯平滑处理得到第-1组的各个层的尺度图像,方法与其他组的一样。由于增加」第-1组,因此公式13重新写为(0∈[-1,0,…,0-1],r∈[0,…,s+2](14)DoG金字塔是由高斯金字塔得到的,即高斯金宁塔组内相邻两层图像相减得到DoG金字塔。如髙斯金字塔的第0组的筼0层和第1层相减得到DoG金字塔的第0组的箅0层图像,高斯金字塔的第0组的第1层和第2层相减得到υσG金字塔的第θ组的第1层图像以此类推。需要注意的是,高斯金字塔的组内相邻两层相减,而两组间的各层是不能相减的因此高斯金字塔每组有s+3层图像,而DoG金宁塔每组则有s+2层图像。极值点的搜索是在DoG金字塔内进行的,这些极值点就是候选的特征点。在搜索之前,我们需要在DoG金字塔内剔除那些像素值过小的点,因为这些像素具有较低的对比度,它们肯定不是稳定的特征点。极值点的搜索不仅需要在它所在尺度空间图像的邻域内进行,还需要在它的相邻尺度空间图像内进行,如图2所示。每个像素在它的尺度图像中一共有8个相邻点,而在它的下一个相邻尺度图像和上个相邻尺度图像还各有9个相鸰点(图2中绿色标注的像素),也就是说,该点是在3×3×3的立方体内被包围着,因此该点在DoG金字塔内一共有26个相邻点需要比较,来判断其是否为极大值或极小值。这里所说的相邻尺度图像指的是在同个组内,因此在DoG金字塔内,每一个组的第0层和最后一层各只有一个相邻尺度图像,所以在搜索极值点时无需在这两层尺度图像内进行,从而使极值点的搜索就只在每组的中间s层尺度图像内进行。搜索的过程是这样的:从每组的第1层开始,以第1层为当前层,对第1层的DoG图像中的每个点取·个3×3×3的立方体,立方体上下层分别为第0层和第2层。这样,搜索得到的极值点既有位置坐标(该点所在图像的空间坐标),又有尺度空间坐标(该点所在层的尺度)。当第1层搜索完成后,再以第2层为当前层,其过程与第1层的搜索类似,以此类推。Scale图2DoG中极值点的搜索2、特征点的定位通过上一步,我们得到了极值点,但这些极值点还仅仅是候选的特征点,因为它们还存在一些不确定的因素。首先是极值点的搜索是在离散空间内进行的,并且这些离散空间还是经过不断的降采样得到的。如果把采样点拟合成由面后我们会发现,原先的极值点并不是真正的极值点,也就是离散空间的极值点并不是连续空间的极值点。在这里,我们是需要精确定位特征点的位置和尺度的,也就是要达到亚像素精度,因此必须进行拟合处。我们使用泰勒级数展开式作为拟合函数。如上所述,极值点是·个三维矢量,即它包括极值点所在的尺度,以及它的尺度图像坐标,即=(x,y,o),因此我们需要三维函数的泰勒级数展开式,设我们在=(x0,y,)处进行泰勒级数展开,则它的矩阵形式为:602f02f02fdxax day dao02f02f02faxdy ayay ayaallly-yol2f02f02fOrdo aydo dodo(15)公式15为舍去高阶项的形式,而它的矢量表示形式为f(X)=f(X0)+o¥(X-x0)+7(x-x0)a F(X-Xo(16)在这里表示离散空间卜的插值中心(在离散空问内也就是采样点)坐标,表示拟合后连续空间下的插值点坐标,设ⅹ=Ⅹ-Xn,则X表示相对于插值中心,插值后的偏移量。因此公式16绎过变量变换后,又可写成:f(x)=f(X0)+yX+XTⅩX20X2(17)对上式求导,得af (x a02f0ox ox+2 ax2+axa80f.02fXaxaX2(18)让公式17的导数为0,即公式18为0,就可得到极值点下的相对于插值中心的偏移量:aX2 ax(19)把公式19得到的极值点带入公式17中,就得到了该极值点下的极值Tf(X)=f(X0)+af02f10f)a2f/02f-1of2 8X2 0X/0X28X2dXf(X0)+H打×1ora2Ta2f-ra2fa2f-1 af2 dx dx2dx2dx2 dXa f02f-10f∫(X0)+dF×f7a22 ax ax2 axaflf(Xo)+xx+2 0X(-X)18Ff(X0)+2 aX(20)对于公式19所求得的偏移量如果大」0.5(只要x、y和σ任意一个量大于0.5),则表明插值点已偏移到了它的临近的插值中心,所以必须改变当前的位置,使其为它所偏移到的插值中心处,然后在新的位置上重新进行泰勒级数插值拟合,直到偏移量小于0.5为止(x、y和σ都小于0.5),这是一个迭代的工程。当然,为了避免无限次的迭代,我们还需要设置个最人迭代次数,在达到了迭代次数但仍然没有满足偏移量小于0.5的情况下,该极值点就要被剔除掉。另外,如果由公式20所得到的极值f(X过小,即f(X1,则Tr(H)2(a+β)2(+β)2(y+1)2Det(h)2(25)上式的结果只与两个特征值的比例有关,而与具体的特征值无关。我们知道,当某个像系的矩阵的两个特征值相差越大,即γ很大,则该像素越有可能是边缘。对于公式25,当两个特征值相等时,等式的值最小,随着γ的增加,等式的值也增加。所以,要想检查主曲率的比值是否小于某一阈值y,只要检査下式是否成立即可:Tr(H)(y+1)Det(h)(26)对于不满足上式的极值点就不是特征点,因此应该把它们剔除掉。Lowe给出γ为10在上面的运算中,需要用到有限差分法求偏导,在这里我们给出具体的公式。为方便起见我们以图像为例只给出二元函数的实例。与二元函数类似,三元函数的偏导可以很容易的得到设f(i,是ν轴为i、x轴为j的图像像素值,则在(j点处的一阶、二阶及二阶混合偏导af f(i, j+1)-f(i, j0ff(i+1,j)-f(-1,ax2h2h(27)ff(+1)+f(-1)-2f(,j)a2ff(+1,j+f(-1,j)-2f(i,j)hh(28)2ff(-1,j-1)+f(i+1,j+1)-f(i-1,+1)-f(i+1,-1)dx d(29)由丁在图像中,相邻像素之问的间隔都是1,所以这里的h3、方向角度的确定经过上面两个步骤,一幅图像的特征点就可以完全找到,而且这些特征点是具有尺度不变性。但为了实现旋转不变性,还需要为特征点分配一个方向角度,也就是需要根据检测到的特征点所在的高斯尺度图像的局部结构求得一个方向基准。该高斯尺度图像的尺度a是已知的,并且该尺度是相对于高斯金字塔所在组的基准层的尺度,也就是公式10所表示的尺度。而所谓局部结构指的是在高斯尺度图像中以特征点为中心,以r为半径的区域内计算所有像素梯度的幅角和幅值,半径r为(30)其中a就是上面提到的相对于所在组的基准层的高斯尺度图像的尺度。像素梯度的幅值和幅角的计算公式为:m(xy)=√(x+1,y)-L(x-1,y)2+(L(x,y+1),L(x,y-1)2(31)L(x,y+1)-L(x,y-1)o(x, y)=arctanL(x+1,y)-L(x-1,y)(32)因为在以〃为半径的区域内的像素梯度幅值对圆心处的特征点的贡献是不同的,因此还需要对幅值进行加权处理,这里采用的是高斯加权,该高斯函数的方差Cm为:Om=1.50(33)其中,公式中的σ也就是公式30中的σ在完成特征点邻域范围内的梯度计算后,还要应用梯度方向直方图来统计邻域內内像素的梯度方向所对应的幅值大小。具体的做法是,把360°分为36个柱,则每10°为一个柱,即0°~9为第1柱,10°~19为第2柱,以此类推。在以r为半径的区域内,把那些梯度方向在0~9°范围内的像索找出来,把它们的加权后的梯度嘔值相加在一起,作为第1柱的柱高;求第2柱以及其他柱的高度的方法相同,不再赘述。为了防止某个梯度方向角度因受到噪声的干扰而突变,我们还需要对梯度方向直方图进行平滑处理。 Opencv2.4.9所使用的平滑公式为:H()~h(-2)+h(+2)4×(h(-1)+h(+1)),6×h()i=0...15161616(34)其中h和H分别表示平滑前和平滑后的直方图。由于角度是循环的,即0°=360°,如果出现h(),j超出了(0,…,15)的范围,那么可以通过圆周循环的方法找到它所对应的、在0°~360°之间的值,如h(-1)-h(15)这样,直方图的主峰值,即最高的那个柱体所代表的方向就是该特征点处邻域范围内图像棁度的主方向,也就是该特征点的上方向。由于柱体所代表的角度只是一个范围,如第1柱的角度为0~9°,因此还需要对离散的梯度方向直方图进行插值拟合处理,以得到更精确的方向角度值。例如我们凵经得到了第i柱所代表的方向为特征点的主方向,则拟合公式为:H(i-1)-H(i+1)B=i+=0,…152×(H(-1)+H(i+1)-2×H()(35)O=360-10xB(36)其中,H为由公式34得到的直方图,角度6的单位是度。同样的,公式35和公式36也存在着公式34所遇到的角度问题,处理的方法同样还是利用角度的圆周循环。每个特征点除了必须分配一个主方向外,还可能有一个或更多个辅方冋同,增加辅方向的目的是为了增强图像匹配的鲁棒性。辅方向的定义是,当存在另个柱体高度大于主方向柱体高度的80%时,则该柱体所代表的方向角度就是该特征点的辅方向。在第2步中,我们实现∫用两个信息量来表小一个特征点,即位置和尺度。那么经过上面的计算,我们对特征点的表示形式又增加了个信息量一一方向,即(x,y,o,6)。如果某个特征点还有一个辅方向,则这个特征点就要用两个值来表示——(x,y,,B1)和(x,y,,02),其中O1表示主方向,O2表示辅方向,而其他的变量x,y,不变。4、特征点描述符生成

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 用MATLAB设计最优控制系统(word文档)
    最优控制是在一定的约束条件下,从已给定的初始状态出发, 确 定最优控制作用的函数式,使目标函数为极小或极大。在设计最优控制器的过程中,运用MATLAB最优控制设计工具,会大大减小设计的复杂性。 运用Matlab语言编制程序,并用GUI设计可视化界面,设计最优控制系统。
    2021-05-06下载
    积分:1
  • 多摩川绝对值码器接口CPLD序,verilog
    多摩川绝对值编码器 17位接口程序,用verilog语言实现。简化版,资源少
    2020-12-11下载
    积分:1
  • IP5209IP5109IP5207IP5108寄存器手册.pdf
    英集芯移动电源芯片的IIC寄存器手册,不是数据手册。支持IP5209/IP5109/IP5207/IP5108等芯片,有详细的寄存器地址说明。英集匙利技INJOINIC TECHNOLOGYP5209/P5109/P5207/P51086、12C通讯波形介绍SDANOURMSBAcknowleAcknowledgementSignal From ReceiverSignal From Receiver8Condition(S)RW ACKACK Condition(Py1 2c master写的时候,先传8bit数据,第9个bit读save返回的ack,ack为低代表写入成功,为高代表写入不成功。l2 c master读的时候,最后一个byte传输是 slave返叵数据, master返回nack(高电平),代表读结束:如果 master返回的是ack(低电平),则说明读没有结束, master会继续读所以第九个bit的ack信号要看 master端是读操作还是写操作:因为IP5209/P5109/P5108/P5207只能做save如果往1P5209/P5109/P5108/P5207寄存器写入数据,P5209/P5109/P5108/P5207返回ack为低电平;如果从P5209/P5109/P5108/P5207读取数据,IP5209/|5109/P5108/P5207返回nack高电平),( master必须发NACK,否则会有异常)代表读结束(英集匙利技INJOINIC TECHNOLOGYP5209/P5109/P5207/P51083、寄存器功能描述标示为“ Reserved”的寄存器位有特殊控制作用,不可改变原有的值,否则会出现无法预期的结果。对寄存器的操作必须按照“读-→>修改-->写”来进行,只修改要用到的bit,不能修改其他未用bit的值。1.1 SYS CTLOOffset= Ox01Bit(s)NameDescriptionR/WReset7:5Reserved手电筒检测是否使能RW1. enableO: disableLight enableRW0: disable1 enableBoost enableRW1O: disable1: enableCharger enableRWO disable1: enable0Reserved1.2 SYS CTL1Offset=0x02Bit(sNameDescriptionResetReserved轻载关机使能(0c可设定轻载关机阙|R/W值1:使能| BATLOW轻载关机功能0:关闭 BATLOW轻载关机功能负载插入自动开机R/W1:使能0:关闭英集匙利技INJOINIC TECHNOLOGYP5209/P5109/P5207/P51081.3 SYS CTL2Offset =0x0cBit(s)NameDescriptionR/WReset7:3轻载关机电流阈值设定RW00100n * 12mA当BAT电流小于设定阈值时,持续325米机注意:此电流设定阈值需要大于100mA2:0Reserved1. 4 SYS CTL3Offset=0x03it (s)NameDescriptionR/WReset7:6长按按键时间选择010:1S01:2s10:3S11:4S1:连续两次短按(两次短按在15内)R1关札功能使能O:连续两次短按(两次短按在15内)关机功能关闭4:0Reserved1.5 SYS CTL4Offset =0x04Bit(s)NameDescriptionR/WReset7:6关机时间设定R/W11:64s10:3201:16s00:8sV|N拔出是否开启 BOOST11:开启0:不开启4:0Reserved(i)英集匙利技INJOINIC TECHNOLOGYP5209/P5109/P5207/P51081.6 SYS CTLSOffset = 0x07Bit(s)NameDescriptionR/WResetReservedNNTC功能使能R/W:使能1:关闭ReservedR/W按键开关WLED于电筒方式选择:0:长按251:短按两次按键0按键关机方式选择:R/W0:短按两次按键1:长按251.7 Charger_ CTIOffset=0x22Bit(s)NameDescriptionR/WReset7:5Reserved3:2充电欠压环设定(充电时输出端voUT的R/电压)11:4.83V10:4.73V01:4.63V00:4.53V注:在充电的时候C会检测输出voUT的电压来自动调整充电电流,当VOUT的电压大于改置值时就以最大电流对充电充电,小于设定值时就自动减小充电电流以维持此电压;如果客户要求边充边放状态下可在输出端加采样电阻检测边充边放状态输出端的负载电流大于100mA时可把欠压环设置为最高,优先对外部负载充电1:0Reserved英集匙利技INJOINIC TECHNOLOGYP5209/P5109/P5207/P51081.8 Charger CTL2Offset=0x24Bit(s)NameDescriptionR/WResetReserved6:5BAT电池类型选择R/W0011: RESERVED10:4.35V电池01:43V电池00:4.2V电池4:3RESERVED2:1恒压充电电压加压设置1011:加压4210:加压28mV1:加压1400:不加压注:4.30V/4.35V建议加压14mV;4.2V建议加压28mV;如果客户需要支持44V的电芯,可以在435V电池的基础上选择加压48mV,充饱由MCU检测到电池电压大于44V,电流小于200MA才认为是电芯充饱了Reserved1.9 CHG DIG cTL4Offset = 0x26Bit(s)NameDescriptionR/WResetReserved电池类型内部寄存器设定还是外部setP|设定|RW选择1:外部 VSET PIN设置内部寄存器设置如果是该bit为0,可通过0x24寄存器的bit6:5来设定电池类型5:0Reserved英集匙利技INJOINIC TECHNOLOGYP5209/P5109/P5207/P51081.10 CHG DIG CTL4Offset=0x25Bit(s)NameDescriptionR/WReset7:5Reserved充电电流设置(设置为电氾端电流)R/W10111lbat=b0*0.1+b1*0.2+b2*0.4+b3*08+b4*1.6A注:默认值为1011123A左右1.11 MEP CTLOOffset = 0x51it (s)NameDescriptionR/WReset7:6Reserved5: 4 LIGHT selLGHT功能选择R/W0000: WLED01: GP10210: VREF11: Reserved3: 2 L4_selL4的功能选择R/W00:L401:GP|o110: Reserved11: Reserved1:0L3_seL3的功能选择R/W01: GPIO010: Reserved11: Reserved1.12 MFP CTL1Offset=0x52sit(s)NameDescriptionR/WReset7:4ReservedR/W3: 2 VSET selVSET功能选择W0000:电池电压选择PN)英集应利P5209/P5109/P5207/P510801: GP10410: Reserved11: Reserved1: 0 RSET seRS氏T功能选择R/W0000:电池内阻选择PN01:GP|O310: Reserved11: Reserved1.13 GPIO CTL2Offset =0x53 default oxoBit(sNameDescriptionR/WReset7:5Reserved4:0 GPIO_ INEN GPIO[4: 0]input enableRW00: Disable1: Enable1.14 GP0 CTL2Offset= Ox54 default oxoBits)NameDescriptionR/WReset7:5Reserved4: 0 GPIO_OUTEN GPIO[4: ]output enableRW00: Disable1: Enable在丌启 Output之前,需要先将data配好1.15 GPO CTL3Offset =0x55Bit(s)NameDescriptionR/w Reset7:5Reserved4:0 GPIO DATGPIO[4: 0]DATAR/W0(i)英集匙利技INJOINIC TECHNOLOGYP5209/P5109/P5207/P51082.1 BATVADC DATOOffset =Oxa2Bit(s)NameDescriptionR/WReset7:0 BATVADO7:| BATVADC数据的低8bitRO2.2 BATVADC DAT1Offset Oxa3Bit(s)NameDescriptionR/VReset7:6Reserved5:0 BATVADC[13: BATVADC数据的高6btR8]VBAT=BATVADC*0. 26855mv+2.6VBATVADC VALUE low =l2C Read Byte( 12C SLAVE ADDR, Oxa2);//low 8bitBATVADC VALUE high=12c Read Byte(I2C SLAVE ADDR, Oxa3); //high 6bitf( BATVADC VALUE high&0x20)=0x20)//补码BATVOL[=2600-("BATVADC VALUE low +((BATVADC vaLUe high & 0x1F)*256+1)*0.26855else//原码BATVOL[]=2600+(BATVADC VALUE low+BATVADC_ VALUE high *256)*0.26855; //mv 24i
    2020-12-11下载
    积分:1
  • labview写比较高级计算器
    计算器labview较高级计算器(普通型和科学型较高级计算器)
    2020-12-10下载
    积分:1
  • CST例子教
    详细讲解了CST用于魔T,同轴连接器,天线,窄带滤波器的设计和仿真,是新手入门不可多得的好资料啊。
    2020-12-01下载
    积分:1
  • 机电体化X-Y十字滑台设计全套(电气图CAD+装配图CAD+说明书)
    这是一个机电一体化X-Y十字滑台设计全套(电气图CAD 装配图CAD 说明书)
    2020-07-02下载
    积分:1
  • 轴承振动信号库
    内涵标准轴承信号库但是由于文件大小的关系,去掉了频率48k的采样数据,内还包含一个《轴承振动以及轴承故障的特征分析》文档以供学习
    2021-05-06下载
    积分:1
  • 基于MATLAB的月球车锂离子电池充放电过仿真
    基于MATLAB的月球车锂离子电池充放电过程仿真第三届学术会议论文集究电量敢电电滩negro向电量充电系俊克电电浪最大放电硅Raon』Operatoe敛电Constant图5蓄电池模块的 simulink仿真结构图蓄电池模块是电源系统仿真的关键部分,本模块构造了蓄电池组在仿真过程中充、放电情况,直观反映了月球车电源系统的能量平衡情况。3动态性能仿真在月球光照期时,由于光照、温度等环境因素的影响,太阳能电池不可能一直处于最佳发电状态,特别是在最初和最后阶段,太阳能电池的功率都是比较小,不能满足月球车的功率需要,太阳能电池提供的功率存在波动;月球车的工作状态也不确定,各个系统所需功率也不尽相同,因此负载功率也存在一定的波动。下面所做的仿真就是基于以上两方面考虑,对太阳能电池以及负载功率进行假设,假设它们的功率是在一定范围内频率不同的正弦函数。由于同位素温差发电器的功率为4W,太阳光照时间约为310小时,太阳能电池的功率曲线大约为周期为672小时,幅度为280的半个正弦波,所以设Pw为基值4、幅度280、频率0.01的正弦曲线; P load为基值100、幅度30、频率01的正弦波。在此条件下仿真结果因电电aPp尚因日自母自PPP晶题因日358动力、能源、结构、材料技术画自)P国因日母自pp因因日车仿真结果从不同的角度显示了充放电的动态过程:仿真初始阶段,由于光照倾斜角度较大,温度很低等原因,太阳能电池功率小于负载功率,此时锂离子蓄电池开始提供辅助能源,蓄电池容量稍有下降但到30小时的时候,太阳能电池功率开始大于负载功率,此时蓄电池开始充电,电量呈现阶梯状上升。蓄电池最大充电电量达到330Ah,完全满足月夜时所需能量。仿真结果显示,只要太阳能功率能达到仿真假定值,就能保证在月球的一个自转周期内,月球车的发电能量和所需能量达到平衡,月球车才能够在月球上连续工作几个月。结束语月球车电源仿真系统的基本模块—蓄电池充放电系统模块已经初步完成,能够验证所设计的电源系统的能量平衡效果,给出真实时间单位的系统情况,并以图形曲线表示,从而可以直观地看出设计的正确性和合理性,并使之成为适当调整的参考依据。基本模块的参数设定可以根据实际需要进行调整,以满足实际的需要。根据仿真的结果,可以验证设计时各个部件参数是否合理。此仿真程序能够满足设计需要,可用于月球车电源系统辅助设计和验证设计的合理性,提高设计可靠性参考文献1探月工程月球手册.国防科工委月球探测工程中心,20052薛定宇.控制系统仿真与计算机辅助设计.机械工业出版社,20043崔文聪.天文卫星电源系统设计分析与仿真.中科院研究生院硕士学位论文,204359基于 MATLAB的月球车锂离子电池充放电过程仿真旧WANFANG DATA文献链接作者:杨柯,赵晓蓓作者单位:西北工业大学航空学院本文读者也读过(2条)1.冯韬高功率因数锂离子电池充放电系统的研制[学位论文]20072.张忠林.杨玉光锂离子电池充放电机理的探索[会议论文]-2006本文链接http://d.g.wanfangdata.comcn/confereNce6345676.aspx
    2020-12-10下载
    积分:1
  • PQ分解法的MATLAB
    陈珩版电力系统稳态分析例3-6PQ分解法的MATLAB程序
    2020-12-11下载
    积分:1
  • 深度置信网络(DBN)算法案例-matlab.rar
    【实例简介】详细的深度置信神经网络的matlab代码。深度信念网络,DBN,Deep Belief Nets,神经网络的一种。既可以用于非监督学习,类似于一个自编码机;也可以用于监督学习,作为分类器来使用。 从非监督学习来讲,其目的是尽可能地保留原始特征的特点,同时降低特征的维度。从监督学习来讲,其目的在于使得分类错误率尽可能地小。而不论是监督学习还是非监督学习,DBN的本质都是Feature Learning的过程,即如何得到更好的特征表达。
    2021-11-25 00:32:31下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载