[发明专利]用MATLAB处理扫频数据获得伯德图的方法有效
申请号: | 201811607368.9 | 申请日: | 2018-12-27 |
公开(公告)号: | CN109472846B | 公开(公告)日: | 2022-11-29 |
发明(设计)人: | 姚静;尹钰鑫;董兆胜;寇成浩;田月 | 申请(专利权)人: | 燕山大学 |
主分类号: | G06T11/20 | 分类号: | G06T11/20;G06K9/00;G06F17/15;G01R23/02 |
代理公司: | 北京孚睿湾知识产权代理事务所(普通合伙) 11474 | 代理人: | 韩燕 |
地址: | 066000 河北省*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | matlab 处理 频数 获得 伯德 方法 | ||
1.一种用MATLAB处理扫频数据获得伯德图的方法,其特征在于,包括如下步骤:
S1、进行扫频实验,将实验数据导入MATLAB中,实验数据包括时间、频率、频率对应的指令信号以及实际信号;
S2、按时间顺序在扫频数据中依次选取指令信号和实际响应曲线中的数据点,针对每一点处的数值,用循环结构使该数值与前后各m个数值相比较,若该数值在前后各m个数值中是最大值,则确定此时为峰值点,其中m为整数,m取值区间为小于等于最大频率对应的一周期内的采样点数且大于等于其半周期内的采样点数;确定扫频数据的所有峰值点及相应的时间值;
S3、对筛选出的峰值点再次筛选,去除相邻峰值点间隔时间小于n值的峰值点,以去除连续的峰值点,从而得到更精确的峰值点,n值为扫频数据中最大频率所对应的周期的一半;
S4、对得到的指令信号峰值点和实际信号峰值点按时间顺序进行组对,每对峰值点的实际信号对应的时间大于指令信号对应的时间,且其差小于该频率对应的周期,因此,当某对峰值点的实际信号对应时间小于指令信号时间,则删除该实际信号峰值点且后面的实际信号峰值点依次上移并进行组对,直至该对峰值点满足要求;当某对峰值点的实际信号与指令信号的时间差大于该频率下对应的周期,则删除该指令信号峰值点且后面的指令信号峰值点依次上移并进行组对,直至该对峰值点满足要求;
S5、运用MATLAB进行数组运算,对成对的峰值点的峰值、指令信号和实际信号的时间间隔及其对应的频率进行计算,得到幅值比、相位差及其相应频率;
S6、使用semilogx函数绘制伯德图;
筛选峰值点前,将扫频数据按频率分段,再分段执行步骤S2和S3,确定每段扫频数据的峰值点及相应的时间值,此时m和n取值所涉及的最大频率都是每个频率段内的最大频率;
所述m值的确定方法为:
对于指令信号,直接取m为其取值区间3/5处的值,得到峰值点数a1;
对于实际信号,m值采用二分法试验规则确定,具体为:
在m取值区间内进行试验,设m取值区间为[p,q],其中p为最大频率对应的半周期内的采样点数,q为最大频率对应的一周期内的采样点数;在m的取值计算过程中,m值为整数且遵循四舍五入原则;
选取m的试验值b=(q+p)/2,在此m值下进行峰值点筛选,若此时a-a1>10,则令p=b,q=q,再进行峰值点筛选;若此时a-a1<0,则令p=p,q=b,再进行峰值点筛选,直至找到令0≤a-a1≤10成立的m值或m的取值区间长度变为1;
若找到令0≤a-a1≤10成立的m值,则令m每次减小1,反复进行峰值点筛选,直至找到某个m值,当m值再减小时,峰值点数a不变且大于或等于a1,则该值为适当的值;
若m的取值区间长度为1,则该取值区间左极限值为适当的m值;
筛除所述实际信号峰值点中相邻峰值点间隔时间小于n值的峰值点,以去除连续的峰值点,
以得到精确的峰值点,具体规则为:
设有连续x个峰值点之间相邻峰值点间隔时间小于n值,若x为奇数,则选择第(x+1)/2这个点作为峰值点,去除第(x+1)/2这个点以外的峰值点;若x为偶数,则选择第x/2这个点作为峰值点,去除第x/2这个点外的峰值点。
2.根据权利要求1所述的用MATLAB处理扫频数据获得伯德图的方法,其特征在于,对同一频率下计算得到的幅值比、相位差取平均值,以使结果更加精确。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于燕山大学,未经燕山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811607368.9/1.html,转载请声明来源钻瓜专利网。