APP下载

基于GNU Radio高阶累计量的MPSK信号分类器设计*

2018-09-03李晓光潘克刚

通信技术 2018年8期
关键词:码元识别率分类器

李晓光,潘克刚,齐 帅,潘 晨

(中国人民解放军陆军工程大学 通信工程学院,江苏 南京 210007)

0 引 言

自动调制分类是一种识别接收信号的调制类型技术。它在诸如智能调制解调器、软件定义无线电、频谱监测、电子监控和威胁分析、信号确认、干扰识别以及可编程和可重构无线电系统[1-4]中有着广泛应用。其中,关键技术是设计能够识别使用的调制类型的智能分类器。

根据调制识别分类研究情况,在分类过程中分别使用多个特征提取,一般涉及二阶、四阶和六阶的矩和累积量[5-7]。为了有效识别调制信号,基于计算的八阶累计量,开发和验证用于MPSK相位多级数字调制的自动分类技术。相比于前面的研究,在特征提取过程中选取与3个八阶累积量关系相关的特征参数。

所提出的分类算法将使用Matlab进行仿真验证,并使用GNU Radio和Boost库在C++中实现该识别模块。GNU Radio和USRP软件无线电是一种开放的可重新编程的无线电通信系统,根据软件改变便携式USRP硬件设置,结合GNU Radio软件就可设计所需的通信系统。

1 多相数字调制(MPSK)

M进制相移键控信号载波相位有M个值,已调信号的时域表达式为:

MPSK调制的星座平面中,点分为两部分:相位分量和正交分量,分别称为描述星座Xi的表达式的实部和虚部:

其中A是信号幅度值,φ是星座的相位角。

2 高阶矩和高阶累积量

X=cul(x1,x2,…xk)是一向量,Ix={1,2,…,k}是其指示符集。mx( I )和cx( I )是X的子向量X1的矩和累积量,可以写出:

于是,得到矩-累积量公式(简称M-C公式):

以一种类似的方式,累积量被定义为一个复杂的、零均值和阶数为p的随机过程Cpq,x=cum[Xp-qX—p]。

对于MPSK调制复数随机过程,定义了算子cum[·]。对于k=8,l=0、1、4,根据M-C公式有:

3 分类器设计

根据以前的结果,在MPSK星座计算八阶累积量变量,信号模型为加性高斯白噪声数字调制信号。假设在载波、定时同步的前提下,经过下变频,匹配滤波器输出的复基带序列表达式为:

其中,p为信号的平均功率,an为发送码元序列,Ts是码元周期,θc为相位偏差,ωc为载频,g(·)为发送的码元波形,n(i)为零均值的加性复高斯白噪声序列,N为观测数据的长度。

接收端已知载频信息且达到定时同步的情况下,对待识别信号进行下变频处理,得到了采样复信号序列的表达式为:

通过对高阶累积量理论的研究可以知道,对于信号,阶数k>2的累积量对噪声nk具有抑制作用。因此,这里只分析ak的各累积量。对于MPSK信号而言,它的码元同步采样复信号的表达式为:

在假定发送的信息序列为独立同分布的情况下,计算2PSK信号的高阶矩,得到如下八阶累积量:

在MPSK(2PSK、4PSK、8PSK和 16PSK) 计算八阶累积量结果,如表1所示。

从表1可以看出,累积量结果取决于信号的平均功率和相位偏差。

表1 MPSK八阶累积量

根据表1中提到的理论结果,提出将其定义为用于识别调制的特征向量,具有以下关系:

根据式(15)得到FM的确定性值。考虑表1的结果,对于每个要分类的调制类型,有:

可以采用定义新的特征参数:

来实现MPSK信号的分类[8]。

可见,DΩ结果与信号的平均功率和相位偏差无关。所以,分类器逻辑设计如下:

假设观测值为FR=[+],实测值D=+对不同的MPSK调制类型实现分类。

4 仿真分析

仿真分析MPSK信号分类识别性能。通过Matlab产生仿真MPSK信号,仿真条件为:采样频率60 kHz,载波频率10 kHz,码元速率为2 500 Hz,符号数为1 000,噪声为加性高斯窄带噪声,SNR=-5~25 dB。

图1为根据这一特征参数进行500次蒙特卡罗试验对信号进行分类识别得到的结果。该参数在SNR>2.5 dB的情况下,可以对MPSK信号分类。

