您好,欢迎访问三七文档
任意信号的周期性判定熊源•连续周期信号的定义:X(t)=x(t+kt0)(k为整数)常见的周期信号有:正弦信号、脉冲信号以及它们的整流、微分、积分等.这类可称为简单信号,它们的特点是在一个周期内的极值点不会超过两个且周期性特征明显.对于这类已明确具有周期特性的信号,周期与否的判别相对简单,周期测量的方法也很成熟完善,如:过零检测法、脉冲整形法等…现代电子测量技术的基本特征是数字化,无论是测量幅度还是时间或频率,测量系统总是优先考虑将信号转换为离散时间信号(序列)后再进行滤波、识别与测量.设对连续时间信号x(t)以τ为时间间隔采样并量化得到的离散时间信号(序列)为x(n)。自相关函数是信号在时域中特性的平均度量,它用来描述信号在一个时刻的取值与另一时刻取值的依赖关系,其定义式为(2.4.6)对于周期信号,积分平均时间T为信号周期。对于有限时间内的信号,例如单个脉冲,当T趋于无穷大时,该平均值将趋于零,这时自相关函数可用下式计算(2.4.7)周期信号的自相关函数是周期函数,且周期与周期信号相同。当自相关函数τ=0或T的整数倍时,x(t-τ)=x(t),Rx(τ)达到最大值,为x(t)的平均功率。计算公式:R(τ)=E[x(t)x(t+τ)],E为集合平均符号特点:1.在0点的值最大;之后变小,2.若信号中有周期成分,则自相关函数也有周期性,且不衰减!如:正弦信号的自相关函数为余弦函数;3.若信号中无周期成分,自相关函数一般衰减到均方值(未去直流)或0(在信号中去掉直流成分);*4.实现方法是利用自相关函数的峰值特性,取出中间的与下一个峰值比较来判定,得出是否为周期性的结论。clc;clear;formatlong;n=linspace(-24*pi,24*pi,33);x=sin(1*n);%x=(0.123*sin(0.2*t)).^2%+(cos(t)).^3;%-(tan(t.*t)).^4;%x=(1*sin(22*n));subplot(3,1,1);stem(n,x),title(‘任意信号的采样x[n]’),xlabel(‘时间’),ylabel(‘幅值’);title(‘x[n]的自相关函数rpx[n]’);%求x[n]的自相关函数rpx[n]rx=xcorr(x,‘unbiased’);算法核心步骤,求出x的自相关subplot(3,1,2);stem(rx),title('x[n]的自相关函数rpx[n]'),xlabel('时间'),ylabel('幅值');待测信号i=find(diff(sign(diff(rx)))==-2)+1;%取极大值时候所在的nM=rx(find(diff(sign(diff(rx)))==-2)+1);%取得的极大值n=round((length(M)+1)/2);%取得极大值的中间项subplot(3,1,3);stem(i,M),title('rpx[n]的峰值函数'),xlabel('取极大值时候所在的n'),ylabel('峰值');ta=M(n+1)/M(n);%中间峰值与下一峰值比较ifta0.9000;%考虑到采样失真,维持90%即可判为周期信号disp('Thisfunctionisperiodic');elsedisp('ThisfunctionisNotperiodic');end返回结果x=sinc(0.123*n);x=(0.123*sin(0.2*n)).^2+(cos(n)).^3-(tan(n.*n)).^4;额外》》该算法其实还可以适配有噪声的情况,可以判别无法直观辨认的受干扰的信号周期性。也是应用在复杂信号时候的潜力所在全家福一张。。“”感想:这次实操感受很深,对理论知识的理解很有帮助!尽管中途困难重重,跨过障碍就是蓝天~~谢谢!
本文标题:信号周期判定
链接地址:https://www.777doc.com/doc-5630676 .html