m序列
目录
- m序列的产生
- 简介
- 线性反馈移位寄存器
- VHDL语言实现
- 代码
- 仿真图
m序列的产生
简介
m序列是最长线性反馈移位寄存器序列的简称,是由带线性反馈的移位寄存器产生的周期最长的序列。下图是一个4级线性反馈移位寄存器。
假若初始状态为(a3,a2,a1,a0)=(1,0,0,0),那么在移位一次时,由a3和a0模2相加产生新的输入,放到寄存器a3中;寄存器a2值更新为寄存器a3原来的值;寄存器a1值更新为寄存器a2原来的值;寄存器a0值更新为寄存器a1原来的值;输出为寄存器a0原来的值。移位一次后,新的状态变为(a3,a2,a1,a0)=(1,1,0,0)。这样移位15次后又回到初始状态(1,0,0,0)。状态更新如图所示。
如果初始状态为全“0”状态,则移位后得到的仍是全“0”状态。这就意味着在这种反馈移位寄存器中应该避免出现全“0”状态,否则移位寄存器的状态将不会改变。因为4级移位寄存器共有24=16可能的状态。除全“0”状态外,只剩下15种状态可用。这就是说,由任何4级反馈移位寄存器产生的序列的周期最长为15。一般来说,一个n级线性反馈移位寄存器可能产生的最长周期等于(2n−1),将这种最长的序列称为最长线性反馈移位寄存器序列,简称m序列。
线性反馈移位寄存器
一般的线性反馈移位寄存器原理方框图如下图所示,图中各级寄存器的状态用ai表示,ai=0或1,i为整数。反馈线的连接状态用ci表示,ci表示此线接通(参加反馈);ci=0表示此线断开。反馈线的连接状态不同,就可能改变此移位寄存器输出序列的周期p。
上文指出,ci的取值决定了移位寄存器的反馈连接和序列的结构,所以ci是一个很重要的参量。现将它用下列方程表示:
f(x)=c0x+c1x2+⋯+cnxn=i=0∑ncixi
这一方程成为特征方程(或特征多项式)。式中xi仅指明其系数代表的ci的值,x本身并无实际意义,也不想要计算x的值。例如特征方程
f(x)=1+x+x4
则它仅表示x0,x1,x4的系数c0=c1=c4=1,其余的ci为0。按照这一特征方程构成的反馈移位寄存器如图所示。
VHDL语言实现
代码
程序用于实现特征方程
f(x)=1+x+x4
程序中的组合逻辑产生下一状态的最高位,即a_3;时序逻辑用于生成下一个状态,并输出最低位。
----------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date: 17:29:15 01/29/2019
-- Design Name:
-- Module Name: linear_fsr - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description: 特征方程f(x) = 1 + x + x^4
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional comments:
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity linear_fsr is
port(
clk : in std_logic;
rst_n : in std_logic;
data_o : out std_logic
);
end linear_fsr;
architecture Behavioral of linear_fsr is
signal sr : std_logic_vector(3 downto 0);
signal tmp : std_logic;
begin
tmp <= sr(3) xor sr(0);
process(clk,rst_n)
begin
if rst_n = '0' then
sr <= "1000";
data_o <= '0';
elsif rising_edge(clk) then
sr <= tmp & sr(3 downto 1);
data_o <= sr(0);
end if;
end process;
end Behavioral;
仿真图
程序仿真图如下所示
信号sr表示移位寄存器中各个寄存器内部的值。复位时,移位寄存器的初始状态为1000。当复位键拉高之后,在每一个时钟上升沿,移位寄存器内部寄存器值改变,并产生一个输出。对比仿真图与理论推导,结果一致。
相关阅读
win2003 序列号 windows2003 sp2可用序列号大全(准版与
通用性好的win2003序列号: (推荐先用这个里面的) FJ8DH-TQPYG-9KFHQ-88CB2-Y7V3Y GRD4P-FTQQF-JCDM8-4P6JK-PFG7M JD7JX-KCDTH-7W
亲测有效 Xmind8 Pro 最新版破解教程(序列号|破解文件)
一、下载XMindCrack.jar文件:(百度云的如果被屏蔽了,请留下邮箱,抽空会发给你) 百度云(https://pan.baidu.com/s/1x5Y4FFG61MTOCFTHs
序列号:1330-1343-1830-9875-8192-3098注册机其实满大街都有,无奈注册后还会联网检验序列号,然后就悲剧了!!!为此提供个一劳永逸的办法:1
2019最新windows10永久激活码 win10专业版密钥 win10
1、专业版:W269N-WFGWX-YVC9B-4J6C9-T83GXMH37W-N47XK-V7XM9-C7227-GCQG92X7P3-NGJTH-Q9TJF-8XDP9-T83GTJ2WWN-Q4338-3GFW9-BWQVK-
【Autocad】CAD2016-2019所有版本的安装序列号和密钥
CAD所有版本的安装序列号和密钥如下。 AutoCAD2019安装序列号:666-69696969, 667-98989898, 400-45454545, 066-66666666 AutoCAD