m序列的产生原理及其性质

1 LFSR

        1.1 定义

                线性反馈移位寄存器(LFSR,linear feedback shift register)由n个移位寄存器和若干个异或门组成(各个反馈系数路径只由模二加/异或组成为线性反馈),如下图所示。n级移位寄存器共有2^n个状态,除去全0状态外还剩2^{n}-1种状态,故一个n级线性反馈移位寄存器产生的最长周期为2^{n}-1。 

在这里插入图片描述

                        

                        LFSR有2种形式,分别为异或门内/外接LFSR,如下图。其中,有n级移位寄存器(Q_{1}~Q_{n}),有n+1个反馈系数(g_{0}~g_{n},只能取值0或1,取0/1分别表示反馈通路不存在/存在)。

                LFSR的对应的特征多项式为:F\left ( x \right )=\sum_{i=0}^{n}C_{i}x^{i},其中x的次幂表示元素的对应位置(x^{0}=1表示没有寄存器Q_{0})。   

         1.2 特性 

                对于LFSR有几个特性:

                        ①初始状态(种子SEED)相同,输出序列相同;

                        ②输出序列看起来是随机的(伪随机序列),但达到一定位数后会循环;

                        ③LFSR可以产生的最长的随机序列是2^{n}-1长度(即m序列),其中n表示寄存器的数目。

2 m序列

        伪随机(或伪噪声,Pseudorandom Noise,PN)码序列是一种常用的地址码,是一具有与白噪声类似的自相关性质的0和1所构成的编码序列。m序列属于PN码的一种。

        2.1 定义

                m序列是最长线性反馈移位寄存器序列的简称。

        2.2 m序列的产生

                一个LFSR能否产生m序列(最长线性移位寄存器序列),决定于反馈系数C_{i}(i=0,1,2,...,n),下表列出了部分m序列的反馈系数,其中必有C_{0}=C_{n}=1

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

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

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

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

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

其他m序列的相关知识见m序列产生原理及其性质

  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
m序列(Maximal Length Sequence)发生器是一种能够产生最长长度的伪随机序列的电路,通常用于通信系统中的扰码、同步、频率同步等应用。下面是一个基于Verilog的m序列发生器的实现原理: m序列的生成是通过反馈移位寄存器实现的。其基本原理是将寄存器中的数据进行异或操作后输出,并将输出的结果反馈到寄存器的最高位,然后将寄存器中的数据向左移位。这个过程不断重复,直到寄存器中的数据与初始状态相等时停止。 具体实现如下: 1. 定义一个n位的寄存器(n为m序列的长度),并将其初始化为一个非零值,例如全1或其他非零值。 2. 在每个时钟周期中,将寄存器中的数据左移一位,并将最高位的数据与反馈多项式进行异或操作。反馈多项式的选择对m序列的质量影响很大,常用的反馈多项式有x^7+x^6+1、x^15+x^14+1、x^31+x^28+1等。 3. 将异或操作的结果输出,并将其反馈到寄存器的最高位。 4. 当寄存器中的数据与初始状态相等时,停止输出m序列。 下面是一个简单的m序列发生器的Verilog代码示例: ```verilog module m_sequence( input clk, output reg out ); reg [6:0] reg; // Feedback polynomial: x^7+x^6+1 always @(posedge clk) begin out <= reg[0]; reg <= {reg[6]^reg[5], reg[6:1]}; end endmodule ``` 以上代码实现了一个长度为7的m序列发生器,反馈多项式为x^7+x^6+1。在每个时钟上升沿时,将寄存器中的数据左移一位并进行异或操作,并将输出的结果反馈到寄存器的最高位,最终输出最低位的数据作为m序列

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值