基于星座图聚类分析的QAM信号调制识别算法及其DSP实现
扫描二维码
随时随地手机看文章
QAM(Quadrature Amplitude Modulation)正交幅度调制是移动通信领域中常用的调制方式,它是用两个独立的基带数字信号对两个相互正交的同频载波进行抑制载波的双边带调制,并利用这种已调信号在同一带宽内频谱正交的性质来实现两路并行的数字信息传输。由于QAM调制方式的广泛应用,使得对QAM信号的调制识别研究具有很现实的意义。
ADSP TS201芯片是AD公司于2003年发布的TigerSHARC系列中的一款,其内核工作频率高达600MHz,片内存储器为24Mbit。TS201优越的性能使得它在无线通信、军事、工业等领域的应用更加广泛。
本文首先讨论基于信号星座图聚类分析的QAM信号识别算法,接着对TS201芯片进行了简介,最后在给出了DSP程序开发流程的基础上,利用TS201芯片完成了算法DSP实现。
1 QAM信号识别方法
信号调制样式的自动识别是软件无线电台必备的功能之一,并已被广泛应用于电子对抗、通信情报、电子侦察等领域。待识别信号有4QAM、16QAM、32QAM、64QAM四种信号。这里讨论一种QAM信号的识别算法,即:采用基于信号星座图的聚类分析和评价函数相结合的算法来识别信号。此算法首先对待识别的调制信号进行星座图的聚类分析,再根据聚类结果构造出一个评价函数,并利用评价函数得出识别结果。
1.1 信号星座图的聚类分析
聚类分析常用于发现和提取数据间隐藏的分类关系,并研究数据样本之间存在的不同程度的相似性,同时找出一些能够度量样本之间相似程度的统计量,最后把一些相似程度大的样本聚合为一类。这里采用减法聚类算法对星座图进行聚类分析。
减法聚类的原理为:将每个数据点作为可能的聚类中心,并选择合适的聚类半径来计算该点的数据密度,再将数据密度最大的点选为第一个聚类中心,因其周围具有最高的数据点密度,在对各数据点的密度进行修正后,使得该点附近的数据被排除作为数据中心的可能性,然后从剩余的可能作为聚类中心的数据点中,继续采用类似的方法选择下一个聚类中心,这一过程一直持续到所有剩余数据点作为聚类中心的可能性低于某一阈值时为止,从而得到样本数据的聚类点个数和位置。
信号星座图的聚类分析就是把待识别信号数据先映射到星座图上,然后对星座图进行减法聚类,便可得到各个QAM信号的星座图聚类点个数和相对于星座图原点的位置。
1.2 识别算法
待识别信号是经过射频前端和数字下变频处理之后的基带数字信号,本文设计的信号识别算法如图1所示。
图中r1、r2、r3和r4分别表示4QAM、16QAM、32QAM和64QAM的聚类半径。通过MATLAB仿真发现,当各调制方式所对应的r取0.33、0.22、0.14和0.09时,进行减法聚类所得到的聚类中心数目最接近该调制方式的调制阶数。
针对待识别的每一类信号,在聚类半径不同取值的情况下分别进行减法聚类。并提取聚类点数M和参数R,然后利用评估函数C(M,R)对聚类结果进行评价,最后将评估函数的最大值所对应的信号类型作为判决结果。
评估函数的定义如下:
其中:i=1,2,3,4,分别对应四种调制方式的聚类结果。
变量R的定义:在方形QAM星座图中,各个星座点都可以根据其距离原点的半径值划分到不同的圆上,最外层的四个点半径值最大,内层的四个点半径值最小。定义R为半径的最大值和最小值的比值。Mci和Rci是不同调制方式的理论值,具体见表1所列。
y(x)是一个分段函数,定义如下:
2 TS201芯片介绍
ADSP TS201 TigerSHARC DSP是一款性能极高的静态超标量处理器,专门优化大的信号处理任务和通信结构。该处理器将非常宽的存储器宽度和双运算模块(支持32位和40位浮点及8位、16位、32位和64位定点处理)组合在一起,建立了数字信号处理器性能的新标准。TigerSHARC静态超标量结构使DSP每周期能够执行多达4条指令、24个16位定点运算和6个浮点运算。
TS201内含4条相互独立的128位宽度的内部数据总线,每条总线分别连接6个4 Mbit内部存储器块中的1个,可提供四字的数据、指令及I/O访问和33.6 GB/s的内部存储器带宽。该芯片的最高时钟频率为600 MHz,可以提供48亿次40位MAC运算或者12亿次80位MAC运算。
3 DSP程序开发
3.1 开发工具介绍
目前使用的开发环境有VisualDSP++V1.0、V2.0、V3.0、V4.0、V4.5和V5.0等数个版本。这些开发环境不仅支持TigerSHARC系列的DSP开发,同时也支持SHARC系列和Blackfin系列等。
VisualDSP++中集成的开发环境有:C/C++编译器、DSP实时库和C实时库、汇编器、链接器、分配器、加载代码产生器、硬件仿真器和软件模拟器等。其特点有:强大的编辑器功能,灵活的工程管理功能,极易访问开发工具产生的各种代码,灵活的(Bulid)编译链接功能,支持VDK(VisualDSP++Kernel),灵活的工作空间管理功能。
VisualDSP++调试环境的特点有:调试工具使用方便,所有的软件仿真器(Simulator)、硬件仿真器(Emulator)和开发板等都具有统一的界面;可以在这些目标之间灵活切换;提供多语言支持,可以调试用C/C++或汇编语言编写的程序,并可查看它们的机器语言;提供有效的调试控制,可以在标号或地址上设置断点,在寄存器、堆栈或存储器的位置上设置条件断点;具有同时多处理器调试能力。
3.2 DSP程序开发过程
DSP程序的开发一般分为三个阶段:
(1)软件仿真阶段。利用VisualDSP++提供的软件环境进行软仿真,不需要硬件;
(2)评估阶段。利用EZ-KIT板对程序进行测试和评估;
(3)硬件测试阶段。利用JTAG口对用户的目标系统进行模拟和测试。
DSP程序的详细开发流程如图2所示。
先编写链接描述文件,再用C语言或汇编语言编写源代码,由源代码和库文件组成工程文件,对工程文件进行编译连接,生成可执行代码,并利用Simulator模拟器,对代码进行软件仿真;再利用EZ-KIT板对程序进行测试和评估,最后对用户的目标系统进行模拟和测试。在整个程序开发过程中,均可利用软件仿真和硬件仿真对源代码进行优化。
4 算法的DSP实现
根据给出的基于信号星座图聚类分析的调制识别算法和DSP程序的开发流程,用C语言对该算法进行编程,并在TS201板上进行算法的性能测试。结果表明,当信噪比SNR>10dB时,算法对四种调制阶数的QAM信号具有较高的识别率,其4QAM、16QAM、32Q.AM、64QAM的识别率分别达到100%、99%、98%和100%。
5 结束语
本文给出了一种识别QAM信号调制方式的算法,即基于星座图的聚类分析和评估函数相结合的算法,并在介绍DSP程序开发流程的基础上实现了基于TS201的算法DSP实现。经过对该算法的性能测试,结果证明了该方案的可行性。