登录
首页 » Others » 小功率风光互补控制器原理图

小功率风光互补控制器原理图

于 2020-04-15 发布
0 200
下载积分: 1 下载次数: 2

代码说明:

采用Altium Designer软件设计,与程序一起可以直接出产品!

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

发表评论

0 个回复

  • 语音信号处理中基频提取算法综述
    语音信号处理中基频提取算法综述,论述了各种基频检测的算法,对比分析各方法与思想,不错的总结增刊张杰等:语音信号处理中基频提取算法综述101信号是由频率具有谐波关系的信号组成的,因此有的一个改进是采用多分辩率方法。该方法的思想是:很多尝试利用频域信息提取基频的方法如果一个特定算法在特定分辨率下的准确性是可疑21基于滤波器的算法的,那么采用更高或者更低的分辨率,可以进一步21.1最佳梳状滤波器法判断前面的基频估计是否可信。如果在全部或人部最仹梳状滤波器法閃是具有高鲁棒性但计算代分的分辨率下求得相同的基频,那么该频率值就可价很大的算法。一个梳状滤波器有很多等距离分布以作为最终的基频估计结果。当然,在带来好处的的通带,在最佳梳状滤波器算法中,通带的位置都同时,该方法也会带来计算量上的代价,因为针对是由第一个迸带决定的,即通带的中心频率都是第每个分辨率都需要重新计算频谱,这也是为什么一个通带中心频率的整数倍。输入信号通过多个与多分辨率的傳里叶分析比专门的多分辨率变换(如第一个通带中心频率不同的梳状滤波器。如果输入离散小波变換)要慢的原因信号是由一组频率成谐波关系的信号组成的,那么2.4离散小波变换法滤波器的输出在全部谐波成分都通过滤波器时达到离散小波变换是一个强大的工具,它允许在连最大。但是如果信号只有一个基频成分,该方法就续的尺度上把信号分解为高频成分和低频成分,它会失效,因为会有很多个梳状滤波器能让信号通过。是时间和频率的局部变换,能有效地从信号中提取不过,语音信号的频率具有谐波结构,所以可采用信息。与快速傅里叶变换相比,离散小波变换的主该方法提取基频。要好处在于,在髙频部分它可以取得好的时间分辨2.1.2可调的IR滤波器率,在低频部分可以取得好的频率分辨率。文献四提出了一种基于中心频率可调节的带通3统计的方法IR滤波器提取棊频的方法,随着用户的调节,滤波器的中心频率扫过整个频域。当输入信号的一个强在某种意义上,基频提取的问题可以被看作是的频率成分在通带沱围内时,滤波器会输出最大值,个统计问题。每一个输入帧都被划分给一组类中信号的基频就可以用此时滤波器的中心频率来估的一个,代表信号的基频估计。所以很多研究者计。文献[9提到,对于可调的I滤波器,有经验的直试图将现代的统计方法应用于基频提取问题用户能够识别只有一个谐波结构的信号的输出和包Boris和 Xavier发表了一系列使用最人似然法估含多个基频信号的输出的差异计基频的方法。他们的模型如卜:观察集是语音信2.2倒谱分析法号分帧后做短时傅里叶变换的结果,每一个观察都倒谱分析是谱分析的一种方法,翰出是傅里叶被看作是基频激励产生的信号与其他剩余信息(包变换的幅度谱取对数后做傅里叶逆变换的结果。该括非谐波部分和噪声)两部分的混合。该模型是由方法所依据的理论是,一个具有基频的信号的傅立般的语音信号产生的模型的简单化得到的,假没叶变换的幅度谱有一些等距离分布的峰值,代表信个语音包括在基频及其整数倍点的值处较大的谐波号中的谐波结构,当对幅度谱取对数之后,这些峰成分,以及在非谐波处和噪声处的很小的值。对于值被削弱到一个可用的范围。幅度谱取对数后得到一组候选的基频值,该方法计算每一个观察可能是的结果是在频域的一个周期信号,而这个频域信号由某一个基频产生的概率,并将概率最大的基频值的周期(是频率值)可以认为就是原始信号的基频,所作为最终的估计值。所以候选的基频值的选择是很以对这个信号做傅里叶逆变换就可以在原始信号的重要的,因为从理论上讲,观察可能对应着任意的基音周期处得到一个峰值基频值。另妒,如果对信号的傅里叶变换的嘔度谱取对数后的结果直接进行分析,而不是雨接着做傅里叶4算法的改进逆变换,就是谐波成分谱的方法。进一步,如果在前面提到的每种算法都有自己的改进方法,下求频域的变换时不使用傅里叶变换,而使用能使频面介绍两种对以上大部分算法均适用的改进方法。谱更加精细的Chip变换,就是基」Chi变换的提取41人的听觉模型基频的方法,该方法具有高分辨率和高鲁棒性。由于基频提取本身就是听觉感知问题,所以所23多分辨率的方法有的算法都可通过加入人耳的听觉模型提扃性能对于任何基于傅里叶分析的频域方法都可以做人耳的听觉模型将人的听觉系统对声音信号的处理102电子科技大学学报第39卷分为分析、传递和还原3个阶段。分析阶段主要考虑5经典的基频检测方法耳蜗的分频效应,耳蜗的外端对高频敏感,内端对低频敏感,可以用一组中心频率不同的带通滤波器自从有了语音信号分析饼究这门学科以来,基来模拟。传递阶段声波振动沿基膜传播,并在听觉频的检测一直是一个重点研究的课题。经典的基频神经纤维内产生电流,最终传入听觉中枢。还原阶检测方法可以大致分为3类,如表1所示段听觉系统提取语音中诸如音质、音调、时域和位表1经典的基音检测方法以及特点置等信息。分类基因检测方法特点在声学中,声强是指单位时间内通过垂直」声由多种简单的波形峂值泼传播方向的单位面积的声波能量,用表示。当声并行处理法检沏器提取基音周期波的频率在20~20000Hz(可闻频率)之间,而声强波形根据各种理沦探作,从波形中去行计法数据减少法达到一定的强度(听阈),就能被人耳感知。前人大量掉修正基音以外的数的实验测试结果表明,人耳对不同频率的声波感受讨零率法利用波形的讨零率,差眼于重复图形到相同响度时的声强是不同的。人耳对两端频段的利用语音波形的自相关函数提取自相关法声波反应较为迟钝,而对中间频段的声波反应相对基音,采用中心削波平坦欠理频谱,及其改进较为敏感采用峰值削波可以简化运算对于任意的频域方法,简单的改进是用Q值恒语音波形降低采样率斤,进行IPC分析相关定的谱变换方法代替傅里叶变换。恒的变换方法SIFT法用逆滤波器平坦处理频谱,通过预测误差处埋法计算代价更人,但更接近于人的听觉感知系统。的自相关函数恢复时间精度在决定是否使用人的听觉模型吋必须考虑两个采用平均幅度差函数(AMDF检测周期AMDF法性,也可以根据残差信号的因素:(1)基频提取的用途。如果应用的目的很简单,AMDF法行提取要求也不是太高,那么人的听觉感知因素也许不是倒谱法根据对数功率谱的傅立叶反变换很必要。(2)计算的复杂度。使用人的听觉感知模型分离频谱包络和微细结构会使计算复杂度大大增加,如果原来算法的复杂度变换法在频谱上求出基频高次谐波成分的直方已经很大,再加入人的听觉感知模型可能会使算法循环直方图法图,根据高次谐波的公约数决定某音的复杂度过高4.2基频的跟踪(1)波形估计法。直接由语音波形估计、分析波另一种对基频提取的改进是基频跟踪。前面提形上的周期峰值到的基频提取都是在个单独的时间窗内进行的。(2)相关处珄法。时域中周期信号最明显的特征人的听觉系统是能够眼踪输入信号的基频的。一个是波形的类似性,因而可以道过比较原始信号和它只包含有限个基音周期的时间窗内的基频是很难提位移后的信号之间的相似性确定基音周期。该类方取的。但是,如果输入是连续的语音信号,相当于法抗波形的相位失真能力强,且馍件处理结构简单。很多时间窗个接个输入,基频的提取反而变得3)变换法。将语音信号变換至频域或倒谱域估很容易。研究发现,语音信号的基频具有连续性,计基音周期即前后两帧的基频是连续的,不出现跳变。一帧内6总结的基频提取常见的问题是得到的佔计值是正确值的本文列出了若干基频提取的主要方法,对它们整数倍或者整数倍分之一。针对该问题,利用语音分别进行了简单的介绍,并讨论了对算法的改进。信号基频的连续性,可对基频提取算法做一个简单需要注意的是,所介绍的方法都是针对一个语音信的改进:在计算某一恢的基频时对于它前血一帧的号而言的,对于混合的语音信号的基频提取,如果基频附近的值给予更大的可能性,即一唢语音信号可以先将混合的语音信号分离丌,那么基频提取就中基频的值不可能出现崁变的情况。这就是简单的会变待很简单。同样地,在一些基于时频分析的语基频跟踪思想,并且不会在计算上增加任何复杂度。音分离算法中,如果知道了各个语音的基频,那么另外一种比较复杂的基频跟踪方法是使用隐马语吝分离也就变得很容易解决了。尔科大模型。(下转第126页)126电子科技大学学报第39卷L9 GONG L, NEEDIIAM R, YAIIALOM R Reasoning about1990 IEEE Symposium on Research in Security and privacybelief in cryptographic protocols C]/Proceedings of the Los Alamitos, CA: IEEE Computer Society Press, 1990编辑税红(上接第102页)参考文献[5 BENJAMiN K. Spectral analysis and discrimination by[ DELLER了R, PROAKIS了 G HANSEN J H Lzero-crossings[C]Proceedings of the Institute of ElectricalDiscrete-time processing of speech signals [M]. New York:and Electronics Engineers. S 1.: [ s.n. 1986: 1477-1493[6] CURTIS R. The computer music tutorial]. CambridgeMaxell McMillan. 1993MIT Press. 1996[2 FORT A, ISMAELLI A, MANFREDI C, et al. Parametric[7] DE CHEVEIGNE A, YIN H K. A fundamental frequencyd non-parametric estimation ofapplication to infant cry[]. Med Eng Phys, 1996, 18(8estimator for speech and music[J]. Journal of the AcousticalSociety of America, 2002,11(4):1917-1930[3] PARSONS T. Voice and speech processing[M]. New York[8 EARGLE J M. Music, sound and technology M. TorontoHill,1986.Van Nostrand reinhold. 19954 RABINERR L, SCIIAFERR W. Digital processing ofspeech signals. Englewood Cliffs M]. New Jersey: Prentice编辑税红Hll,1978
    2020-12-05下载
    积分:1
  • 飞机大战_简易版
    简易的飞机大战,里面有一些不错的算法!
    2020-12-06下载
    积分:1
  • Matlab有限元结构动力学分析与工应用(源序)
    有限元结构动力学分析与工程应用这本书附带的(Matlab源程序)
    2021-05-06下载
    积分:1
  • matlab 数据 excel处理大全
    很实用的 我自己整理的一些文档 希望大家喜欢啊
    2020-12-04下载
    积分:1
  • CEC2017相关代码、文档(包含测试函数和matlab、c代码)
    之前看了CEC竞赛的网站,里面链接都打不开了。于是收集了网上比较全的CEC2017资料(花了我好多积分下载看了,好多资料不全),包括各个论坛和github。应该算是比较全的一个资源了吧。
    2021-05-06下载
    积分:1
  • WPF自定义分页控件
    WPF用于分页显示的自定义控件,可见博文:http://blog.csdn.net/zhuo_wp/article/details/78599170
    2020-12-01下载
    积分:1
  • 内存乒乓缓存机制和消息分发机制的C代码实现
    用C代码实现乒乓内存缓冲机制,具体实用价值,帮助您提高内存响应速度与及时数据的处理。unsigned long writeunsigned long greadunsigned long overflowST TWTMSG QUEUE:/ Helper macros for accessing Msg queues. *#define tWt QUEUE EMPty(a)(((g->write==(q)->gread)? 1: 0)#define twt_ QUeUe full(a)(((((q)->qwrite +1% TIMEWEIGHT TASKQUEUE SIZED)==(q)->gread)?1: 0)米 generate a Msg entity*正常返回消息体的指针,异常返回NULLT TWTMSG* generateMsg(tT-TWTMSG* pmSg=nULL,if(NULL =-(ptMsg malloc(sizeof(T TWTMSG)))return NULL;memset(ptMsg, 0, sizeof(T TWTMSG)return pmSg;destroy a Msgvoid destroy Msg(t TWTMSG ptMsgif(NULL ptMsg->pfDestroyMsg)pt Msg->pfDestroy Msg(ptMsg->pvMsg)if (NULL != pt Msg)free(pmSgfree a Msg Queuevoid freeTWTMsg Que(T TWTMSG QUEUE* ptMsgQif(NULL =ptMsg Afree(ptMsg Q);Init a Msg QT TWTMSG QUEUE* initTWTMsg QueoT TWTMSG QUEUE pmSg Q= NULlif (NULL ==(ptMsgQ malloc(sizeof(T_ TWTMSG QUeue)goto ErrRetmemset(ptMsgQ, 0, sizeof(T TWTMSG QUEUE))return pmSg Q;Errretprintf( initTWTMsg Que Fail! ")freeTWTMsgQue(ptMsg Q)return nullPop a pvMsg packet from a msg packet queues param g is the packet queue from which to pop the pbuf@return pointer to pvMsg packet if available, NULl otherwiseT TWTMSG* TWTMsg Get(T_ TWTMSG QUEUE aT TWTMSG*//*加锁if(TWT_ QUEUE_ EMPTY(a))iReturn a NUll pointer if the queue is emptypmSg=NULL;else is The queue is not empty so return the next frame from itand adjust the read pointer accordinglypmSg=g->pvMsglq >greadg->gread =((q->gread +1)% TIMEWEIGHT_TASKQUEUE_ SIZE)/*解锁return(pmSg);Push a pmSg packet onto a pvMsg packet queue@param p is the pmsg to push onto the packet queue@param g is the packet queue.W @return 0 if successful, -1 if q is fullnt TWTMsg Send(T tWTMSg*p, T TWTMSG QUEUE *qint ret/if(!TWT_ QUEUE FULL(al)iThe queue isn t full so we add the new frame at the currentw write position and move the write pointer.g->pvMsgla->write]=pg- >write =((q->qwrite+1)% TIMEWEIGHT TASKQUEUE SIZE;ret =oThe stack is full so we are throwing away this value. Keep trackof the number of times this happensg->overflow++ret =-1://*解锁return(ret)**米**米来米***来米*半米*米*半米*米求***半*米米求半**米求半**半求半和*米*//消息分发机制//*算法是//*正常返回0,出错返回-1水米米******水*米*水**米*半*水米米冰半**水水*水米米半米冰水*米水水*水*米水水extern int RecToFile MsgProc(T_ MSG_ REC2 FILE* ptMsg);int DispatchMsg(T TWTMSG *ptMsgitif(NULl = ptMsg goto ErrRet/*dispatch msg*/switch(ptMsg->en Msg Type)case TWT PINgPoNgBuff recRecTo File Msg Procl(TMSG_REC2FE) (pmSg->pMsg);/*处理消息*/destroy Msg( pmSg;/*消毁消息breakdefault.printf("Dispatch Msg Msgtype Error! n")break.return 0ErrRetprintf("Dispatch Msg Fail! ";return-1./*buff size*/#defineP| NGPONG_ BUFF BSIZE0X20000//10*1024*1024/*10M*/*ping pong buff*///chargacPINGBUFF[PINGPONG BUFF BSIZE]; /* Ping Buff*///chargacPONGBUFF[PINGPONG_ BUFF BSIZE] *Pong Buff*/水米米*********米*水**米*半*水米米水**冰水*水米米半半水半米冰水*米水水*水*米米//*释放 ping pong buff/必然成功//*无返回木***木*水****本**水*水水*水****本水**水水****水水***本***米*水void Destroy Ping Pong Butt(T PINGPONGBUFF USE DES ptPing Pong Butt)nLoopif (NULL = pt Ping pong buffreturnfor (nLoop=0; nLooptIng BuffUse[nLoop]. pcHeadAddr)free(ptPing Pong ->t Ping BuffUse[nLoop]. pcHeadAddr)free(pt Ping pong Buff)/初始化 ping pong buff返回 pign pong buff的描述指针//*正常返回0,出错返回-1水水水水水水水水水木水木水水水水水木水木水水水水水水水水本水水水水水水水水水本水水水水水水水水水水水水水T PINGPONGBUFF USE DES InitPing Pong Buff(unsigned int n BuffSizeT PINGPONGBUFF USE DES* ptBuffDes=NULLintnLoop/*获取buf描述*if NULL==(ptBuffDes=malloc(sizeof(T PINGPONGBUFF USE DES))))goto ErrRetmemset(pt BuffDes, 0, sizeof(T_PINGPONGBUFF USE_ DES));/*分别初始化ping和pong*/for(nLoop=0; nLooptIng BuffUsenLoop pcHeadAddr =malloc n BuffSize))goto Err Ret;ptBuffDes->tIng BuffUselnLoop] nBuffSize nBuffsizeptBuffDes->tPing BuffUse[nLoop]. oFfsetptBuffDes->tPing BuffUsenLoop) eUseStatus-=BUFF WRITEABLE;pt BuffDes->eCurUseIDBUFF PINGreturn pt BuffDesErrretprintf("lnitPing Pong Buff Fail!");DestroyIng Pong Buff(pt BuffDes)turn null平**米**米*米***来米米*米*米*半米*米米米来*半米平**米米求*来*半求半来*米求*和*米*/*Reset ping pong buff//*正常返回0,出错返回-1米米米米水冰米*米米水**米米冰*米水米米米米水米水*水米米来米米x米来米米水冰来来宋来水米来米来冰#define ResetBuffUse(ptBuffuse)pt BuffUse->oFfset0pt BuffUse->eUseStatus BUFF WRITEABLEgenerate a file rec msg*正常返回消息体的指针,异常返回NULLT_MSG_REC2lGK SenFRMSB(T_BUFF_USE_DES *ptBuffUse, REC_FILE_DESLIST *ptFileListRT MSG REC2FILE KE* ptRFMsg= NULL;if(NULL ==(ptRFMsg malloc(sizeof(T_ MSG REC2 FILE)return nUllptRFMsg- >pt BuffUse pt BuffUseptRFMsg->pt Filelist ptFilelist;return ptRFMsg
    2020-12-03下载
    积分:1
  • GPS仿真软件 gps模拟器 NMEA0183仿真软件
    【GPS模拟器(GPS仿真软件)Demo】(Demo 仅用于演示。若有需求请购买正版。)软件名称:NMEA Worker软件版本:V1.2.00简介: 1.NMEA Worker软件包括有GPS模拟器功能,可以按照NMEA0183标准模拟输出大部分GPS语句。适用于使用 NMEA测试的硬件、软件及开发者。 2.符合标准: NMEA0183 标准,版本V2.30/V3.01 3.可动态修改GPS参数 4.自动保存生成的记录。安装说明:程序用C#开发,请首先安装微软的 .NET Framework3.5(网上可以下载),然后双击setup.exe安装即可。【出售源代码和正
    2021-05-06下载
    积分:1
  • matlab写的分水岭算法对粘连东西进行分割
    用matlab实现的分水岭算法,能对粘连的东西进行分割,效果不错。。
    2020-12-06下载
    积分:1
  • matlab实现亚像素
    自己编写的matlab程序实现数字图像的模板匹配和相关算法,以及亚像素算法压缩包中含源程序,实例图片和模板,以及模板生成算法。使用方法:1、设定路径2、打开threshold,F5有问题欢迎提问。
    2020-12-06下载
    积分:1
  • 696518资源总数
  • 105877会员总数
  • 14今日下载