发明内容
为了解决上述问题,本发明提供一种基于LMD近似熵、高积累积量和SVM的调制信号识别方法,以能更加快速、准确的识别信号的调制方式。
基于LMD近似熵、高积累积量和SVM的调制信号识别方法,其特征在于,包括以下步骤:
步骤1、利用LMD算法计算调制信号的一系列PF分量;
步骤2、选取前三个PF分量,分别求它们的近似熵作为调制信号一组特征参数;
步骤3、计算调制信号平均功率化后的四阶与六阶高阶累积量作为一组特征参数:
F1=|C40|,F2=|C63|;
步骤4、选取前一百次的特征参数作为训练样本,训练LS-SVM,并寻找LS-SVM的最优参数;
步骤5、用剩余的特征向量进行分类识别,得出分类的正确率。
本发明的有益效果:
1)LMD算法在估计包络函数时使用滑动平均,避免了虚假分量的产生。
近似熵可以作为时间序列复杂性的一种度量,信号经LMD分解后的PF分量为依次从高频到低频的时间序列,故用近似熵对PF分量进行量化,可实现以PF分量的复杂性作为目标的有用信息提取。求近似熵相对而言比较简单,快速。
2)利用高阶累积量调制识别的方法中,要用到多个累积量值构造特征值,本发明只需一个累积量值即可有效进行MQAM与MPSK类内识别。
3)相对于支持向量机模型,LS-SVM模型中的约束是等式约束,降低了计算复杂度。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
选取BPSK、QPSK、8PSK、16QAM和64QAM五种调制信号作为诊断对象,
在MATLAB软件中模拟调制信号。利用LMD算法把调制信号分解为一系列PF分量,再选取前三个PF分量,求它们的近似熵,作为调制方式的特征向量之一,选取基于高阶累积量构建的特征参数:F1=|C40|,F2=|C63|作为特征向量,在对调制信号进行分类时,选用LS-SVM。前100次的特征向量用于训练,后100次的特征向量用于验证分类的正确性。
基于LMD近似熵、高阶累积量和SVM的调制信号识别方法分析如下:
(1)在MATLAB软件中模拟出BPSK、QPSK、8PSK、16QAM和64QAM五种调制信号,其载波频率fc为2000HZ,采样频率为12000HZ,码元速率为500bps,信道模型是均值为0的高斯噪声信道
(2)利用LMD算法得到调制信号的一系列PF分量。算法包含以下步骤
①计算信号的局部极值点集合,再计算任意2个相邻极值点的平均值;
②利用①所得的局部极值点集合,确定包络估计值集合;
③利用计算所得的局部均值点集合和包络估计值集合将集合中所有相邻的2个值,分别用折线相连,然后进行平滑处理,得到局部极值函数和包络估计函数;
④将局部极值函数从原始信号中分离出去;
⑤将分离后的信号进行解调,理想情况下得到纯调频信号;
⑥把迭代过程中产生的包络估计函数相乘得到包络信号;
⑦将包络信号和纯调频信号相乘,得到原始信号的首个PF分量;
⑧从信号中分离出来的PF,对应得到一个新的信号,将新信号作为原始信号重复①-⑧步聚,直到残余信号是单调函数,停止迭代;
(3)选取前三个PF分量,分别求它们的近似熵作为信号的一组特征向量,算法步骤如下:
①设给定长度为N的一维时间序列{u(i),i=1,2,...,N},按式
Xi={u(i),u(i+1),...,u(i+m-1)}
重构m维向量Xi,i=1,2,...,n,n=N-m+1。
②计算向量Xi与其他向量Xi(j=1,2,...,n,n=N-m+1)
之间的距离:
d=max|u(i+j)-u(j+k)|,k=0,1,...,m-1
③给定一个阀值r,对每个向量Xi统计d≤r的数目以及此数目与距离总数(N-m)的比值,记为
④对取对数,然后将所有的i求平均值,记为Φm(r):
⑤将m加1,重复前面①-④的步骤,求得和Φm+1(r)。
⑥这样由Φm和Φm+1得近似熵。
(4)基于高阶累积量构建特征参数:F1=|C40|,F2=|C63|,步骤如下:
①计算信号的p阶混合矩:
Mpq=E[y(k)(p-q)y*(k)q]
②利用得到的混合矩求各阶累积量:
C20=Cum(y(k),y(k))=M20
C21=Cum(y(k),y*(k))=M21
C40=Cum(y(k),y(k),y(k),y(k))
=M40-3(M20)2
C42=Cum(y(k),y(k),y*(k),y*(k))
=M40-|M20|2-2(M21)2
C63=Cum(y(k),y(k),y(k),y*(k),y*(k),y*(k))
=M60-6M20M41-9M42M21+18(M21)2M21-12(M21)3
③计算联合特征模块所需的特征值:
F1=|C40|,F2=|C63|
平均功率化后各调制信号的高阶累积量的理论值如下表所示。
调制方式 |
|C20| |
|C21| |
|C40| |
|C42| |
|C63| |
BPSK |
1 |
1 |
2 |
2 |
13 |
QPSK |
0 |
1 |
1 |
1 |
4 |
8PSK |
0 |
1 |
0 |
1 |
4 |
16QAM |
0 |
1 |
0.68 |
0.68 |
2.08 |
64QAM |
0 |
1 |
0.6191 |
0.6191 |
1.7972 |
(5)选取一部分特征向量作为训练样本,训练LS-SVM,并用寻找最优的参数,以达到最优的分类效果,算法如下:
①在设定空间内,随机初始化果蝇群体位置(X0,Y0)以及给定群体规模m,最大迭代次数n;
②根据初始位置,赋予每个果蝇个体搜寻失误的随机方向与距离。由于对惩罚函数γ和核函数σ两个参数寻优,因此X与Y各有两列数值
X(i,1)=X0+R(i)
X(i,2)=X0+R(i)
Y(i,1)=Y0+R(i)
Y(i,2)=Y0+R(i)
式中:R为搜索步长;i为迭代次数。
③由于无法得知事物的位置,因此先估计与原点之间的距离D,再计算味道浓度判定值P,此值为距离之倒数
④对惩罚系数γ和核函数σ进行赋值:
γ=10·P(i,1)
σ=P(i,2)
⑤将均方误差作为味道浓度判定函数f(·),每次迭代寻优获得一组味道浓度值S(i)并保留
S(i)=f(P(i))
⑥求出此果蝇群体中味道浓度最高的果蝇
[S′ I′]=min(S(i))
⑦判断i是否小于2,若小于2,则直接执行⑧,否则继续判断S′(i)是否小于S′(i-1),
若是,令否则,令
⑧判断S′(i)是否小于S″,若是,则保留最优味道浓度值与相应位置,并记录此时的γ和σ,同时果蝇群体利用视觉往该位置飞去
X0=X(I′,;)
Y0=Y(I′,;)
S″=S′
γ′=10·P(I′,I)
σ′=P(I′,2)
否则,只记录所对应的位置
X0=X(I′,;)
Y0=Y(I′,;)
⑨进入迭代寻优,执行步骤②-⑧,并判断当前迭代次数是否达到最大迭代次数n,若是则执行步骤⑩,若不是则继续执行步骤②-⑧;
⑩算法结束,获得最优味道浓度值S″,最优惩罚系数γ′以及最优核函数σ′(6)用剩余的特征向量进行分类识别,得出分类的正确率。