- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于虚拟仪器的任意m序列设计
摘要 论述了伪随机m序列的产生原理、特性以及构成方法,利用LabWindows/CVI为开发平台,设计了一种2~22级m序列发生器。仿真结果表明,该系统具有远程通信、界面友好、易于集成和扩展等优点,可实现无线激光通信系统误码率的自动化测试。
关键词 m序列;LabWindow/CVI;激光通信
无线激光通信是以光信号为载波,大气为传输介质实现点到点或点到多点信息传输的技术。该技术具有成本低、组网灵活、安装方便、无需频率许可等优点。在测试数字通信系统的误码率时,其测试结果与信号源送出信号的统计特性有关,所以随机信号是理想的信号源。但在测量单程数字通信的误码率时不能利用随机信号,只能利用性能相近的伪随机序列代替,通常使用m序列。伪随机序列是由数字电路产生的周期数列,具有良好的随机性且接近于白噪声的相关函数,并且有预先可确定性和可重复性。这些特性使得伪随机序列广泛应用于误码率测量、时延测量、噪声产生器、和通信加密等方面。m序列是由线性反馈移存器产生的周期性的最长二进制数字序列。作为一种伪随机序列,具有扩展频谱和区分通过多址接入方式使用同一传输频带不同用户信号的功能,广泛应用在扩频谱水声通信、激光测距雷达、激光通信等领域。
LabWindows/CVI是National Instrument(NI)公司推出以交互式C语言为开发平台的虚拟仪器开发软件,将功能强大的C语言与测控技术结合,具有灵活的交互式编程方式、丰富的库函数、自动检测环境、数据采集系统、过程监控系统等应用软件。
利用Labwindows/CVI开发软件,设计了用于激光通信系统误码率自动测试的2~22级任意m序列产生系统,利用系统模拟了8级m序列,并验证了系统的可行性。
1 理论基础
m序列的产生原理
通常产生伪随机序列的电路为反馈移位寄存器,包括线性反馈移位寄存器和非线性反馈移位寄存器。由线性反馈移位寄存器产生的周期最长的二进制数字序列,称为最大长度线性反馈移位寄存器序列,又称m序列。
图1给出了n级线性反馈移位寄存器序列产生的结构原理图,图中的CnCn-1…C1C0是反馈系数,也是特征多项式系数,由本原多项式系数确定。反馈系数的值只能取"0"或"1",取"0"表示连接反馈,取"0"表示没有连接反馈,反馈系数直接决定了m序列的输出结果。
图1中,设n级移位寄存器的初始状态为an-1an-2…a1a0,经过一次移位时,移位寄存器左端新得到的输入为an,则有
式中,Ci表示第i级反馈系数;an-i表示第n-i位输入。Ci是一个重要的参量,它的取值决定了移位寄存器的反馈连接和序列的结构。用特征方程可表示为
产生m序列的充要条件为:反馈移位寄存器的特征多项式是本原多项式。部分本原多项式如表1所示。
基于表1可以产生2~22级的任意m序列,例如8级本原多项式系数为(435)8=(100011101)2,由式(2)知特征多项式系数应为(101110001)2,即C0=1,C1=0,C2=1,C3=1,C4=1。C5=0,C6=0,C7=0,C8=1代入(1)得
2 m序列的特性
2.1 均衡性
在m序列的一个周期里,"1"的个数比"0"多一个。在上述8级m序列中"1"的个数为128,"0"的个数为127。级数越多,"1"和"0"的个数就越趋于相等。
2.2 游程分布
在一个序列中取值相同,连在一起的元素合起来称为一个游程。一个游程里的元素个数叫作游程长度。在上例8级m序列中游程分布如表2所示。可以看出长度为k的游程占总游程的2-k。
2.3 移位相加特性
一个m序列m1与其经任意延迟移位产生的另一序列m2经过模2相加算法,得到的仍是m1的某次延迟移位序列m3,有
以4级m序列为例,这里取初值为(1101)2得其m序列即m1=110101100100011,m1右移2位得m2=111101011001000,由式(4)可得m3=001000 111101011。可以看出,m1右移8位得到m3,所以级数相同的不同初值的m序列都是由统一序列经过不同的延迟移位得到的。
2.4 自相关特性
由周期函数的自相关函数定义可推出二进制编码中的自相关函数式R(j)为
A是序列与其j次移位序列一个周期中对应元素相同的数目。D表示序列与其j次移位序列一个周期中对应元素不相同的数目。n是序列周期。
由式(5)可知m序列的自相关性为
由于m序列的以上性质与随机序列相似,所以m序列被定义为一种伪随机序列。又由于m序列能重复产生和处理,所以它避免了随机序列的缺点又具有随机序列的优点。
3 基于LabWindows/CVI的m序列的产生
从总体设计看,软件可分为3大模块:主界面的设计和数据显示模块,数据分析和计算模块,通信模块。其中主界面的设计模块主要用于各种参数的输入,用户命令的发送,数据显示以及波形显示。数据的分析和计算模块将用户输入的数据按m序列的产生方式计算出m序列。通信模块主要是利用RS232实现PC与数据传输设备之间的数据传输。程序流程图如图2所示。
3.1 主界面的设计和数据显示
主界面设计和数据显示模块:主要指人机界面部分,即虚拟面板。用户通过虚拟面板来完成对仪器的操作,可以在虚拟面板中设定m序列的级数、初值、以及所需的周期数。用户在设定好这些值之后只需要点击"显示结果"便可在面板上看到m序列的值及其波形。如果需要将m序列发送出去,则点击"发送",点击"清除"便可清除所有数据。另外在虚拟面板上还设有"使用说明"可帮助用户轻松上手。虚拟面板是在PC机上运行,面板上的按钮设计为鼠标可用。
3.2 数据分析和计算
数据分析和计算模块是整个软件的核心,它决定软件运行的准确性和可靠性。程序设计流程如图3所示,从主界面的到级数、周期数和初值。
根据式(1)和式(2)查表1,可知2~22级m序列的算法,计算得出m序列。并将值和波形显示在面板上,如图3所示。
4 结束语
基于LabWindows/CVI软件开发平台,可为用户实现2~22级的任意m序列的生成和显示。根据用户的需要将产生的m序列通过RS232发送出去,通过仿真分析可知,该系统具有远程通信、界面友好、易于集成和扩展等优点,可实现无线激光通信系统误码率的自动化测试,并且具有稳定可行性。