m序列产生原理及其性质

一、m序列的简介

   1、m序列是最长线性移位寄存器序列的简称。顾名思义,m序列是由多级移位寄存器或其延迟元件通过线性反馈产生的最长的码序列。在二进制移位寄存器中,若n为移位寄存器的级数,n级移位寄存器共有 2n 个状态,除去全0状态外还剩下 2n-1 中状态,因此它能产生的最大长度的码序列为 2n-1 位,也就是说,一个n级线性反馈移位寄存器产生的最长周期等于 2n-1 。在码分多址系统中主要采用两种长度的m序列:一种是周期为 215-1的m序列,又称短PN序列;另一种是周期为242-1的m序列,又称为长PN码序列。

   2、m序列是一种基本又典型的伪随机序列。在通信领域有着广泛的应用,如扩频通信、卫星通信的码分多址(CDMA),数字数据中的加密、加扰、同步、误码率测量等领域。

二、m序列产生的原理

  图(1)示出的是由n级移位寄存器构成的码序列发生器。寄存器的状态决定于时钟控制下输入的信息(“0”或“1”),例如第I级移位寄存器状态决定于前一时钟脉冲后的第i-1级移位寄存器的状态。
图中C0,C1,…,Cn均为反馈线,其中C0=C1=1,表示反馈连接。因为m序列是由循环序列发生器产生的,因此C0和Cn肯定为1,即参与反馈。而反馈系数C1,C2,…,Cn-1,若为1,参与反馈;若为0,则表示断开反馈线,即开路,无反馈连线。

图(1) n级循环序列发生器的模型

一个线性反馈移动寄存器能否产生m序列,决定于它的反馈系数Ci ( i=0,1,2,…n) ,下表中列出了部分m序列的反馈系数 ,按照下表中的系数来构造移位寄存器,就能产生相应的m序列。

表(1) 部分m序列的反馈系数表


根据表1中的八进制的反馈系数,可以确定m序列发生器的结构。以7级m序列反馈系数Ci=(211)8为例,首先将八进制的系数转化为二进制的系数即Ci=(010001001)2,由此我们可以得到各级反馈系数分别为:C0=1,C1=0,C2=0,C3=0,C4=1,C5=0,C6=0,C7=1,由此就很容易地构造出相应的m序列发生器。根据反馈系数,其他级数的m序列的构造原理与上述方法相同。

三、m序列的产生与本原多项式

  由n级串联的移位寄存器和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化,其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。n级线性移位寄存器如下图所示:

图(2)n级线性移位寄存器

  图中Ci表示反馈线的两种可能连接方式,Ci=1表示连线接通,第n-i级输出加入反馈中;Ci=0表示连线断开,第n-i级输出未参加反馈。因此,一般形式的线性反馈逻辑表达式为

将等式左边的an移至右边,并将an=C0an(C0=1)带入上式,则上式可以写成

定义一个与上式相对应的多项式

其中x的幂次表示元素的相应位置。该式为线性反馈移位寄存器的特征多项式,特征多项式与输出序列的周期有密切关系。

   n级线性反馈移位寄存器产生m序列(P=2n-1[m序列的周期])的充要条件:移位寄存器的特征多项式F(x)为本原多项式。

当F(x)为n次本原多项式,就一定能产生m序列,不过需要满足以下三个条件:

  (1)F(x)是不可约的,即不能再分解多项式;

  (2)F(x)可整除xp+1,这里p=2n-1

  (3)F(x)不能整除xq+1,这里q<p.

满足上述条件的多项式称为本原多项式,这样产生m序列的充要条件就变成了如何寻找本原多项式。

本原多项式的寻找

一、求n次本原多项式F(x)的方法:

(1)将xP+1(xP-1)(P=xn-1)因式分解到已经不能再分解;
(2)在得到的因式集合中,排除掉所有少于n次的因式;
(3)其余的因式若不能整除任何xQ+1(Q<P),则这个因式为本原多项式F(x),可能不止一个。
(注:这里的n可理解成线性反馈移位寄存器的级数)

二、本原多项式F(x)与m序列的联系:

(1)m序列的特征多项式即为n阶本原多项式;
(2)1/F(x)作多项式长除法得到的商多项式系数序列就是m序列。

例子:求n=4本原多项式并得到m序列(n=4相当于级数为4)

