概述
最近接触到通信系统的同步问题,通信系统的同步问题其实就是利用伪随机码良好的自相关特性来进行码同步的。针对伪随机码的特性进行了初步探究。
1、随机码和伪随机码的区别?
所谓“随机码”,就是无论这个码有多长都不会出现循环的现象,而“伪随机码”在码长达到一定程度时会从其第一位开始循环,由于出现的循环长度相当大,例如CDMA采用42的伪随机码,重复的可能性为4.4万亿分之一,所以可以当成随机码使用。伪随机信号在码分复用、码分多址和扩频通信中都有重要的应用,其在通信领域有着广泛的应用,如扩频通信,卫星通信的码分多址,数字数据中的加密、加扰、同步、误码率测量等领域。,伪随机信号性能的好坏,直接关系到整个系统性能的好坏。
2、什么是m序列伪随机码?
m序列是CDMA系统中采用的最基本的PN序列, 是最长线性反馈移位寄存器序列的简称。它是由带线性反馈的移存器产生的周期最长的序列。一般来说,一个n级线性反馈移存器可能产生的最长周期等于(2^n -1)。
对于一个n级反馈移位寄存器来说,最多可以有2^n 个状态,对于一个线性m序列的移位寄存器来说,全“0”状态不会转入其他状态,所以线性移位寄存器的序列的最长周期为 2^n-1。当n级线性移位寄存器产生的序列{zi}的周期为T= 2^n-1时,称{zi}为n级m序列。当反馈函数f(z1,z2,z3,…zn)为非线性函数时,便构成非线性移位寄存器,其输出序列为非线性序列。输出序列的周期最大可达 2^n ,并称周期达到最大值的非线性移位寄存器序列为M序列。
3、伪随机码特性
4、m序列产生特征多项式
递推关系式又称为反馈逻辑函数或递推方程。如下图所示的线性反馈移位寄存器的初始状态为(a0a1…an-2an-1),经过一次移位线性反馈,移位寄存器左端第一级的输入为
5、实例Matlab生成m序列
以3级(n=3)移位反馈寄存器为例,使用Matlab自带伪随机函数commsrc.pn生成m序列。
1.m序列生成电路
2.寄存器状态分析
时钟 | a2 | a1 | a0 | output | |
0 | 0 | 0 | 1 | 1 | |
1 | 1 | 0 | 0 | 0 | |
2 | 0 | 1 | 0 | 0 | |
3 | 1 | 0 | 1 | 1 | |
4 | 1 | 1 | 0 | 0 | |
5 | 1 | 1 | 1 | 1 | |
6 | 0 | 1 | 1 | 1 | |
7 | 0 | 0 | 1 | 1 | 开始循环 |
8 | 1 | 0 | 0 | 0 | |
… | … |
3.Matlab生成的m序列及自相关特性分析
Matlab生成的m序列和电路计算出来的结果相同。(Matlab代码链接:https://download.csdn.net/download/flypassion/11828369)
偏移7次的自相关值,如下图:
偏移14次的自相关值,如下图:(循环周期2^3-1=7)
4.m序列自相关特性规律
如果本地序列和接收到的序列对齐,逐位相乘求和的结果为:7(序列长度);
如果本地序列和接收到的序列没有对齐,逐位相乘求和的结果为:-1(7);
最后
以上就是感性冬天为你收集整理的m序列伪随机码_Matlab生成伪随机码及特性分析的全部内容,希望文章能够帮你解决m序列伪随机码_Matlab生成伪随机码及特性分析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复