登录
首页 » Others » 基于混沌单纯形法算子的布谷鸟搜索算法

基于混沌单纯形法算子的布谷鸟搜索算法

于 2020-11-27 发布
0 287
下载积分: 1 下载次数: 5

代码说明:

基于混沌单纯形法算子的布谷鸟搜索算法,MATLAB代码,能直接使用,适合初学者学习

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

发表评论

0 个回复

  • STM32实现交通灯设计
    用Keil软件编写控制代码,使用Proteus软件仿真STM32以及LED灯、按键等硬件;交通灯有三种方案,区别在于红灯和绿灯亮的时间不一样
    2021-05-06下载
    积分:1
  • iAQ-core C型传感器使用总结
    在STM32F1平台上的iAQ-core C型传感器使用总结及其代码。是本人自创的,应该说是网络的首例。所以不要嫌弃资源分高,起码帮你节约一整个月的开发时间。
    2020-12-06下载
    积分:1
  • 基于MATLAB复调制ZOOM-FFT算法的分析和实现
    基于MATLAB复调制ZOOM-FFT算法的分析和实现2006年第4期舰船电子工程121滤波;使用函数来实现傅立叶变换次复数乘法。设数字滤波器的阶数为K,滤波器系数离线生成,则滤波需要DNK次复数乘法,则总4 Matlab仿真和验证的运算量为为验证上述算法及分析过程的正确性,在MatZFFTNloN+2N+DN·K(3)中产生一个正弦组合信号3随着细化倍数的增加,基带FFT和ZFFT的运算量x(t)=30cos(2m110t)+30cos(2x11145t)都会大幅度增加;zFF只有当细化频带较窄(此时+25cos(2x112.3t)+48cos(2m113.8t)无需数字滤波)或长序列的情况下,与基带FT相+50co(2x114.5t)比才具有运算量上的优势。分别利用基带FT和ZT对其进行谱分析ZFT算法存在自身的局限性,其存在的问题仿真条件:f=2048H,F点数N=1024,细化倍数D=50。基带FFT的频率分辨率4f=2H,历如下:(1)需要存放中间数据的内存空间巨大限制ZF的频率分辨率△f=0.04H。仿真结果如图了最大细化倍数2和图3所示。(2)采用具有线性相位的FIR数字滤波器实igure(n现抗混叠滤波,由于有限阶滤波器的吉布斯效应( Gibbs effect),滤波器截止频率处的频谱不可避免020040060080010001200会出现局部失真。(3)细化倍数越高,重釆样的选抽比越高,则细化带宽越窄。当需要细化的带宽较大时,必须进5行多次细化,这势必会增加计算量。Figure(4)频率成分调整较复杂。将FT和谱分析105110115130得到的频率成分调整到所选频带的频率成分式较Frequency(Hz复杂的过程,特别是为了避免低通抗混滤波器的边图3FF幅值频谱缘误差造成的频率混叠为了比较频率细化的效果,对图中谱线作了归化处理。图2中fgme(a)为原始信号,fgme(c)6小结为基带FYT处理后的幅值谱线,fgre(d)为移频后ZFT算法的关键在于利用傅立叶变换的移频基带FFT处理后的幅值谱线。由此图可以看出,基特性将感兴趣的高频段频率移至频谱原点,降低采带FFT的几个谱峰叠加为一个谱峰,各频率成分不可分辨。图3中fge(g)为重新采样后F处理样率重新釆样,从而获取较高的频率分辨率。它对后的幅值谱线,gure(h)为频率调整到实际频率处于获得某些特殊频段而不是整个带宽的信号细微的幅值谱线。此图中,因频率分辨率降低了D倍谱结构十分有用。该算法在实际工程技术中有较zF的幅值谱线中5条谱线清晰可见,说明ZF广泛的应用效果明显。参考文獻5ZF运算量和局限性讨论[1]胡广书.数字信号处理-理论、算法与实现[M]北京:清华大学出版社,1997当采用时域抽取FFT算法时,N点DT的复数[2] Vinay K ingle, John g proakis.数字信号处理及其乘法次数为l2N,复数加法次数为NN。为MATLAB实现[M].北京:电子工业出版社,1998[3]赵霞,熊小伏,郭珂.用细化频谱技术分析断路器简单起见,仅比较两种算法的复数乘法次数。操动机构振动信号[J.电力系统自动化,2003,(12):37设频率分辨率4f=fN,细化倍数D=△/404」f。要获得4/的分辨率,基带FFT的运算量为[4]丁康,谢明,张彼德等.基于复解析带通滤波器的FrTdN)lo复调制细化谱分析原理和方法[J.振动工程学报,2001,62(D14(1):30~35采用ZF算法,在复调制时只计算重采样的[5]宗孔德.多抽样率信号处理[M].北京:清华大学点,需N次复数乘法。同样,调制系数的计算也需N出版社,19基于 MATLAB复调制Z00M-FT算法的分析和实现旧WANFANG DATA文献链接作者:王力,张冰,徐伟, Wang li, Zhang bing, Xu Wei作者单位:王力,张冰, Wang Li, Zhang bing(江苏科技大学,镇江,212003),徐伟, Xu Wei(船舶系统工程部,北京,100036)刊名:舰船电子工程英文刊名SHIP ELECTRONIC ENGINEERING年,卷(期)2006,26(4)被引用次数:次参考文献(5条)1.宗孔德多抽样率信号处理19962.丁康;谢明;张彼德基于复解析带通滤波器的复调制细化谱分析原理和方法[期刊论文]振动工程学报2001(013.赵霞;熊小伏;郭珂用细化频谱技术分析断路器操动机构振动信号[期刊论文]电力系统自动化2003(12)4.陈怀琛数字信号处理教程- MATLAB释义与实现19985.胡广书数字信号处理一理论、算法与实现1997本文读者也读过(6条江波.唐普英基于复调制的ZooⅷFFT算法在局部频谱细化中的研究与实现[期刊论文]-大众科技2010(7)2.丁康.谢明.张彼德.赵玲.张晓飞. Ding Kang. Xie ming. Zhang bide. Zhao ling. ZHANG Xiaofei基于复解析带通滤波器的复调制细化谱分析原理和方法[期刊论文]-振动工程学报2001,14(1)3.罗利春. LUo Lic- hun zoom-FFT的改进、频谱反演与时-频局部化特性[期刊论文]-电子学报2006,34(1)4.戴振华.纪海林.徐运涛.DAⅠZhen-hua. JI Hai-1in.ⅫUYun-taoZ00MFFT算法在数字音频分析仪中的实现[期刊论文]-兵工自动化2007,26(10)5.黄镔.许婧.高峰.束洪春Z0OM-FFT在水电机组振动信号分析中的应用[期刊论文]-昆明理工大学学报(理工版)2002,27(5)6.王卫江改进的自适应Zoom-FFT算法研究[期刊论文]一电子技术应用2006,32(7)证文献(10条1.程兆刚.唐力伟.张淑琴.曹洪娜基于复调制Z0OM-FFT算法下阻尼比识别的研究[期刊论文]计算机与数字工程2012(1)2.刘树强.罗天.王宁.潘栋基于 Labview的异步电机转子断条检测[期刊论文]电子设计工程2011(3)3.王文森.邱宏安高精度超声流量检测系统设计[期刊论文]电声技术2011(2)4刘树强.罗天.谭兴文基于 Labview的笼型异步电动机转子断条故障在线检测系统[期刊论文]西南大学学报:自然科学版2011(9)5.王乐.苏小敏.杜林.李春化复白噪声中复正弦波频率估计方法硏究[期刊论文]火控雷达技术2011(36.周红霞.江佩勤.伍洲基于嵌入式系统的ZFFT移频轨道检测算法[期刊论文]通信技术2010(37.焦玮琦.陈特放基于局部频谱细化的轨道移频信号高精度检测[期刊论文]机车电传动2009(28.史瑞根.姚金杰基于 Labview的数字变频FFT设计[期刊论文]现代电子技术2009(7)9武中奇.杨世武丌FT算法在铁路移频信号分析中的应用及其DSP实现[期刊论文]铁道通信信号2008(7)10.时献江.张春喜.邵俊鹏异步电机断条故障诊断的细化包络方法[期刊论文]电机与控制学报2008(2)本文链接http://d.g.wanfangdata.com.cn/periodicaljcdzgc200604033.aspx
    2020-12-08下载
    积分:1
  • 云点 离散点 三维 重构 三维建模 matlab
    云点 离散点 三维 重构 三维建模 matlab
    2020-12-02下载
    积分:1
  • 基于FPGA的8b10b解码verilog实现
    本设计是采用EDA技术设计的一种8B /10B 编解码电路,实现了在高速的串行数据传输中的直流平衡。利用verilog HDL 逻辑设计语言,经过modelsim、quartus II的仿真和下载验证,实现其编码和解码的功能。该编解码电路设计大体上可以由五个模块构成,分别是默认编码模块、差异度计算模块、编码校正模块、并串转换模块、显示模块。采用Verilog HDL 描述、modelsim 10.2a 进行功能仿真、Quartus II 13.1 进行FPGA逻辑综合和适配下载,最后在Alter 公司的Cyclone IV E 的芯片EP4CE6F17C8 上实现并完成测试。资源包中附有
    2020-12-11下载
    积分:1
  • 网页向女友告白和纪念日专用特效
    网页向女友告白和纪念日专用特效 源码下载来自于屌丝程序员的爱情表白程序,表白,是一个非常神圣的事情,怎么才能成功呢?屌丝不会什么浪漫,只能写一个程序来表达。
    2021-05-07下载
    积分:1
  • opnet路由协议仿真
    opnetAdhoc仿真源程序,自己构建的路由协议和网络模型,对路由协议进行仿真 ,希望对大家有帮助
    2020-12-03下载
    积分:1
  • 宽带相控阵天线matlab代码
    将子阵结构和时延滤波器相结合是提高相控阵天线系统带宽性能的一种很好方式,这种结构的宽带相控阵天线系统,能有效解决孔径效应和孔径渡越时间。而且采用延时滤波器和子阵结构的天线系统结构简单、体积小、成本低,工程易于实现。上传的资料是用MATLAB仿真数字延迟滤波器,并完成宽带阵列的波束合成。延时滤波器的设计是宽带相控阵天线技术中的关键技术。未来宽带相控阵天线的发展,将朝着更宽的带宽方向发展,将会有更多更优秀的滤波器结构和技术方案被设计出来。
    2021-05-06下载
    积分:1
  • krc酷狗歌词文件解码vb.net
    把krc歌词解码成原文。源码注释详细。带有可用的zlib.dll。vs2012编译。
    2020-11-30下载
    积分:1
  • STM32移植到GD32的注意事项
    GD32的性价比和稳定性都很高。我更喜欢用GD32.。但不是100%兼容的。需要注意一些细节。2.内部 Flash1)芯片设置读保护用法描述由于GD的Fash是自己的专利技术,STM的Fash是第三方提供的,所以GD的 Flash和STM的Fash有些许差异。GD的擦除时间会长一点解决方法在写完KEY序列以后,需要读该位,确认key已生效。所以,这里应该插入While(! (FLASH->CR &0x200);//Wait OPTWRE或可简单插入两个NOPNOPONOPO在ST库中,只有FLASH Status FLaSH Erase Option Bytes(void)FLaSH Status FlaSH ProgramOption Byte Data(uint32 t Address, uint8 t DataFLASH Status FLASH_ Enable WriteProtectionuint32 t FLASH PagesFLASH Status FLASH ReadOutProtection (Functional State New State)四个函数需要修改。2)IAP在应用中编程描述GD32由于有fash的0访问时序,同SM32在Fash的Ease和 Program上存在差别,GD32的 Erase和 Program时间比STM32的稍微长些建议对 Erase和 Progran时间进行修改解决方法将宏定义井 define erase timeout(luint32 t)OX000B000O)#define ProgramTimeout(uint32_t)ox00002000修改为:#define erasetimeout((uint32_t)OX00OFFFFF#define ProgramTimeout(uint32 t)OxOOOOFFFF备注: Erase和 Program时间宏定义在stm3210 x flash. c源文件中路径: braiesSTM32F10 x Std Periph Driversr)3)用IAR下载配置解决方法在批量牛产的时候首先会烧写一个USB的boot,这个boot自动运行后在由上位机软件进行烧写应用程序。如果boot程序不能自动运行则需要重新插拔次电源。给生产造成一些麻烦。产生不能自动运行程序的原因是如果程序设置读保护的话需要等待 FLASH CR的第9[ OPTWRE]位为1.如果没有置位的话继续执行就会出错。由」ST的执行速度慢,程序执行到读 FLASH CR寄存器的时候该位已经置1,GD的执行速度比较快,程序运行到这的时候该位还没置1,因此需要在 FLASH ReadOut Protection函数里面添加一些轮询该位为1或者加延时3.ISP烧写软件1)ISP烧写,建议使用官方烧写软件性述芯片内部同有区别解决方法建以到下载最新版本的另外也有专门的烧写软件(可以到论坛下毂如果使用自制的软件或脱机编程器,实现和完全兼容,建议修改以下参数。页擦除等待超时时间增加至整片擦除等待超时时间增加至左右字编程等待超时时间增加至,臾编程等笭超时时间增加至I/0日1)I0口外部中断使用方法措述在关闭期间,如果外部引脚有电平的变化,在使用MR打开中断后会马上进入中断服务程序。理论是打开中断前,不管管脚是否有电平的变化,都不会影响到打开后的中断响应。解决方法所以解决方法就是通过禁用上升沿或者下降沿检测寄存器来开关中断,不能使用IMR屏蔽奇存器。程序如下关闭沿检测,以达到关闭中断的目的,下降沿使用寄存器,上升沿使用寄存器2)在待机模式,PA8引脚特殊设置描述在使用低功耗的情况下,PA8会被MCU在内部被设置为地PA8复用为MU内部频率输出,超低功耗设时需要悬空解决方法在待机模式,PA8悬空不用3)低功耗下必须注意描述在使用低功耗情况下,把软件全部端口(AF)时钟关掉,无论是否有该端凵。4)当有脉冲群冲击管脚摧述需要在在进入中断后关闭中断4.定时器1)定时器输入捕获模式需要软件清中断描述sTM定吋时器输入捕获模式默认能硬件清中断,GD为了更加严格要求配置,需要做软件清中断解决方法软件清除标志位2)定时器向上脉冲计数模式设置述定时器的用法差异解决方法脉冲计数模式下,装载值必须设置为比预期值大,否则不计数在ST上如果重载值不设置(初始为0)的时候,CNT可以正常计数。在GD上如果重载值不设置保持初始为0的时候,会因为重载值为零,即便是来一个脉冲也会导致所有的寄存器复位从而不能正常计数。型号GD32F1系列MCUF|ah256B8及以上的型号)3)TIM、ADC模块描述Tmer、ADC模块的触发信号宽度要求解决方法|由于内部有高速和低速两条外围总线,Tmer、ADC模块和其他外设共同使用这两个总线。GD32F103/101系列Fash128KB及以下的型号, Timer、ADC等模块识別触发信号的条件是触发信号宽度大于模块所在总线的时钟宽度5.串口 USART1) USART连续发送数据字节有空闲位带述字节间有空闲位解决方法|对于一般的通讯米说,不会有影响,只对于一般在通讯上有特殊协议的,才会产生数据不准确的情况所以,特定情况,修改程序6.I2C总线1)硬件L2C特殊配置述GD的C相对STM的来说要少一个标志位解决、宏地址定义改交方法2、硬件I2C在会在向从机发送7bits地址完成后,从札还没来得及识别。(看客户应用)我们可以在发送完7bits后加个延时,让从机完全识别I2C Send7bitAddress(I2C1, EEPROM ADDRESS, I2C Direction TransmitterintOfffhile(i --3、检测ADDR不能使用I2 C Checkevent函数,因为他会清除ADR,可以使用I2 C Get FlagStatus函数就是把while(! I2C CheckEvent(I2C1I2C EVENT MASTER TRANSMITTER MODE SELECTED))Ey while(! I2C GetFlagStatus(I2C1, I2C FLAG ADDR))4、还有个关于编程步骤的严谨性,跟STW想比,我们是先 Clcar ack,再 Clear Arrd。7.ADC采集1)ADC采样设置述ADC启动解决方法|分三个方面时写入后,需要等待一段时间,如果用库的话就在 ADC CMD后面加20us左右的延付如果采用中断获得采样数据后,需要软件清除中断。8. SDio1) SDIO DAT3pin的在1 bit bus mode和4 bit bus mode下的配置摧述1、SD|O在1 bit bus mode下,DAT3pin是低电平,这样会导致 SD Card进入SP!模式。原因:初始化失败的原因主要是因为GD32的芯片SDO的DAT3∏存在BUG2、在4位模式下,通过上面的方法,程序能止常初始化,但不能正常读写SD卡原因:因为DAT3∏在前面已经配置成推挽输出,所以在4位模式下,不危正常读下。在调用4位模式前,把DAT3的端凵配置成复用推挽输入即可解决问题解决方法「1、1 bit bus mode的解决方法:建议在使能之前,先把配置成推挽输出,)且要置成高电平,使保持高电平即可2、4 bit bus mode的解决方法:在调用4位模式前,把DAT3的端口配置成复用输出即可解决问题。2)程序在刚烧完后能正常读写SD卡,断电再上电后,SD卡初始化失败,需要手动复位一次后才正常描述在某些SD卡中,GD32断电再上电,会引起SD卡上的时钟信号不正常,导致SD卡发送命令失败。解决方法在程序中,打开时钟后,增加一小段延时,以保证下时钟信号稳定。这个延时添加的地方:在即的配置文件中,然后在这个函数中找到就在这个后面加个延时。10. USBA, USB OTG1)客户使用的原工程时需要注意几点解|1、在中,增加如下图红色字体语句for (1=0; 18; i++) EPli= GetEndPoiNT(i)for(i=0:iregs. HC REGS [num]->HCCHAR, hcchar d3 2)pdev->host hc Status =HC NAK而V2.1.0版本的NAK处理过程如下else if (hcint b nak)if(hcchar b. eptype = EP TYPE_ INTR)UNMASK HOST INT CHH(num)USB OTG HC Halt(pdev, numelse if ((hcchar. b. eptype = EP TYPE CTRL)(hcchar b eptype = EP_ TYPE BULK))A re-activate the channel *hcchar, b chen =1hcchar b chris =0USB OTG WRITE REG32(&pdev->regs. HC REGS [num]->HCCHAR, hcchar d32)pdey->host HC Status [num]=HC_NAKCLEAR HC INT(hcreg, nak)唯一的区别就是 CLEAR HC INT( here,nak)的位置,在Ⅵ1.0.0版本中对于CTRL和BUK端点的NAK中断没有清除NAK,我们的芯片会因此产生多次IN传输的请求,导致数据传输错误。改为V2.1.1的写法后传输正常。(注意 HC Status在V2.1.0是数组,在Ⅵ1.0.0是单个数据,直接拷贝的话要去掉后面的[num])B.USB外设的工作频率有限制摧述有最低工作频率的要求,也就是APB1分频后的时钟必须大于12MHz,比如HCLK为56MHz,APB1的最大分频系数为4,56/4=14MHz,可以正常工作。11 SPI1)输入与输出配置要求(STM32不需要如此要求)解决丨GD32在使用SP时,o的配置必须严格遵守主从模式下的输入与输出配置,而方法STM32无此要求,相关代码如下主机模式下|o配置(主机以SP为例):GPIO InitStructure gPio Mode gPio Mode af plGPIO_ Init Structure GPIo Speed GPlO Speed 50MHzGPIO InitStructure. GPio Pin= GPlO Pin 5 GPIO Pin_ 7;GPIO Init(GPIOA, &GPIO InitstructureGPio Init Structure gPio Mode gPio Mode IN floating:GPio InitStructure gpio Pin gpio pin 6GPIO Init(GPIOA, &GPIO InitStructure)从机模式下o配置(从机以SP2为例)GPIo Init Structure GPio Mode gPlo Mode IN FloatingGPIO InitStructure GPIO Speed= GPl Speed 50MHzGPIO_InitStructure GPIO_ Pin GPIO Pin_13 GPIO_ Pin_15GPIO Init(GPIOB, &GPIO InitStructure)gPio Initstructure gpio mode gpio mode af pp.GPIO InitStructure. GPio Pin= GPIo Pin 14:GPIO_Init(GPIOB, &GPIO_Initstructure);3)在GD32的SP的时钟信号,空闲状态需要配置成高电平,以保证数据的稳定性,具体代码如下:红色字体代码解决SPI_ InitStructure SPl Direction =SPI_ Direction_ 2Lines fullDuplex;方法SPI InitStructure SPl Mode SPi Mode master.SPI Initstructure SPl Data Size= SPl Data Size 8bSPlInitStructure SPl_CPOL= SPI CPOL HighSPl Initstructure SPl CPHA= SPI CPHA 2EdgeSPI InitStructure SPI NSS= SPI NSS SoftSPI InitStructure SPl BaudRate Prescaler =SPI Baud Rate Prescaler 256:SPI Initstructure, Spi FirstBit= SPI FirstBit MSBSPI InitStructure SPl CRCPolynomial =7;SPl Init(sPl1, &SPl Initstructure);4)当作为从机时,在GD32中,时钟信号必须为8的整数倍。例如:红色字体代码解决SPI_InitStructure SPl_ Direction =SPl_ Direction_ 2Lines_ Full Duplex;方法SPI InitStructure. SPl Mode= SPl Mode MasterSPI InitStructure SPSPi Data Size 8SPl InitStructure SPl CPOL= SPI CPOL High;SPI Init Structure. SPl CPHA SPI CPHA_ 2EdgeSPI Initstructure SPl NSS= SPI NSs SoftSPI Initstructure Spl BaudRatePrescaler= SPl BaudRatePrescaler 256SPI InitStructure. SPl FirstBit= SPl First Bit MSBSPl Initstructure SPl CRCPolynomial =7;SPI Init(SPI1, &SPl InitStructure)5)在GD32中,不能使用SPLS_FLAG_BSY该位来判断SP总线数据是否接收或发送完成12.看门狗1)进入SToP模式前打开看门狗,通过RTc的ALR唤醒后,程序会不断被复位的现像摧述WDG内部有个 Reload信号,KEY奇器写AAA会使其拉高,过段时间自动拉低。在拉底之前进入STOP状态会使 Reload信号一直为高,等到退出SToP后也保持为高,之后再写AAAA没有办法让 Reload产生上升沿,也就没办法更新计数器了解决方法「进STOP之前不要 Reload,也可以调整下程序的顺序,把WwDG的配置放到RIC配置之前,效果是一样的。
    2021-05-06下载
    积分:1
  • 696516资源总数
  • 106648会员总数
  • 8今日下载