xm + 1 = xm - 1=(x4 + x3 + x2 + x + 1) (x4 + x + 1) (x4 + x3 + 1) ( x2 + x + 1) (x+1)
其中 ( x2 + x + 1) 、(x+1)的次数小于4被排除。
其中(x4 + x3 + x2 + x + 1)可整除x5 + 1 = x5 - 1,也被排除。其长除法如下图(3):


故本原多项式有 x4 + x + 1、 x4 + x3 + 1。F(x)= x4 + x + 1,F1(x)= x4 + x3 + 1 分别对应一个m序列,可以由多项式1/F(x)长除法算出m序列,如下图(4):

q(x)= x-4 + x-7 + x-8 + x-10 + x-12 + x-13 + x-14 + x-15 +x-19+…
对应m序列:100110101111000(15个码元,即周期为15)…(周期性循环)
对于长除法得到的m序列只是其中的一种形式,方法有些冗重。大家可以参考下面这位博主的程序(由MATLAB编写)。程序里面的registers = [1 zeros(1, m-2) 1] 含义指的是为寄存器设置初始状态。大家可以随意设置,得出的结果跟书本上是一样的。

链接: m序列生成函数的MATLAB代码.

三、 互反多项式

  F1(x)= F(x-1)xn,即F1(x)与 F(x)为 互反多项式,也就是说它们产生的序列顺序互反的,m序列的反序列亦是m序列。

四、部分阶数本原多项式表

三、m序列的性质

m序列具有以下性质:
(1)均衡性
  由m序列的一个周期中,0和1的数目基本相等。1的数目比0的数目多一个。该性质可由m序列1000010010110011111000110111010看出:总共有16个1和15个0。

(2)游程分布
  m序列中取值相同的那些相继的元素合称为一个“游程”。游程中元素的个数称为游程长度。n级的m序列中,总共有2n-1个游程,其中长度为1的游程占总游程数的1/2,长度为2的游程占总游程数的1/4,长度为k的游程占总游程数的2k。且长度为k的游程中,连0与连1的游程数各占一半。如序列1000010010110011111000110111010中,游程总数为25-1=16,此序列各种长度的游程分布如下:
长度为1的游程数目为8,其中4个1游程和4个0游程;
长度为2的游程数目为4,2个11游程,2个00游程;
长度为3的游程数目为2,1个111游程,1个000游程;
长度为4的连0游程数目为1;
长度为5的连1游程数目为1。

(3)移位相加特性
  一个m序列m1与其经任意延迟移位产生的另一序列m2模2相加,得到的仍是m1的某次延迟移位序列 m3,即m1与m2 异或为m3

(4)相关特性
  我们可以根据移位相加特性来验证m序列的自相关特性。因为移位相加后得到的还是m序列,因此0的个数比1的个数少1个,所以,当τ≠0\tau \ne 0τ​=0时,自相关系数ρ(τ)=−1/ρ\rho(\tau)=-1/\rhoρ(τ)=−1/ρ。