图2为输入符号数N分别为1 000和500时,进行1 500次蒙特卡洛试验的出的的识别率。图2(a)中,在SNR≥6 dB时,识别率可达到100%;而N为500的图2(b)中显示,在SNR=7时,识别率还没达到100%,尤其是16PSK表现更差。可见,符号数越多,识别率越高。

图1 分类识别结果

图2 识别率

综合识别结果和识别率情况,当信号SNR>5 dB时,可以实现正确的分类,验证了分类方法的有效性和准确性。

5 软件无线电平台设计

5.1 软件无线电平台简介

GNU Radio和USRP软件无线电平台,软件部分主要基于Linux操作系统,通信系统模型由C++和Python语言编程构成。C++语言用来编写各种信号处理模块,而这些信号处理模块在GNU Radio中被称为“Block”;Python用来连接各个Block,使之成为一个脚本文件,从而实现通信系统的某些功能,而这个脚本文件被称为“Flow graph”。USRP是硬件部分,作用是收发射频信号并将其转换为基带信号连接PC机[9]。

通过软件开发通信系统具有良好的性能,只需利用系统自带的通信模块功能和开发的Block,就可改变系统的功能。因此,利用该系统进行仿真实现和做成工程项目也已经普遍。此外,该平台软件是一个开源项目,硬件部分的价格不高,技术要求较低,用户均可参与该平台的建设[10-11]。

5.2 分类器设计

5.2.1 C++程序设计流程图

C++程序设计流程图,如图3所示[12-13]。

将输入分成M段长度为L的数据,根据式(15)、式(16)和式(17)计算D(i),i=1,2,…,M,求出平均值D。根据比较设置的阀值和参照分类器逻辑设计(式(18))输出调制类型识别结果,并将数据推送到下一个信号处理模块。

5.2.2 grc/myblk_CUMA.xml设计

主要设计Block名称、控制参数和输入输出口,如表2所示。

图3 流程图

表2 相关设计参数

其中,在程序运行过程中,实时改变参数的值callback关键字,调用C++的成员函数,修改BLOCKSIZE的值,用来控制每次截取数据块大小。

5.2.3 Block设计

分类器为同步类型模块名称为CUMA,输入输出端数据类型为复数(Complex)。设计2个输出口连接不同的解调模块,配置参数为处理数据模块大小,默认24 000。

图4为3部分的拼合。右上方为Block已经注册到系统内,左上方为创建的Block调用情况,下方则为Block设置参数。

图4 分类器

5.3 软件无线电平台设计和结果

发射机(如图5所示)随机信号生成模块,调制模块生成MPSK复包络信号,使用USRP设置中心频率为1 GHz的信号进行无线发射。为了监控星座图,可在发射端构建信号监测模块。接收机如图6所示,UHD中心频率1 GHz,包括分类器识别模块、可控信道信道模块、CMA盲均衡模块、锁相环模块和信号监测模块。

图5 发射图

图6 接收图

图7 接收端信号星座图

图7 是模块搭建后测试2PSK、4PSK、8PSK、16PSK信号经过可变信道进行参数设置,经过分类器模块处理后的星座图。可见,分类器能准确识别输入信号,模块性能良好。

6 结 语

在计算八阶累积量的基础上,定义新的特征向量和特征参数,而这些特征不受信号的幅度和相位偏差影响,可利用特征值设计MPSK信号调制识别分类器。通过Matlab仿真进行对比论证,结果证明了该分类器的有效性和正确性。此外,基于GNU Radio和URSP平台实现了模块化设计,通过MPSK的调制信号验证,证明分类器模块具有良好的性能,为该方向工程实现奠定了良好的试验基础。

猜你喜欢

码元识别率分类器
基于参数预估计和滑动FFT的MFSK信号类内识别方法*
基于ZYNQ的IRIG-B(DC)码设计与实现
基于朴素贝叶斯的无线局域网络入侵防御技术研究
基于朴素Bayes组合的简易集成分类器①
LFM-BPSK复合调制参数快速估计及码元恢复
基于特征选择的SVM选择性集成学习方法
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
听力正常青年人的低通滤波言语测试研究*
提升高速公路MTC二次抓拍车牌识别率方案研究
基于差异性测度的遥感自适应分类器选择