《M序列原理及代码(共7页).docx》由会员分享,可在线阅读,更多相关《M序列原理及代码(共7页).docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上1、m序列1.1概述1.1.1实验原理(1)m序列概念和用途概念:m序列是由n级线性移位寄存器产生的周期为P=2n-1的码序列,是最长线性移位寄存器序列的简称。用途:码分多址系统主要采用两种长度的m序列:一种是周期为P=215-1的m序列,又称为短PN序列;另一种是周期为P=242-1的m序列,又称为长PN序列。(2)m序列的产生4级m序列的码序列发生器假设初始状态为0001,在时钟作用下,产生的m序列的状态表。4级m序列的周期P=24-1=15,相应的输出序列为:0111。线性移位反馈移位寄存器反馈系数Cim序列特性 均衡性:在一个周期中,m序列中“1”的个数比“0
2、”的个数多1个。游程特性:长度为k的游程数占游程总数的1/2k 移位相加特性 :一个m序列与其循环移位逐位比较,相同码的位数与不同码的位数相差1位。自相关特性:表征一个信号与延迟后自身信号的相似性 。m序列的构造反馈线性反馈移存器1.1.2实验意义m序列是目前广泛应用的一种伪随机序列,在所有的伪随机序列中,m序列是最重要、最基本的一种伪随机序列。它容易产生,规律性强,有很好的自相关性和较好的互相关特性。m序列的生成是接下来的实验的基础,具有指导性的意义。1.1.3系统的主要功能设计本原多项式系数为13、23、103、203的m序列。1.1.4使用方法输入m后,输出相应的m序列。1.2程序设计1
3、.2.1设计思想由m序列的产生过程,即通过带反馈的移位寄存器产生,容易想到EDA中的结构化的程序设计思想,即以DFF触发器作为底层文件,进行顶层文件设计,获得m序列。此设计的优点是程序思路简单,结构清晰,只要做出一种反馈系数的m序列,容易得到其他反馈系数的m序列;但也存在缺点,那就是结构化的设计使得代码写的过长。1.2.2软件设计流程及描述(1)流程图(2)描述clk上升沿触发程序,用case语句选择m为13,23,103,203中的哪种情况。做出判断后首先用if语句判断初始状态为全零的特殊情况,即若初始状态为全零则设置为非零状态。之后将最低位到次高位的数值依次右移一位,再将最高位和次高位异或
4、后送到最低位,输出波形。1.3源程序代码library ieee;use ieee.std_logic_1164.all;entity untitled3 is port(m:in std_logic_vector(1 downto 0); clk:in std_logic; m_out:out std_logic );end entity untitled3;architecture behave of untitled3 is signal out1:std_logic_vector(6 downto 0);-out1 -13 m序列 if out1(2 downto 0)=000then
5、 out1(0)=1; else out1(1 downto 0)=out1(2 downto 1); -右移 out1(2) -23 m序列 if out1(3 downto 0)=0000then out1(0)=1; else out1(2 downto 0)=out1(3 downto 1); -右移 out1(3) -103 m序列 6级 if out1(3 downto 0)=then out1(0)=1; else out1(4 downto 0)=out1(5 downto 1); -右移 out1(5) -203 m序列7级 if out1(3 downto 0)=then out1(0)=1; else out1(5 downto 0)=out1(6 downto 1); -右移 out1(6)null; end case; m_out=out1(0); end if; end process;end architecture behave;1.4仿真图3级M序列4级M序列6级M序列1.5测试波形专心-专注-专业
限制150内