通过上述讨论知道,周期为2r-1的m序列发生器由r级移位寄存器组成。同时,由r个比特所能组成的所有序列(除全零序列外)都会在m序列的一个周期内遍历,且相应的前后位置固定。因此,如果两个具有相同逻辑结构的m序列发生器在某一时刻所有寄存器状态完全相同,则由这两个m序列发生器所产生的数字数据流保持同步。随动同步就是根据m序列的这个性质实现的。
3 误码仪逻辑结构
发端模块
本误码仪的发端模块实质上是一个多功能的序列发生器。用户可以通过相应的控制信号,指定其m序列发生器的线性反馈逻辑。由它产生的数字数据流将作为仿真数据送出到需要进行误码性能测试的数字通信系统中。
收端模块
收端模块在逻辑上可以分成两个功能子模块:一是m序列发生子模块,二是误码统计子模块。前者的逻辑功能与发端模块相类似,其作用是产生一个与发端形式相同并且比特对齐的本地m序列;后者的作用是将收到的数据与本地m序列相比较,同时统计误码指标,从而完成对数字通信系统的误码性能测试。
在测试过程中,接收到的数字序列被不断地逐次移入接收数据缓冲器中。在接收序列中,任意截取包含r个连续比特的片断(其中r为发端m序列发生器的阶数),将其置入本地m序列发生器的移位寄存器中,作为其初始状态,并假定此时收发双方已同步在这个状态。此后,本地m序列发生器与接收数据缓冲器同步移位输出。这样,只要对两个序列逐位比较,就可以进行误码统计了。需要特别注意:如果截取的数据片断中包含误码,则据此得出的收发双方已同步的结论是错误的。这样的数据片断将导致整个误码统计过程失去意义,不妨称这种情况为同步。为了消除假同步的影响,需要一种保护机制,用以确保收发双方的正常同步。
根据上述思想,笔者设计的收端模块的状态机由4个状态组成,分别为搜索态(SEARCH)、预同步态(PRESYN)、同步态(SYN)和等待态(WAIT)。各个状态所完成的功能如下:
搜索态(SEARCH):在该状态下,当接收数据缓冲器中出现非全零状态时,其中的序列被置入收端m序列发生器的移位寄存器中,同时进入预同步状态。
预同步态(PRESYN):在该状态下,本地m序列发生器输出本地比特流,并使其与收到的数据流进行逐位比较,同时进行初步的误码统计。如果统计结果指示误码高于某一事先选定的阈值,则说明电路进入了假同步,于是需要返回搜索态重新同步。反之,则可以较大的概率认为收发双方已经同步。反之,则可以较大的概率认为收发双方已经同步,电路进入同步态。
同步态(SYN):在该状态下,电路将进行正式的误码统计,并且在指定的测试周期结束时进入等待状态,同时输出误码测试结果。
等待态(WAIT):误码测试尚未启动以及测试结束时所处的状态。在该状态下误码仪等待再一次误码测试的启动信号。