基于GNURadio的CMA盲均衡器和锁相环组合设计与实现
2018-08-06李晓光潘克刚
李晓光,潘克刚
(中国人民解放军陆军工程大学 通信工程学院,江苏 南京 210007)
0 引言
在通信系统中不理想的信道会对信号造成畸变,其中非常普遍的畸变就是信道间干扰和码间干扰,会使信号的频率发生频移和相位发生偏转,降低数据传输的可靠性。为此,常在接收端采用适当补偿的方式解决畸变问题。Bussgang类盲均衡算法是以一种迭代方式进行盲均衡,缺点是算法收敛时间长,收敛后稳态剩余误差大[1]。Godard最早提出恒模算法(Constant Modulus Algorithm,CMA),它是Bussgang类盲均衡算法中最常用的一种[2-3]。郭晓宇、赵宝峰等对恒模盲均衡算法进行了改进[4-5]。童本锋设计了基于锁相环的CMA盲均衡器[6],解决了信号幅度变化和相位偏移补偿的问题。改进型CMA盲均衡器可以对信号幅度做均衡,其性能优于常规CMA,二阶PLL可以对频偏和相位旋转进行补偿,其性能优于一阶锁相环,而两者结合可以提高收敛速度,减少稳态误差,可以用于实时信号的畸变处理。联合使用GNURadio和USRP(Universal Software Radio Peripheral,通用软件无线电设备)的软件无线电是一种开放的可重新编程的无线电通信系统[7],现在已经普遍利用该系统进行仿真实现和工程项目开发。使用C++和Python语言编写通信模块,通过GNURadio软件结合USRP硬件可以设计所需的通信系统。因此,深人研究基于软件无线电平台的CMA盲均衡器和PLL组合的信号处理系统具有非常重要的意义和使用价值。
1 盲均衡器原理和组合设计
1.1 盲均衡的原理
盲均衡器是一种不需要训练序列就可以完成信道的均衡自适应技术,原理如图1所示。
图1 盲均衡系统
输入序列x(n)假设为独立同分布序列,通过一未知时变离散时间传输信道h(n),考虑加性信道噪声n(n),得到均衡器接收序列y(n):
(1)
可知,y(n)是由x(n)和h(n)卷积而成,要想从y(n)中获得x(n),就需要对y(n)进行反卷积或解卷积运算。
1.2 Bussgang类盲均衡算法
图4 仿真各阶段信号星座图
Bussgang盲均衡器原理图如图2所示。Bussgang类盲均衡算法有两个公式[2],式(2)为均衡器输出,式(3)为抽头系数迭代。
(2)
W(n+1)=W(n)-2μe(n)Y*(n)
(3)
图2 Bussgang盲均衡器的原理图
1.3 恒模算法
Godard提出的CMA是最常用的一种Bussgang类盲均衡算法[3]。表1所示为恒模算法公式列表。
表1 恒模算法公式
1.4 恒模算法和锁相环组合
因为改进型CMA可以均衡因信道引起的信号幅度,而二阶PLL纠正信号的频偏和相偏,因此改进型CMA和二阶PLL相结合的方法可以减小稳态均方误差和处理信道引起的畸变,既能加快收敛速度,又能纠正频率误差和相位误差。图3所示为两者结合信号处理原理图。
图3 CMA盲均衡和锁相环信号处理原理图
2 仿真实现
基于原理图生成QAM信号,调制频偏100 Hz,相位偏移10°,经SNR=10 dB高斯信道,监测信号星座图。
图4星座图分别是:(a)为原始4-QAM基带信号,(b)为信号经过调制通过加性噪声高斯信道后有频偏相偏信号,(c)为经过改进型CMA处理后的信号,(d)为经过改进型CMA和二阶PLL处理后的信号。通过分阶段星座图显示,经过改进型CMA处理后幅度均衡效果明显,再经过二阶PLL处理后信号解调星座图收敛较好。
图5信号未经过CMA处理,通过频响时间可见信号趋于稳定时间明显增加,相位趋于稳定时间明显增加,相位偏移起伏也明显增大,尤其是处理后信号解调星座图收敛不好,误码率高。而图6是信号经过改进型CMA和二阶PLL处理后的情况,可见总体效果较好。
综合上面仿真情况来看,改进型CMA和二阶PLL的组合对信号幅度、频率和相位都有较好的均衡和纠正,性能较好。
图5 未经CMA处理的信号图
图6 CMA+PLL处理的信号图
3 软件无线电平台实现
3.1 GNURadio和URSP软件无线电平台
本文的重点在于对GNURadio和USRP软件无线电平台的研究,并在其上实现CMA+PLL组合对信号消除信道畸变。GNURadio软件部分主要基于Linux操作系统,通信系统模型由C++和Python语言编程构成,C++语言用来编写各种信号处理模块,这些信号处理模块在GNURadio中被称“block”; Python用来连接各个block使之成为一个脚本文件,从而实现通信系统的某些功能,而这个脚本文件被称为“flow graph”。USRP是硬件部分,它的作用为收发射频信号并将其转换为基带信号连接PC[8]。
GNURadio和USRP软件无线电平台的软件部分是一个开源的项目,硬件部分的价格也不是很高,技术要求较低[9]。
3.2 模块化实现
使用GNURadio软件设计信号处理模块,用USRP硬件发射和接收。发射机(图7):随机信号生成模块生成随机二进制数据,调制模块生成MQAM(M=4,16,64)基带信号或者MPSK(M=2,4,8)(灰色模块)基带信号,两个模块可选,发射USRP设置中心频率为1 GHz。接收机(图8):接收USRP设置中心频率为1 GHz,考虑到信号经过无线通道后参数不可控,增加一个模拟信道模块,经过模拟信道模块仿真多径分布、频率偏移和相位偏移等参数,CMA盲均衡模块和PLL(选用科斯塔斯环)模块处理经过信道影响后的信号,处理后的信号送入信号解调和星座图监测模块。
参数设置:(1)随机信号生成:10 000码元重复生成;(2)调制模块:MQAM (M=4,16,64)调制,格雷差分编码,或MPSK(M=2,4,8)调制,格雷差分编码;(3)发射接收单元:发射IP192.168.10.3,射频1 GHz,AGC增益50 dB,接收IP192.168.10.2,中心频率1 GHz;(4)模拟信道:噪声电平,归一化的频率偏移、相位偏移,多径分布;(5)多相时钟同步;(6)CMA均衡器:抽头数15,增益参数;(7)锁相环:二阶环路带宽参数;(8)星座显示;(9)频谱显示。
可变参数:噪声电平,归一化的频率偏移,采样定时偏移量,多路径延迟分布,均衡器增益,环路带宽。
全局变量:samp_rate为32 000,arrity为4,sps为4,taps为1,nfilts为32。
幅度系数常量:0.5+0.5j,从数学导入pi,从gnuradio.filter导入firdes,升余弦整形滤波器设计参数:rcc_taps:firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), 0.35, 11*sps*nfilts)。
系统组建完成后,测试发射了4,8-PSK和16,64-QAM信号,经过接收和CMA+PLL模块处理,图9为信号解调星座,可见信号通过系统后星座图收敛情况较好。
图7 发射模块图
图8 接收模块图
图9 信号星座图
4 结论
本文分析了一种用来处理信号畸变的CMA盲均衡器和PLL组合方法,并对组合的方法进行改进。通过MATLAB仿真进行对比论证,仿真结果证明了该方法的有效性。研究并设计了基于GNURadio和USRP软件无线电平台的CMA盲均衡器和PLL组合的系统,通过MQAM和MPSK的信号验证,系统性能良好。