m序列产生原理及其性质相关推荐

  1. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质示例 )

    文章目录 一.序列傅里叶变换共轭对称性质示例 1.序列傅里叶变换共轭对称性质 1.序列实部傅里叶变换 2.序列虚部傅里叶变换 3.共轭对称序列傅里叶变换 4.共轭反对称序列傅里叶变换 2.求 a^n ...

  2. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质 | 推论 )

    文章目录 一.序列傅里叶变换共轭对称性质 推论 二.证明推论一 一.序列傅里叶变换共轭对称性质 推论 推论一 : 序列 x(n)x(n)x(n) 的 共轭序列 x∗(n)x^*(n)x∗(n) 的 傅 ...

  3. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质 | 实序列的幅频特性偶对称 | 实序列相频特性奇对称 | 示例说明 )

    文章目录 一.实序列的 幅频特性 和 相频特性 对称性质 二.性质由来 三.示例说明 一.实序列的 幅频特性 和 相频特性 对称性质 如果 x(n)x(n)x(n) 序列是 " 实序列 &q ...

  4. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质 | x(n) 分解为实部序列与虚部序列 | 实部傅里叶变换 | 虚部傅里叶变换 | 共轭对称傅里叶变换 | 共轭反对称傅里叶变换 )

    文章目录 一.前置概念 1.序列对称分解定理 2.傅里叶变换 3.傅里叶变换的共轭对称分解 二.序列傅里叶变换共轭对称性质 0.序列傅里叶变换共轭对称性质 x(n) 分解为实部序列与虚部序列 x(n) ...

  5. 【数字信号处理】序列傅里叶变换 ( 序列傅里叶变换定义详细分析 | 证明单位复指数序列正交完备性 | 序列存在傅里叶变换的性质 | 序列绝对可和 → 序列傅里叶变换一定存在 )

    文章目录 一.序列傅里叶变换定义详细分析 二.证明单位复指数序列正交完备性 三.序列存在傅里叶变换的性质 一.序列傅里叶变换定义详细分析 序列傅里叶变换 SFT , 英文全称 " Seque ...

  6. [译] Swift 中的惰性序列及其原理

    原文地址:Lazy Sequences in Swift And How They Work 原文作者:Bruno Rocha 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/g ...

  7. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质 | 序列实偶 傅里叶变换 实偶 | 序列实奇 傅里叶变换 虚奇 | 证明 “ 序列实奇 傅里叶变换 虚奇 “ )

    文章目录 一.序列实偶 傅里叶变换 实偶 二.序列实奇 傅里叶变换 虚奇 三.证明 " 序列实奇 傅里叶变换 虚奇 " 1.前置公式定理 ①.序列实部傅里叶变换 ②.序列虚部傅里叶 ...

  8. [4G5G专题-33]:物理层-浅谈ZC序列的原理以及在LTE PSS中的应用

    目录 第1章 ZC序列概述 1.1序列的定义 1.2 复指数回顾 1.3 ZC序列概述 1.5 ZC序列的数学公式 1.6 ZC序列与复指数相位调制的关系 1.7 ZC序列的特点 第2章 PSS ZC ...

  9. 判断一个序列是否是栈的输出序列(原理和源码(C语言))

    [问题描述] 给出一个堆栈的输入序列,试判断一个序列是否能够由这个堆栈输出.如果能,返回总的出栈次数,如果不能,返回0.序列的输入及输出都是从左往右.(输入输出序列皆为整数且没有重复的数字,如果一个数 ...

  10. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质示例 | 证明 原序列实部 x_R(n) 的 傅里叶变换 是 原序列傅里叶变换 的 共轭对称序列 )

    文章目录 一.前置公式定理 1.相关元素说明 x(n) 分解为实部序列与虚部序列 x(n) 分解为共轭对称序列与共轭反对称序列 ( 序列对称分解 ) X(e^{jω}) 分解为实部序列与虚部序列 X( ...

最新文章

  1. 海归技术大佬:硅谷科技公司到底牛在哪里?讲透“奈飞文化”8个原则!
  2. 没有终结点在侦听可以接受消息的_IoT Hub入门(3)使用消息路由将原始设备数据记录存档...
  3. 操作无法完成_注意!城里人开始羡慕农村户口啦!4种情况却无法完成分户操作!...
  4. 深度网络pre-train对于深度网络的意义
  5. PHP专题-开发基础(七)
  6. 问题 1045: [编程入门]自定义函数之整数处理
  7. 前后端分离,如何解决跨域问题
  8. windows 下使用 virtualenv 创建虚拟环境
  9. python能干什么-Python这么火,学完到底能干什么
  10. 梓论坛 zibbs 1.0 发布,PHP 轻论坛系统
  11. 网络运维工程师常见的面试题及需掌握的知识点
  12. 心理学计算机交叉就业,拥有着全美最高年薪?心理学专业介绍及就业前景解析...
  13. WebLogic安装说明
  14. Google NIK插件的介绍及使用
  15. 项目管理/互联网/软件全套文档、产品文档、技术文档、测试文档、运维文档、项目文档
  16. 点击菜单更改菜单栏背景图片
  17. 血眼龙王萧沙传-王遗风篇(1)
  18. 抽丝剥茧看华为p20pro, 三星s9+, 小米8 样张低频彩噪
  19. 直线滑台模组与电机控制
  20. java售楼系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

热门文章

  1. python︱六款中文分词模块尝试:jieba、THULAC、SnowNLP、pynlpir、CoreNLP、pyLTP
  2. 什么是超定方程,如何解?
  3. 安卓游戏等待服务器响应时间,电竞显示器响应时间原理及最佳游戏设置方法
  4. C++ 全局钩子屏蔽按键
  5. 山地车中轴进水表现_你一定不知道的自行车中轴知识
  6. 串口服务器通讯协议,串口服务器的组成和应用实例
  7. jsp基础教程清华版源代码
  8. html流特性,CSS深入理解流体特性和BFC特性下多栏自适应布局_html/css_WEB-ITnose
  9. windows下重装系统时驱动备份和恢复命令
  10. CRM客户关系管理系统需求分析文档