一、扩频码序列
在扩频系统中,信号频谱的扩展是通过扩频码实现的。
扩频系统的性能和扩频码的性能有很大关系,对扩频码通常有下列要求:易于产生;具有随机性;扩频码应该具有尽肯能长的周期,使干扰者难以从扩频码的一小段中重建整个码序列;扩频码具有良好的自相关和互相关特性,以利于接收时的捕获和跟踪,以及多用户检测等。
从理论上说,用纯随机序列去扩展频谱是最理想的。
例如,高斯白噪声,但在接收机中为解扩的需要,应当有一个同发送端扩频码同步的副本,因此,实际上只能用伪随机或防噪声序列作为扩频码。
伪随机序列具有类似噪声的性质,但它又是周期性有规律的,易于产生和处理。
扩频码中应用最多的是m序列,又称最大长度序列,还有Gold序列、Walsh码序列等。
二、m序列
三、仿真实现
本程序实现的功能:生成n=3的m序列,其中第一个寄存器与第三个寄存器与反馈加法器相连,寄存器的初始值都为1。
程序源代码请参考m_sequence.m。
(注:使用时需要修改m_sequence.txt文件后缀格式,修改为m_sequence.m,然后用MATLAB打开运行。
其他程序也是如此。
)
其中产生m序列的功能通过调用函数mseq来实现,mseq函数代码请参考mseq.m(需要将mseq.txt文件名修改为mseq.m),函数中第28行的shift函数是完成序列的循环移位,它的代码请参考shift.m(需要将shift.txt修改为shift.m)。
完成相关的设定(寄存器连接方式,初始值)后,直接调用mseq函数即可生成对应的m序列。
程序运行结果为
mout =
1 1 1 0 1 0 0。