M序列产生及其特性仿真实验报告
智能控制 M序列的产生
做一个M 序列一、实验内容:利用MATLAB 语言产生一个M 序列m 序列是最长线性反馈移位寄存器序列的简称,m 序列是由带线性反馈的移位寄存器产生的.由n 级串联的移位寄存器和和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。
带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化。
其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。
n 级线性移位寄存器的如图1所示:图1 n 级线性移位寄存器图中i C 表示反馈线的两种可能连接方式,i C =1表示连线接通,第n-i 级输出加入反馈中;i C =0表示连接线断开,第n-i 级输出未参加反馈。
因此,一般形式的线性反馈逻辑表达式为112201(mod 2)nn n n n i n i i a C a C a C a C a ---==⊕⊕⊕=∑将等式左面的n a 移至右面,并将00(1)n n a C a C ==代入上式,则上式可改写为100ni n i C a -==∑定义一个与上式相对应的多项式1n a -2n a -3n a -∑∑∑∑1c 2c 3c 1n c -01c =1n c =0a 1a 输出()ni i i F x C x ==∑其中x 的幂次表示元素的相应位置。
式称为线性反馈移位寄存器的特征多项式,特征多项式与输出序列的周期有密切关系.当F(x)满足下列三个条件时,就一定能产生m 序列:(1) F(x)是不可约的,即不能再分解多项式; (2) F(x)可整除1px +,这里21n p =-; (3) F(x)不能整除1q x +,这里q<p.满足上述条件的多项式称为本原多项式.这样产生m 序列的充要条件就变成了如何寻找本原多项式.根据m 序列的特征方程:20120()nn i n i i f x c c x c x c x c x ==++++=∑并根据其联接多项式编写Matlab 程序.二、源程序如下:%m 序列发生器及其自相关 mseq.m clear all; close all; g=19;%G=10011; state=8;%state=1000 L=1000; %m 序列产生 N=15;mq=mgen(g,state,L); %m 序列自相关ms=conv(1-2*mq,1-2*mq(15:-1:1))/N;figure(1)%subplot(222)stem(ms(15:end));axis([0 63 -0.3 1.2]);title('m序列自相关序列') figure(2)%m序列构成的信号(矩形脉冲)N_sample=8;Tc=1;dt=Tc/N_sample;t=0:dt:Tc*L-dt;gt=ones(1,N_sample);mt=sigexpand(1-2*mq,N_sample);mt=conv(mt,gt);figure(2)%subplot(221);plot(t,mt(1:length(t)));axis([0 63 -0.3 1.2]);title('m序列矩形成形信号') st=sigexpand(1-2*mq(1:15),N_sample);s=conv(st,gt);st=s(1:length(st));rt1=conv(mt,st(end:-1:1))/(N*N_sample);figure(3)%subplot(223)plot(t,rt1(length(st):length(st)+length(t)-1));axis([0 63 -0.3 1.2]);title('m序列矩形成形信号的自相关');xlabel('t');Tc=1;dt=Tc/N_sample;t=-20:dt:20;gt=sinc(t/Tc);mt=sigexpand(1-2*mq,N_sample);mt=conv(mt,gt);st2=sigexpand(1-2*mq(1:15),N_sample);s2=conv(st2,gt);st2=s2;rt2=conv(mt,st2(end:-1:1))/(N*N_sample);figure(4)%subplot(224);t1=-55+dt:dt:Tc*L-dt;plot(t,mt(1:length(t)));plot(t1,rt2(1:length(t1)));axis([0 63 -0.5 1.2]);title('m序列since成形信号的自相关');xlabel('t') 调用的子程序如下:(1)mgen.m:function [out] = mgen(g,state,N)%输入 g:m序列生成多项式(10进制输入)%state:寄存器初始状态(10进制输入)%N:输出序列长度% test g=11;state=3;N=15;gen = dec2bin(g)-48;M = length(gen);curState = dec2bin(state,M-1) - 48;for k =1:Nout(k) = curState(M-1);a = rem(sum( gen(2:end).*curState),2); curState = [a curState(1:M-2)];end(2)mseq.m%m序列发生器及其自相关 mseq.mclear all;close all;g=19;%G=10011;state=8;%state=1000L=1000;(3)sigexpand.m:function [out] = sigexpand(d,M)N = length(d);out = zeros(M,N);out(1,:)=d;out = reshape(out,1,M*N);四、仿真波形:测试结果:图2 m序列自相关序列图3 m序列矩形成形信号图4 m序列矩形成形信号的自相关图5 m序列since成形信号的自相关。
m序列实验报告
3
4.2 线性移位寄存器序列密码
1. 线性移位寄存器
举例:设g(x)=x4+x+1,g(x)为本原多项
式,以其为连接多项式的线性移位寄存 器的输出序列为100110101111000…, 周期为24-1=15的m序列。
0001 0010 0100 1001 0011 0110 1101 1010 0101 1011 0111 1111 1110 1100 4 1000
仅当连接多项式g(x)为本原多项式时,其线性移位 寄存器的输出为m序列。
设f(x)为GF(2)上的多项式,使f(x)|xp-1的最小正整
数p称为f(x)的周期。如果f(x)的次数为n,且其周期 2n-1,则称f(x)为本原多项式。
可以证明:对于任意的 n 级线性移位寄存器,至少
存在一种连接方式使其输出序列为m序列。
5
m <= m_data[0]; m_data[0] <= m_data[1]; m_data[1] <= m_data[2]; m_data[2] <= m_data[3]; m_data[3] <= m_data[3]^m_data[0];
6
Байду номын сангаас
4.2 线性移位寄存器序列密码
1. 线性移位寄存器(Linear shift Register)
1
4.2 线性移位寄存器序列密码
1. 线性移位寄存器(Linear shift Register)
n级线性移位寄存器最多有2n个不同的状态。
若其初始状态为零,则其后续状态恒为零;若其初 始状态不为零,则其后续状态也不为零。因此,n
级线性移位寄存器的状态周期≤2n-1,其输出序列的 周期≤2n-1。
M序列的产生和性能分析
M序列的产生和性能分析本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.MarchM序列的产生和性能分析摘要在扩频函数中,伪随机信号不但要求具有尖锐的互相关函数,互相关函数应接近于零,而且具有足够长的码周期,以确保抗侦破、抗干扰的要求;由足够多的独立地址数,以实现码分多址的要求。
M序列是伪随机序列的一种,可由m序列添加全0状态而得到。
m序列与M序列对比得出在同级移位寄存器下M序列的数量远远大于m序列数量,其可供选择序列数多,在作跳频和加密码具有极强的抗侦破能力。
本文在matlab中的Simulink下用移位寄存器建立了4级、5级、6级M序列的仿真模型,进行了仿真,画出其时域图、频谱图、互相关性图。
通过时域图和频域图可看出,经过扩频后的信号频带明显的被扩展;由M 序列互相关性图,得出M序列有较小的互相关性,较强的自相关性,但相关性略差于m序列。
最后,本文又将M序列应用于CDMA扩频通信仿真系统中,得到下列结论:当使用与扩频时相同的M序列做解扩操作与用其他序列做解扩的输出有巨大的差别。
使用相同的序列进行解扩时系统输出值很大,而使用其他序列解扩时输出值在零附近变化。
这就是扩频通信的基础。
关键词:伪随机编码, 扩频通信自相关函数,互相关函数M SEQUENCE GENERATION AND PERFORMANCE ANALYSISABSTRACTIn spread-spectrum communication, pseudo-random sequence must have high autocorrelation value, low cross correlation, long code period and lots of dependent address to satisfy code division mul tipleaccess(CDMA). M sequence is one kind of the pseudo-random sequences. It can be may obtained through adding entire 0 states to m sequence. The number of M sequence is greater than the m-sequence under the same level shift register. It may supply the more choice. The M-sequence is often applied to the frequency hopping and adds the password to have greatly strengthened anti- solves the ability.At first, M sequences which has n=4、5、7 levels of shift registers are produced under Simulink of Matlab. The t ime domain chart, the spectrograph, the mutual correlation chart are plotted. Through the time domain chart and the spectrograph, we could see how the bandwidth of the information signal is expanded. The pseudo-random symbol speed rate higher noise signal frequency spectrum is proliferated widely, the output power spectrum scope is lower. This can explain the spread-spectrum communication system principle from the frequency range. Through the M sequence’s auto correlation chart we can see that the auto correlation of M-sequence is quite good but is inferior to the m sequence. Finally, the M sequence is applied to the code division multiple access (CDMA) communication system. This is the spread-spectrum communication foundation.KEY WORDS:Pseudo-random code, auto-correlation, cross-correlation目录前言 ......................................................... 错误!未定义书签。
m序列实验报告
实验报告--m序列的产生及其特性实验班级:XXXXXX学号:XXXXX姓名:XXXXXM序列的产生及其特性实验一、实验目的掌握m序列的特性、产生方法及运用二、实验内容(1)编写MATLAB程序生成并观察m序列,识别其特征(2)观察m序列的相关特性三、实验原理m序列是有n级线性移位寄存器产生的周期为2n −1的码序列,是最长线性移位寄存器序列的简称。
码分多址系统主要采用两种长度的m序列:一种是周期为215 −1的m序列,又称短PN序列;另一种是周期为242 −1的m序列,又称为长PN码序列。
m序列主要有两个功能:①扩展调制信号的带宽到更大的传输带宽,即所谓的扩展频谱;②区分通过多址接入方式使用同一传输频带的不同用户的信号。
四、实验分析在实验中我选择的是n=6的级数,选择了103、147、155这三个反馈系数1:当反馈系数会Ci=(103)8=(1000011)2原理框图2: 当反馈系数会Ci=(147)8=(1100111)2原理框图3: 当反馈系数会Ci=(155)8=(1101101)2原理框图五、实验程序clearclose all;clcG=127;%使用多项式(103)8=(1000011)2产生第一个m序列sd1=[0 0 0 0 0 1];%寄存器的初始状态PN1=[];%第一个序列for j=1:GPN1=[PN1 sd1(1)];if sd1(1)==sd1(2)temp1=0;else temp1=1;endsd1(1)=sd1(2);sd1(2)=sd1(3);sd1(3)=sd1(4);sd1(4)=sd1(5);sd1(5)=sd1(6);sd1(6)=temp1;endsubplot(3,1,1)stem(PN1)title('使用生成多项式(103)8=(1000011)2产生第一个m序列')%使用生成多项式(147)8=(1100111)2产生第二个m序列sd2=[0 0 0 0 0 1];%寄存器的初始状态PN2=[];%第一个序列for j=1:GPN2=[PN2 sd2(1)];if sd2(1)==sd2(2)temp1=0;else temp1=1;endif sd2(5)==temp1temp2=0;else temp2=1;endif sd2(6)==temp2temp3=0;else temp3=1;endsd2(1)=sd2(2);sd2(2)=sd2(3);sd2(3)=sd2(4);sd2(4)=sd2(5);sd2(5)=sd2(6);sd2(6)=temp3;endsubplot(3,1,2)stem(PN2)title('使用生成多项式(147)8=(1100111)2产生第二个m序列')%使用生成多项式(155)8=(1101101)2产生第三个m序列sd3=[0 0 0 0 0 1];%寄存器的初始状态PN3=[];%第一个序列for j=1:GPN3=[PN3 sd3(1)];if sd3(1)==sd3(2)temp1=0;else temp1=1;endif sd3(4)==temp1temp2=0;else temp2=1;endif sd3(5)==temp2temp3=0;else temp3=1;endsd3(1)=sd3(2);sd3(2)=sd3(3);sd3(3)=sd3(4);sd3(4)=sd3(5);sd3(5)=sd3(6);sd3(6)=temp3;endsubplot(3,1,3)stem(PN3)title('使用生成多项式(155)8=(1101101)2产生第三个m序列')六、实验结果七、m序列的相关性质PN1 =0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 1 1PN2 =0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 1 1 1PN3 =0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 11)均衡性在m序列的一个周期中,0和1的数目基本相等,1的数目比0的数目多一个,由PN1可知总共有32个1和31个0.2)游程分布M序列中取值相同的那些相继的元素合称为一个“游程”。
南昌大学M序列信号发生器实验报告
南昌大学信息工程学院M序列信号发生器课程设计班级:姓名:学号:基于MULTISIM的序列信号发生器实验目的实验要求实验元件实验原理MLTISIM知识简介MLTISIM中仿真仪器实验设计仿真分析仿真电路示波器显示输出波形实验结果实验结论实验感想一、实验目的:1、掌握M序列信号产生的基本方法2、利用MULTISIM产生M序列信号,设计电路做成M序列信号发生器3、掌握M序列 0 状态消除的基本手段二、实验要求:在MULTISIM中采用移存器自启动电路设计仿真M=31序列信号发生器电路,采用虚拟逻辑分析仪观察波形输出。
要求自制时钟脉冲信号,并能清楚地观察到M序列稳定的波形。
采用EDA进行图形仿真,硬件电路来实现。
三、实验元件函数发生器,双端输入示波器,74LS30,74LS164,74LS005V直流电源四、实验原理1、MULTISIM 软件的简介在众多的 EDA 设计和仿真软件中,MULTISIM 软件以其强大的仿真设计应用功能,在各高校电信类专业电子电路的仿真和设计中得到了较广泛的应用。
软件及其相关库包的应用对提高学生的仿真设计能力,MULTISIM更新设计理念有较大的好处。
MULTISIM(电子工作平台)软件,最突出的特点是用户界面好,各类器件和集成芯片丰富,尤其是其直观的虚拟仪表是 MULTISIM 软件的一大特色。
它采用直观的图形界面创建电路:在计算机屏幕上模仿真实实验室的工作台,绘制电路图需要的元器件、电路仿真需要的测试仪器均可直接从屏幕上选取。
MULTISIM 软件所包含的虚拟仪表有:示波器,万用表,函数发生器,波特图图示仪,失真度分析仪,频谱分析仪,逻辑分析仪,网络分析仪等。
这些仪器的使用使仿真分析的操作更符合平时实验的习惯。
电子设计自动化(EDA)技术,使得电子线路的设计人员能在计算机上完成电路的功能设计、逻辑设计、性能分析、时序测试直至印刷电路板的自动设计。
是在计算机辅助设计EDA(CAD)技术的基础上发展起来的计算机设计软件系统。
m序列产生实验
m序列产生实验一、实验目的1、m序列产生的基本方法;2、m序列0状态消除的基本手段;二、实验仪器1、JH5001型通信原理实验箱一台;2、MaxplusII开发环境一台;3、JTAG下载电缆一根;4、CPLD下载板一块;5、微机一台;6、示波器一台;三、实验原理m序列产生电路在通信电路设计中十分重要,它广泛使用在扩频通信、信号产生、仪器仪表等等电路中。
m序列有时也称伪噪声(PN)或伪随机序列,在一段周期内其自相关性类似于随机二进制序列。
尽管伪噪声序列是确定的,但其具有很多类似随机二进制序列的性质,例如0和1的数目大致相同,将序列平移后和原序列的相关性很小。
PN序列通常由序列逻辑电路产生,一般是由一系列的两状态存储器和反馈逻辑电路构成。
二进制序列在时钟脉冲的作用下在移位寄存器中移动,不同状态的输出逻辑组合起来并反馈回第一级寄存器作为输入。
当反馈由独立的“异或”门组成(通常是这种情况),此时移位寄存器称为线性PN序列发生器。
如果线性移位寄存器在某些时刻到达零状态,它会永远保持零状态不变,因此输出相应地变为全零序列。
因为n阶反馈移位寄存器只有2n-1个非零状态,所以由n阶线性寄存器生成的PN序列不会超过2n-1个。
周期为2n-1的线性反馈寄存器产生的序列称为最大长度(ML)序列——m序列。
m 序列发生器的一般组成m 序列发生器一般组成如上图所示,它用n 级移位寄存器作为主支路,用若干级模2加法器作为各级移位寄存器的抽头形成线性反馈支路。
各抽头的系数hi 称为反馈系数,它必须按照某一个n 次本原多项式:∑==ni i i x h x h 0)(中的二进制系数来取值。
在伪序列发生模块中,可以根据本原多项式的系数,…..h 8、h 7、h 6、h 5、h 4、h 3、h 2、h 1、h 0产生m 序列,这些系数可表示8进制数(1代表相连抽头进入反馈回路,0代表该抽头不进入反馈回路),如:13、23、103、203四、 课题设计要求在输入时钟256KHz 的时钟作用下,可在外部跳线器的控制下改变产生不同的m 序列,在程序中定义的几个变量为:输入: Main_CLK :输入 256KHz 主时钟 M_Sel[1..0]:选择输出不同的m 序列当 Mode[]=0:本原多项式为13(8进制表示); 当 Mode[]=1:本原多项式为23(8进制表示); 当 Mode[]=2:本原多项式为103(8进制表示); 当 Mode[]=3:本原多项式为203(8进制表示);输出: M_Out :m 序列输出 说明:1、 M_Sel[1..0]与复接模块的m_sel0、m_sel1相连; M_Out 在测试点TPB01输出;五、 实验步骤1、将JH5001二次开发光盘内的基本程序m.tdf 及其它相关程序(在光盘的“2th\student_m ”子目录下)拷入机器内。
m序列产生及其特性实验
3G移动通信实验报告实验名称:扩频码仿真学生姓名:学生学号:学生班级:所学专业:实验日期:1.实验目的1.掌握m序列的特性、产生方法及应用。
2.. 掌握Gold序列的特性、产生方法及应用。
3. 掌握Gold序列与m序列的区别。
4. 掌握Walsh码的产生原理及特性。
5. 了解它们在3G系统中的应用。
2.实验内容找一个127长度的m序列,验证其特性自相关性之+互相关性质m+m=goldwalsh 128位长度求 2个互相关自相关m+walsh 互相关自相关3.实验代码clear all;A1=[0 0 0 0 0 1 1];A1=A1';D1=[0 0 0 0 0 0 1];Dm1=zeros(1,127);A2=[0 0 0 1 0 0 1];A2=A2';D2=[0 0 0 0 0 0 1];Dm2=zeros(1,127);for i=1:127;Dm1(1,i)=D1(1,7);Dm2(1,i)=D2(1,7);Dr1=mod(D1*A1,2);Dr2=mod(D2*A2,2);for n=7:-1:2D1(1,n)=D1(1,n-1);D2(1,n)=D2(1,n-1);endD1(1,1)=Dr1;D2(1,1)=Dr2;end%m序列自相关特性验证Dm11=zeros(1,127)Dm12=zeros(1,127)Dm1n=[Dm1,Dm1,Dm1];p1=zeros(1,253);Dm11=Dm1n(1,128:254);for i=-126:1:126n1=i+128;Dm12=Dm1n(1,n1:1:(n1+126));Dm1s=mod(Dm11+Dm12,2);sum0=0;sum1=0;for i1=1:127if Dm1s(1,i1)==0 sum0=sum0+1; else sum1=sum1+1;endendp1(1,i+127)=(sum0-sum1)/127;endsubplot(4,2,1);plot(-126:1:126,p1);title('m序列自相关特性');%m序列互相关特性验证Dm21=zeros(1,127)Dm22=zeros(1,127)Dm2n=[Dm2,Dm2,Dm2];p2=zeros(1,253);pmax=0;pmax_n1=0;pmin=0;pmin_n1=0;Dm21=Dm2n(1,128:254);for i=-126:1:126n1=i+128;Dm22=Dm1n(1,n1:1:(n1+126));Dm2s=mod(Dm21+Dm22,2);sum0=0;sum1=0;for i1=1:127if Dm2s(1,i1)==0 sum0=sum0+1; else sum1=sum1+1;endendp=(sum0-sum1)/127;if p>pmaxpmax=p;pmax_n1=n1;endif p>pminpmin=p;pmin_n1=n1;endp2(1,i+127)=p;endsubplot(4,2,2);plot(-126:1:126,p2);title('m序列互相关特性');%gold序列的自相关特性Dmg11=Dm21;Dmg12=Dm1n(1,pmax_n1:1:(pmax_n1+126)); Dmg1=mod(Dmg11+Dmg12,2);Dmg1n=[Dmg1,Dmg1,Dmg1];pg1=zeros(1,253);Dmg11=Dmg1n(1,128:254);for i=-126:1:126n1=i+128;Dmg12=Dmg1n(1,n1:1:(n1+126));Dmg1s=mod(Dmg11+Dmg12,2);sum0=0;sum1=0;for i1=1:127if Dmg1s(1,i1)==0 sum0=sum0+1; else sum1=sum1+1;endendpg1(1,i+127)=(sum0-sum1)/127;endsubplot(4,2,3);plot(-126:1:126,pg1);title('gold序列自相关特性');%gold序列的互相关特性Dmg21=Dm21;Dmg22=Dm1n(1,pmin_n1:1:(pmin_n1+126)); Dmg2=mod(Dmg21+Dmg22,2);Dmg2n=[Dmg2,Dmg2,Dmg2];pg2=zeros(1,253);for i=-126:1:126n1=i+128;Dmg22=Dmg2n(1,n1:1:(n1+126));Dmg2s=mod(Dmg1+Dmg22,2);sum0=0;sum1=0;for i1=1:127if Dmg2s(1,i1)==0 sum0=sum0+1; else sum1=sum1+1;endendpg2(1,i+127)=(sum0-sum1)/127;;endsubplot(4,2,4);plot(-126:1:126,pg2);title('gold序列自相关特性');%walsh序列产生H1=0;H2=[H1,H1;H1,H1*(-1)+1];H4=[H2,H2;H2,H2*(-1)+1];H8=[H4,H4;H4,H4*(-1)+1];H16=[H8,H8;H8,H8*(-1)+1];H32=[H16,H16;H16,H16*(-1)+1];H64=[H32,H32;H32,H32*(-1)+1];H128=[H64,H64;H64,H64*(-1)+1];%walsh序列的自相关特性W11=H128(2,1:128);W1n=[W11,W11,W11]pw1=zeros(1,253);for i=-126:1:126n1=i+128;W12=W1n(1,n1:1:(n1+127));W1s=mod(W11+W12,2);sum0=0;sum1=0;for i1=1:128if W1s(1,i1)==0 sum0=sum0+1; else sum1=sum1+1;endendpw1(1,i+127)=(sum0-sum1)/128;endsubplot(4,2,5);plot(-126:1:126,pw1);title('walsh序列自相关特性');%walsh序列的互相关特性W21=W11;W22=H128(8,1:128);W2n=[W22,W22,W22];pw2=zeros(1,253);for i=-126:1:126n1=i+128;W22=W1n(1,n1:1:(n1+127));W2s=mod(W21+W22,2);sum0=0;sum1=0;for i1=1:128if W2s(1,i1)==0 sum0=sum0+1; else sum1=sum1+1;endendpw2(1,i+127)=(sum0-sum1)/128;endsubplot(4,2,6);plot(-126:1:126,pw2);title('walsh序列互相关特性');%m+walsh序列产生mw1=mod([Dm1,0]+H128(2,1:128),2);mw2=mod([Dm2,0]+H128(8,1:128),2);%mw序列的自相关特性mwa1=mw1;mwan=[mwa1,mwa1,mwa1];pmwa=zeros(1,253);for i=-126:1:126n1=i+128;mwa2=mwan(1,n1:1:(n1+127));mwas=mod(mwa1+mwa2,2);sum0=0;sum1=0;for i1=1:128if mwas(1,i1)==0 sum0=sum0+1; else sum1=sum1+1;endendpmwa(1,i+127)=(sum0-sum1)/128; endsubplot(4,2,7);plot(-126:1:126,pmwa);title('m+walsh序列自相关特性');%mw序列的互相关特性mwb1=mw1;mwb2=mw2;mwbn=[mwb2,mwb2,mwb2];pmwb=zeros(1,253);for i=-126:1:126n1=i+128;mwb2=mwbn(1,n1:1:(n1+127));mwbs=mod(mwb1+mwb2,2);sum0=0;sum1=0;for i1=1:128if mwbs(1,i1)==0 sum0=sum0+1;else sum1=sum1+1;endendpmwb(1,i+127)=(sum0-sum1)/128;endsubplot(4,2,8);plot(-126:1:126,pmwb);title('m+walsh序列互相关特性'); 4.实验结果。
m序列实验报告
实验报告--m序列的产生及其特性实验班级:XXXXXX学号:XXXXX姓名:XXXXXM序列的产生及其特性实验一、实验目的掌握m序列的特性、产生方法及运用二、实验内容(1)编写MATLAB程序生成并观察m序列,识别其特征(2)观察m序列的相关特性三、实验原理m序列是有n级线性移位寄存器产生的周期为2n −1的码序列,是最长线性移位寄存器序列的简称。
码分多址系统主要采用两种长度的m序列:一种是周期为215 −1的m序列,又称短PN序列;另一种是周期为242 −1的m序列,又称为长PN码序列。
m序列主要有两个功能:①扩展调制信号的带宽到更大的传输带宽,即所谓的扩展频谱;②区分通过多址接入方式使用同一传输频带的不同用户的信号。
四、实验分析在实验中我选择的是n=6的级数,选择了103、147、155这三个反馈系数1:当反馈系数会Ci=(103)8=(1000011)2原理框图2: 当反馈系数会Ci=(147)8=(1100111)2原理框图3: 当反馈系数会Ci=(155)8=(1101101)2原理框图五、实验程序clearclose all;clcG=127;%使用多项式(103)8=(1000011)2产生第一个m序列sd1=[0 0 0 0 0 1];%寄存器的初始状态PN1=[];%第一个序列for j=1:GPN1=[PN1 sd1(1)];if sd1(1)==sd1(2)temp1=0;else temp1=1;endsd1(1)=sd1(2);sd1(2)=sd1(3);sd1(3)=sd1(4);sd1(4)=sd1(5);sd1(5)=sd1(6);sd1(6)=temp1;endsubplot(3,1,1)stem(PN1)title('使用生成多项式(103)8=(1000011)2产生第一个m序列')%使用生成多项式(147)8=(1100111)2产生第二个m序列sd2=[0 0 0 0 0 1];%寄存器的初始状态PN2=[];%第一个序列for j=1:GPN2=[PN2 sd2(1)];if sd2(1)==sd2(2)temp1=0;else temp1=1;endif sd2(5)==temp1temp2=0;else temp2=1;endif sd2(6)==temp2temp3=0;else temp3=1;endsd2(1)=sd2(2);sd2(2)=sd2(3);sd2(3)=sd2(4);sd2(4)=sd2(5);sd2(5)=sd2(6);sd2(6)=temp3;endsubplot(3,1,2)stem(PN2)title('使用生成多项式(147)8=(1100111)2产生第二个m序列')%使用生成多项式(155)8=(1101101)2产生第三个m序列sd3=[0 0 0 0 0 1];%寄存器的初始状态PN3=[];%第一个序列for j=1:GPN3=[PN3 sd3(1)];if sd3(1)==sd3(2)temp1=0;else temp1=1;endif sd3(4)==temp1temp2=0;else temp2=1;endif sd3(5)==temp2temp3=0;else temp3=1;endsd3(1)=sd3(2);sd3(2)=sd3(3);sd3(3)=sd3(4);sd3(4)=sd3(5);sd3(5)=sd3(6);sd3(6)=temp3;endsubplot(3,1,3)stem(PN3)title('使用生成多项式(155)8=(1101101)2产生第三个m序列')六、实验结果七、m序列的相关性质PN1 =0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 1 1PN2 =0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 0 1 1 1 1PN3 =0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 11)均衡性在m序列的一个周期中,0和1的数目基本相等,1的数目比0的数目多一个,由PN1可知总共有32个1和31个0.2)游程分布M序列中取值相同的那些相继的元素合称为一个“游程”。
移动通信实验序列产生极其特性
1、 m 序列产生及特性分析实验一、实验目的1、了解m 序列的特性及产生。
二、实验模块1、 主控单元模块2、 14号 CDMA 扩频模块3、 示波器三、实验原理1、14号模块的框图14号模块框图2、14号模块框图说明(m 序列)该模块提供了四路速率为512K 的m 序列,测试点分别为PN1、PN2、PN3、PN4。
其中,PN2和PN4分别由PN 序列选择开关S2、S3控制;不同的开关码值,可以设置m 序列码元的不同偏移量。
开关S6是PN 序列长度设置开关,可选127位或128位,其中127位是PN 序列原始码长,128位是在原始码元的连6个0之后增加一个0得到。
Gold 序列测试点为G1和G2,其中G1由PN1和PN2合成,G2由PN3和PN4合成。
拨码开关S1和S4是分别设置W1和W2产生不同的Walsh 序列。
实验中还可以观察不同m 序列(或Gold 序列)和Walsh127位128位序列的合成波形。
注意,每次设置拨码开关后,必须按复位键S7。
3、实验原理框图m 序列相关性实验框图为方便序列特性观察,本实验中将Walsh 序列码型设置开关S1和S4固定设置为某一种。
4、实验框图说明 m 序列的自相关函数为()R A D τ=-式中,A 为对应位码元相同的数目;D 为对应位码元不同的数目。
自相关系数为()A D A DP A Dρτ--==+ 对于m 序列,其码长为P=2n -1, 在这里P 也等于码序列中的码元数,即“0”和“1”个数的总和。
其中“0”的个数因为去掉移位寄存器的全“0”状态,所以A 值为121n A -=-“1”的个数(即不同位)D 为12n D -=m 序列的自相关系数为1 0()1 0,1,2,p τρτττ=⎧⎪=⎨-≠=⎪⎩…,p-1cT τm 序列的自相关函数四、实验步骤及实验现象记录(注:实验过程中,凡是涉及到测试连线改变或者模块及仪器仪表的更换时,都需先停止运行仿真,待连线调整完后,再开启仿真进行后续调节测试。
直接扩频Matlab仿真实验报告m序列
西 安 邮 电 大 学实验名称:基于Matlab 直接序列扩频系统性能仿真一、 实验目的通过仿真,进一步掌握m 序列产生方法及其性能,重点掌握直接序列扩频通信系统原理及性能。
二、 实验环境Win10 Matlab2015b三、 实验内容● 产生n=7时203对应的m 序列,并给出其NRZ 波形的自相关函数;● 选用相位差16个码片的两条序列兼做地址和扩频码,构造码分系统,仿真其通信原理;●仿真AWGN 和单频干扰下系统的BER 性能。
四、 实验原理扩频通信的可行性是从香农公式引申而来2log (1+S/N)C W其中,C 为系统信道容量(bit/s );W 为系统信道带宽;N 为噪声功率S 为信号功率。
由上式可以看出,可以从两种途径提高信道容量C ,即加大带宽W 或提高信噪比S/N 。
也就是说当信道容量C 一定时,信道带宽W 和信噪比S/N 是可以互换的,增加带宽可以降低对信噪比的要求,可以使有用信号的功率接近甚至湮没在噪声功率之下。
扩频通信就是通过增加带宽来换取较低的信噪比,这就是扩频通信的基本思想和理论依据。
当信噪比无法提高时,可以加大带宽,达到提高信道容量的目的。
直接序列扩频的原理是,在发射端把有用信号与伪随机序列相乘(或者模二加),使信号的频谱展宽到一个很宽的范围,然后用扩展后的序列去调制载波。
在接收端,把接收到的信号用相同的伪随机序列相乘,有用信号与伪随机码相关,相乘后恢复为扩频前的信号。
输入的数据信息为d(t)(设基带带宽为B 1),由伪随机编码(如m 序列)调制成基带带宽为B 2的宽带信号,由于扩频信号带宽大于数据信号带宽,所以信号扩展的带宽由伪随机码控制,而与数据信号无关。
经扩频调制的信号再经射频调制后即可发送。
直扩系统的原理框图接收端收到发送来的信号,经混频得到中频信号后,首先通过同步电路捕捉并跟踪发端伪码的准确相位,由此产生与发端伪码相位完全一致的伪随机码作为扩频解扩的本地扩频码,再与中频信号进行相关解扩,恢复出扩频前的窄带信号,而在解扩处理中,干扰和噪声与伪随机码不相关故被扩展,通过滤波使之受到抑制,这样就可在较高的解扩输出信噪比条件下进行信息解调解码,最终获得信息数据。
实验6 m序列特性
课程实验报告课程3G移动通信实验实验名称M序列的特性学院通信工程专业通信工程班级13083414学号13081405学生姓名田昕煜【实验步骤】1. 以实验5产生的m序列为例,应用Matlab语言编写程序,画出m序列的自相关函数2.以实验5产生的m序列为例,应用Matlab语言编写程序,画出m序列的互相关函数【试验原理】:m 序列{i a }的根据自相关函数定义为()A D A DR A D Nτ--==+ 其中,A 是码字{i a }, {i a τ+}对应码元相同数目,D 对应码元不相同数目 比如:某一m 序列为:+1,+1,+1,-1,+1,-1,-1,=0τ时,比较+1,+1,+1,-1,+1,-1,-1 +1,+1,+1,-1,+1,-1,-1得到码元相同的数目A=7,码元不相同的数目D=0,得到自相关函数(0)1A DR A D-==+ =1τ时,比较+1,+1,+1,-1,+1,-1,-1-1,+1,+1,+1,-1,+1,-1,(循环移一位的结果)得到码元相同的数目A=3,码元不相同的数目D=4,得到自相关函数1(1)7A D R A D -==-+ 其他依次类推,对于不同的τ,可以得到1()0,1,2,1mN R m mN Nτττ=⎧⎪==±±⎨-≠⎪⎩画出相关函数图形为:在二进制情况下,码序列周期为N 的两个m 序列,其互相关函数()ab A D A DR A D Nτ--==+ 其中,A 是码字{i a }, {i b τ+}对应码元相同数目,D 对应码元不相同数目。
一、 实验内容观察m 序列的自相关特性和互相关特性二、 仿真程序及说明M 序列代码clear all;clc; r=4;T=14; N=2^r-1;a1=[0 0 0 1]; %移位寄存器 m1=zeros(1,2^r-1);%生成的m 序列fori=1:(2^r-1)m1(i)=a1(r);temp= mod((a1(4)+a1(1)),2);for j=r:-1:2a1(j)=a1(j-1);enda1(1)=temp;endsubplot(2,1,1)stem(m1);axis([0 ,2^r, 0,2 ]);title('本原多项式为 23 8');a2=[0 0 0 1];%移位寄存器m2=zeros(1,2^r-1);%生成的m序列fori=1:(2^r-1)m2(i)=a2(r);temp= mod((a2(3)+a2(4)),2);for j=r:-1:2a2(j)=a2(j-1);enda2(1)=temp;endsubplot(2,1,2)stem(m2);axis([0 ,2^r, 0,2 ]);title('本原多项式为 31 8');m1=m1*2-1;m2=m2*2-1;%********************%figureRaa=zeros(1,T+1);fori=0:TRaa(i+1)=0;for j=1:N;k=i+j;while(k>N)k=k-N;endRaa(i+1)=Raa(i+1)+m1(j)*m1(k);endRaa(i+1)=Raa(i+1)/N;endsubplot(3,1,1)stem(0:T,Raa);title('m1自相关函数');%************************Rbb=zeros(1,T+1);fori=0:TRbb(i+1)=0;for j=1:N;k=i+j;while(k>N)k=k-N;endRbb(i+1)=Rbb(i+1)+m2(j)*m2(k);endRbb(i+1)=Rbb(i+1)/N;endsubplot(3,1,2)stem(0:T,Rbb);title('m2自相关函数');%**********************************Rab=zeros(1,T+1);fori=0:TRab(i+1)=0;for j=1:N;k=i+j;while(k>N)k=k-N;endRab(i+1)=Rab(i+1)+m1(j)*m2(k);endRab(i+1)=Rab(i+1)/N;endsubplot(3,1,3)stem(0:T,Rab);title('m1,m2互相关函数');。
直接扩频Matlab仿真实验报告m序列
西 安 邮 电 大 学实验名称:基于Matlab 直接序列扩频系统性能仿真一、 实验目的通过仿真,进一步掌握m 序列产生方法及其性能,重点掌握直接序列扩频通信系统原理及性能。
二、 实验环境Win10 Matlab2015b三、 实验内容● 产生n=7时203对应的m 序列,并给出其NRZ 波形的自相关函数;● 选用相位差16个码片的两条序列兼做地址和扩频码,构造码分系统,仿真其通信原理;●仿真AWGN 和单频干扰下系统的BER 性能。
四、 实验原理扩频通信的可行性是从香农公式引申而来2log (1+S/N)C W其中,C 为系统信道容量(bit/s );W 为系统信道带宽;N 为噪声功率S 为信号功率。
由上式可以看出,可以从两种途径提高信道容量C ,即加大带宽W 或提高信噪比S/N 。
也就是说当信道容量C 一定时,信道带宽W 和信噪比S/N 是可以互换的,增加带宽可以降低对信噪比的要求,可以使有用信号的功率接近甚至湮没在噪声功率之下。
扩频通信就是通过增加带宽来换取较低的信噪比,这就是扩频通信的基本思想和理论依据。
当信噪比无法提高时,可以加大带宽,达到提高信道容量的目的。
直接序列扩频的原理是,在发射端把有用信号与伪随机序列相乘(或者模二加),使信号的频谱展宽到一个很宽的范围,然后用扩展后的序列去调制载波。
在接收端,把接收到的信号用相同的伪随机序列相乘,有用信号与伪随机码相关,相乘后恢复为扩频前的信号。
输入的数据信息为d(t)(设基带带宽为B 1),由伪随机编码(如m 序列)调制成基带带宽为B 2的宽带信号,由于扩频信号带宽大于数据信号带宽,所以信号扩展的带宽由伪随机码控制,而与数据信号无关。
经扩频调制的信号再经射频调制后即可发送。
直扩系统的原理框图接收端收到发送来的信号,经混频得到中频信号后,首先通过同步电路捕捉并跟踪发端伪码的准确相位,由此产生与发端伪码相位完全一致的伪随机码作为扩频解扩的本地扩频码,再与中频信号进行相关解扩,恢复出扩频前的窄带信号,而在解扩处理中,干扰和噪声与伪随机码不相关故被扩展,通过滤波使之受到抑制,这样就可在较高的解扩输出信噪比条件下进行信息解调解码,最终获得信息数据。
实验一 m序列相关特性
其正/负峰波形及峰值电压,而波形中的小毛刺、小起伏不要理睬,这是步进延时跳变瞬间 PNi 及 PNj 码型的短暂混乱所造成。 说明:在“自动延时”方式下,因 Ri,j(τ)是 PNi(t)×PNj(t-τ)经窄带低通滤波形成的,故 Ri,j(τ)的时序比SYR(τ)的稍有延时。 5. 按 K3 键使 K3 键 LED 灯亮,选择“互相关” 。选择了“5 阶 m 序列-互相关特性测 量”方式。重复步骤 4。 6. 按 K2 键使 K2 键 LED 灯亮,选择“m7” ;按 K3 键使 K3 键 LED 灯灭,选择“自相 关” 。选择了“7 阶 m 序列-自相关特性测量”方式。重复步骤 4。 7. 按 K3 键使 K3 键 LED 灯亮,选择“互相关” 。选择了“7 阶 m 序列-互相关特性测 量”方式。重复步骤 4。
Ri ( )
T
0
p , 0 ci (t ) ci (t )dt p , Tp | | T Tp
(3-1-3)
具有这种与白噪声相似的自相关特性的序列称为 PN 序列(PseudoNoise sequence 伪噪声序 列) ,例如 m 序列及其派生出来的 M 序列及 Gold 序列;而不具有这种自相关特性的序列, 就不能称为 PN 序列,例如 Walsh 序列。 实验一~实验四观测 m 序列、M 序列、Gold 序列、截短的 Gold 序列及 Walsh 序的自 关特性及互相关特性。由“监控及 Pe/Rij 测量”模块中的单片机 CPU1 产生各种正交序列, 再与其外围电路一起按式(3-1-1)及式(3-1-2)实行相关运算,如图 3-1-1 所示。图中用 到第 1 章所述模二加与乘法器等效的关系。用示波器观测各点波形即可了解它们的相关特 性。
通信原理实验:m序列的仿真设计
通信原理实验:m 序列的仿真设计一.实验目的了解m 序列的概念、产生原理、方法、性质和运用,了解m 序列的框图、仿真波形,学会对m 序列的仿真设计. 二.实验原理✓ m 序列的概念——由线性反馈移位寄存器产生的周期最长的序列。
它是由带线性反馈的移存器产生的周期最长的一种序列,是多级移位寄存器或其他延迟元件通过线性反馈产生的最长的码序列。
✓ m 序列的产生一般来说,在一个n 级的二进制移位寄存器发生器中,所能产生的最大长度的码序周期为12-n。
以m=4为例,若其初始状态为),0,0,0,1(),,,(0123=a a a a ,则在移位一次时,由3a 和0a 模2相加产生新的输入,1014=⊕=a 新的状态变为),0,0,1,1(),,,(0123=a a a a 这样移位15次后又回到初始状态,但若初始状态为(0,0,0,0),则移位后得到地全是0状态,这说意味着在这种反馈中要避免出现全0的状态.在4级移存器共有1624=种不同状态,除全0状态以外还有15种可用.即由任何4级反馈移存器产生的序列的周期最长为15,满足12-n(当n 为4时).图1:m 序列的产生举例:4级m 序列产生器及其状态图2中,ai (i = 0 – n ) - 移存器状态。
ai = 0或1。
ci -反馈状态。
ci = 0表示反馈线断开, ci = 1表示反馈线连通。
如图2中示出的一个一般的纯属反馈移存器的组成,反馈线的连接状态用1c ,=i i c 表示表示此线接通(参加反馈),0=i c 表示断开,反馈线的接线状态不同,就可能以改变此移存器序列的周期.✓ m 序列的性质➢ 均衡性: 在m 序列一个周期N=2n -1内“1”和“0”的码元数大致相等,“0”出现2n-1-1次,“1”出现2n-1次 (即“1”比“0”只多一个) 。
➢ 游程分布:游程是指序列中取值相同的一段元素。
并把这段元素的个数称为游程长度。
例如,在上面的一个周期中,共有8个游程,其中长度为4的游程有1个,即“1111”;长度为3的游程有1个,即“000”;长度为2的游程有两个,即“11”和“00”;长度为1的游程有4个,即两个“1”和两个“0”。
实验5 m序列的产生
课程实验报告课程3G移动通信实验实验名称M序列的产生学院通信工程专业通信工程班级13083414学号13081405学生姓名田昕煜一、实验内容【实验目的】⏹加深对m序列产生原理的理解;⏹能够使用Matlab设计m序列发生器;【实验内容】⏹使用生成多项式(23)8=(10011)2产生第一个m序列;⏹使用生成多项式(31)8=(11001)2产生第二个m序列;【实验设备】⏹一台PC 机【实验步骤】1. 画出生成多项式对应的移位寄存器结构图2.应用Matlab语言编写程序,生成m序列,并对生成的m序列绘图【实验报告】按照要求完成实验报告。
实验报告中要求给出移位寄存器结构图和两个m序列对应的图形。
【例子】4级m序列(31)8=(11001)2=(c4,c3,c2,c1,c0)的产生:二、仿真程序及说明clear all;clc;r=5;a1=ones(1,r);m1=zeros(1,2^r-1);for i=1:(2^r-1)temp= mod((a1(4)+a1(1)),2); for j=r:-1:2a1(j)=a1(j-1);enda1(1)=temp;m1(i)=a1(r);endsubplot(2,1,1)stem(m1);axis([0 ,2^r, 0,2 ]);title('本原多项式为(23)8');a2=ones(1,r);m2=zeros(1,2^r-1);for i=1:(2^r-1)temp= mod((a2(4)+a2(3)),2);for j=r:-1:2a2(j)=a2(j-1);enda2(1)=temp;m2(i)=a2(r);endsubplot(2,1,2)stem(m2);axis([0 ,2^r, 0,2 ]);title('本原多项式为(31)8');三、总结学习了对于M序列的MATLAB编程,也对于通信原理中的8进制转换M序列有的巩固。
m序列的生成与仿真
M序列的生成原理与仿真1.1 m序列的生成r 级非退化的移位寄存器的组成如图1 所示,移位时钟源的频率为Rc。
r 级线性移位寄存器的反馈逻辑可用二元域GF(2)上的r 次多项式表示(1)图(1)r 级线性移位寄存器式(1)称为线性移位寄存器的特征多项式,其给出的表示反馈网络的而逻辑关系式是现行的。
因此成为线性移位寄存器。
对于动态线性移位寄存器,其反馈逻辑也可以用线性移位寄存器的递归关系式来表示(2)以式(1)为特征多项式的r 级线性反馈移位寄存器所产生的序列,其周期N≤2r−1。
假设以GF(2)域上r次多项式(1)为特征多项式的r级线性移位寄存器所产生的非零序列{ a i }的周期为N =2r−1,称序列为{ a i }是最大周期的r 级线性移位寄存器序列,简称m序列。
构造一个产生m 序列的线性移位寄存器,首先要确定本原多项式。
本原多项式确定后,根据本原多项式可构造出m 序列移位寄存器的结构逻辑图。
仿真时以n=6的6级移位寄存器为例,产生本源多项式的方法:n=6; %以6级寄存器为例,connections=gfprimfd(n,'all');f1=connections(4,:); %取一组本原多项式序列根据本院多项式确定的反馈系数做出反馈移位寄存器如图(2)所示图(2)m 序列发生器1.2 m 序列自相关函数1.2.1周期自相关函数编写周期自相关函数和非周期自相关函数,实验结果如下图(2)和(3)所示:图(2)m 序列周期自相关函数结论:周期自相关函数R (k )={63 k =0−1 otℎersm 序列周期自相关函数1.2.2非周期自相关函数图(3) m 序列非周期自相关函数1.3 m 序列的互相关函数选用的两个m 序列为一对优选对,以211作为基准本原多项式(反馈系数10001001),217作为配对本原多项式(反馈系数10001111),生成两个m 序列,求出互相关函数如图(4)和(5):、图(4)m 序列互相关函数结论:互相关函数的取值{-1,-17,15}m 序列非周期自相关函数m 序列周期互相关函数m序列非周期互相关函数图(5)m序列非周期互相关函数1.4 附:matlab代码clear;clc;%%------生成m序列-----%%n=6; %以6级寄存器为例,connections=gfprimfd(n,'all');f1=connections(4,:); %取一组本原多项式序列registers1=[1 0 0 0 0 0 ];%给定寄存器的初始状态L=2^n-1; %周期长度sum1=0;for k=1:Lseq(k)=registers1(n); %m序列for j=1:n %进行模2加sum1=sum1+f1(j+1)*registers1(j); %各级寄存器送参与模2加的值sum1=mod(sum1,2);endfor t=n:-1:2 %寄存器移位registers1(t)=registers1(t-1);endregisters1(1)=sum1;sum1=0;end% %%----------------------自相关函数-------------------------%%% %-------非周期自相关函数--------%%a=1-2*seq;b=a;for i=1:LR(i)=sum(a.*b)b=[0 b(1:62)]endplot(R)title('m序列非周期自相关函数');% %-------周期自相关函数------%%% a=1-2*seq;% b=a;% for i=1:L% R(i)=sum(a.*b)% b=[b(63) b(1:62)]% end% plot(R);% title('m序列周期自相关函数');%%-------利用公式编写自相关函数验证---------------%% % a=seq1;% b=[a(1,63),a(1,1:62)];% L=length(b);% n=400;% x=1:n;% for k=1:n% c=xor(a,b);% D=sum(c);% A=L-D;% R(k)=(A-D)/(A+D);% b=[b(L),b(1:L-1)];% end% plot(x,R);% title('gold序列的自相关函数');% xlabel('τ');% ylabel('R(τ)');% grid;。
南昌大学M序列信号发生器实验报告
南昌大学M序列信号发生器实验报告南昌大学信息工程学院M序列信号发生器课程设计班级:姓名:学号:基于MULTISIM的序列信号发生器实验目的实验要求实验元件实验原理MLTISIM知识简介 MLTISIM中仿真仪器实验设计仿真分析仿真电路示波器显示输出波形实验结果实验结论实验感想一、实验目的:1、掌握M序列信号产生的基本方法2、利用MULTISIM产生M序列信号,设计电路做成M序列信号发生器3、掌握M序列 0 状态消除的基本手段二、实验要求:在MULTISIM中采用移存器自启动电路设计仿真M=31序列信号发生器电路,采用虚拟逻辑分析仪观察波形输出。
要求自制时钟脉冲信号,并能清楚地观察到M序列稳定的波形。
采用EDA进行图形仿真,硬件电路来实现。
三、实验元件函数发生器,双端输入示波器,74LS30,74LS164,74LS005V直流电源四、实验原理1、MULTISIM 软件的简介在众多的 EDA 设计和仿真软件中,MULTISIM 软件以其强大的仿真设计应用功能,在各高校电信类专业电子电路的仿真和设计中得到了较广泛的应用。
软件及其相关库包的应用对提高学生的仿真设计能力,MULTISIM更新设计理念有较大的好处。
MULTISIM(电子工作平台)软件,最突出的特点是用户界面好,各类器件和集成芯片丰富,尤其是其直观的虚拟仪表是 MULTISIM 软件的一大特色。
它采用直观的图形界面创建电路:在计算机屏幕上模仿真实实验室的工作台,绘制电路图需要的元器件、电路仿真需要的测试仪器均可直接从屏幕上选取。
MULTISIM 软件所包含的虚拟仪表有:示波器,万用表,函数发生器,波特图图示仪,失真度分析仪,频谱分析仪,逻辑分析仪,网络分析仪等。
这些仪器的使用使仿真分析的操作更符合平时实验的习惯。
电子设计自动化(EDA)技术,使得电子线路的设计人员能在计算机上完成电路的功能设计、逻辑设计、性能分析、时序测试直至印刷电路板的自动设计。
移动通信课程设计实验报告-利用matlab进行m序列直接扩频仿真(推荐文档)
目录一、背景 (4)二、基本要求 (4)三、设计概述 (4)四、Matlab设计流程图 (5)五、Matlab程序及仿真结果图 (6)1、生成m序列及m序列性质 (6)2、生成50位随机待发送二进制比特序列,并进行扩频编码 (7)3、对扩频前后信号进行BPSK调制,观察其时域波形 (9)4、计算并观察扩频前后BPSK调制信号的频谱 (10)5、仿真经awgn信道传输后,扩频前后信号时域及频域的变化 (11)6、对比经信道前后两种信号的频谱变化 (12)7、接收机与本地恢复载波相乘,观察仿真时域波形 (14)8、与恢复载波相乘后,观察其频谱变化 (15)9、仿真观察信号经凯萨尔窗低通滤波后的频谱 (16)10、观察经过低通滤波器后无扩频与扩频系统的时域波形 (17)11、对扩频系统进行解扩,观察其时域频域 (18)12、比较扩频系统解扩前后信号带宽 (19)13、比较解扩前后信号功率谱密度 (20)14、对解扩信号进行采样、判决 (21)15、在信道中加入2040~2050Hz窄带强干扰并乘以恢复载波 (24)16、对加窄带干扰的信号进行低通滤波并解扩 (25)17、比较解扩后信号与窄带强干扰的功率谱 (27)六、误码率simulink仿真 (28)1、直接扩频系统信道模型 (28)2、加窄带干扰的直扩系统建模 (29)3、用示波器观察发送码字及解扩后码字 (30)4、直接扩频系统与无扩频系统的误码率比较 (31)5、不同扩频序列长度下的误码率比较 (32)6、扩频序列长度N=7时,不同强度窄带干扰下的误码率比较 (33)七、利用Walsh码实现码分多址技术 (34)1、产生改善的walsh码 (35)2、产生两路不同的信息序列 (36)3、用两个沃尔什码分别调制两路信号 (38)4、两路信号相加,并进行BPSK调制 (39)5、观察调制信号频谱,并经awgn信道加高斯白噪和窄带强干扰 (40)6、接收机信号乘以恢复载波,观察时域和频域 (42)7、信号经凯萨尔窗低通滤波器 (43)8、对滤波后信号分别用m1和m2进行解扩 (44)9、对两路信号分别采样,判决 (45)八、产生随机序列Gold码和正交Gold码 (47)1、产生Gold码并仿真其自相关函数 (48)2、产生正交Gold码并仿真其互相关函数 (50)九、实验心得体会 (51)直接序列扩频系统仿真一、背景直接序列扩频通信系统(DSSS)是目前应用最为广泛的系统。
M序列产生及其特性仿真实验报告
M序列产生及其特性仿真实验报告一、三种扩频码序列简介1.1 m序列它是由多级移位寄存器或其他延迟元件通过线性反馈产生的最长的码序列。
m序列的特性1、最长周期序列:N=2n-12、功率平衡性:‘1’的个数比‘0’的个数多13、‘0’、‘1’随机分布:近似高斯噪声4、相移不变性:任意循环移位仍是m序列,仅初相不同5、离散自相关函数:‘0’->+1,‘1’->-11.2 Gold序列Gold序列是两个等长m序列模二加的复合序列两个m序列应是“优选对”特点:1、包括两个优选对m序列,一个Gold序列族中共有2n+1个Gold序列2、Gold序列族中任一个序列的自相关旁瓣及任意两个序列的互相关峰值均不超过两个m序列优选对的互相关峰值1.3OVSF序列又叫正交可变扩频因子,系统根据扩频因子的大小给用户分配资源,数值越大,提供的带宽越小,是一个实现码分多址(CDMA)信号传输的代码,它由Walsh函数生成,OVSF码互相关为零,相互完全正交。
OVSF序列的特点1、序列之间完全正交2、极适合用于同步码分多址系统3、序列长度可变,不影响正交性,是可变速率码分系统的首选多址扩频码4、自相关性很差,需与伪随机扰码组合使用二、三种扩频码序列产生仿真一、M序列的产生代码:X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初T态(0101), Yi为移位寄存器各级输出m=60; %置M序列总长度for i=1:m %1#Y4=X4; Y3=X3; Y2=X2; Y1=X1;X4=Y3; X3=Y2; X2=Y1;X1=xor(Y3,Y4); %异或运算if Y4==0U(i)=-1;elseU(i)=Y4;endendM=U%绘图i1=ik=1:1:i1;plot(k,U,k,U,'rx')xlabel('k')ylabel('M序列')title('移位寄存器产生的M序列')用阶梯图产生表示:X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初T态(0101),Yi为移位寄存器各级输出m=60; %置M序列总长度for i=1:m %1#Y4=X4; Y3=X3; Y2=X2; Y1=X1;X4=Y3; X3=Y2; X2=Y1;X1=xor(Y3,Y4); %异或运算if Y4==0U(i)=-1;elseU(i)=Y4;endendM=U%绘图stairs(M);二、GOLD序列的产生:M序列A的生成:X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初T态(1010), Yi为移位寄存器各级输出m=60; %置M序列总长度for i=1:m %1#Y4=X4; Y3=X3; Y2=X2; Y1=X1;X4=Y3; X3=Y2; X2=Y1;X1=xor(Y3,Y4); %异或运算if Y4==0A(i)=0;elseA(i)=Y4;endendM=A%绘图i1=ik=1:1:i1;plot(k,A,k,A,'rx')xlabel('k')ylabel('M序列')title('移位寄存器产生的M序列')M序列B的生成:X1=0;X2=1;X3=0;X4=1; %移位寄存器输入Xi初T态(0101), Yi为移位寄存器各级输出m=60; %置M序列总长度for i=1:m %1#Y4=X4; Y3=X3; Y2=X2; Y1=X1;X4=Y3; X3=Y2; X2=Y1;X1=xor(Y3,Y4); %异或运算if Y4==0B(i)=0;elseB(i)=Y4;endendN=B%绘图i1=ik=1:1:i1;plot(k,B,k,B,'rx')xlabel('k')ylabel('M序列')title('移位寄存器产生的M序列') 生成gold序列:c=xor(A,B);stairs(c);三、OVSF序列的产生:%Function [OVSF_Codes]=OVSF_Generator(Spread_Fator,Code_Number)%Code_Number=-1 表示生成所有扩频因子=Spread_Factor的ovsf码Code_Number=-1;Spread_Fator=8;OVSF_Codes=1;if Spread_Fator==1return;endfor i=1:1:log2(Spread_Fator)Temp=OVSF_Codes;for j=1:1:size(OVSF_Codes,1)if j==1OVSF_Codes=[Temp(j,:),Temp(j,:) Temp(j,:),(-1)*Temp(j,:)];elseOVSF_Codes=[OVSF_Codes Temp(j,:),Temp(j,:) Temp(j,:),(-1)*Temp(j,:)];endendend%if Code_Number>-1% OVSF_Codes=OVSF_Codes((Code_Number+1),:);%endfigure(3)[b4,t4]=stairs([1:length(OVSF_Codes)],OVSF_Codes); plot(b4,t4);axis([0 130 -1.1 1.1]);title('OVSF序列')三、三种扩频码序列特性仿真(一)M序列自相关函数X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初T态(0101), Yi为移位寄存器各级输出m=2^8-1; %置M序列总长度for i=1:m %1#Y4=X4; Y3=X3; Y2=X2; Y1=X1;X4=Y3; X3=Y2; X2=Y1;X1=xor(Y3,Y4); %异或运算if Y4==0U(i)=-1;elseU(i)=Y4;y = xcorr(U);stairs(y);end互相关函数:输入两个m序列clcclear allclose allm1 = [0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1] m2 = [1 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 0 1]y = xcorr(m1,m2,'unbiased');stairs(y)(二)Gold码的自相关函数x2=[(2*c)-1];%将运行结果Gold序列c从单极性序列变为双极性序列y1=xcorr(x2,'unbiased');%求自相关性stairs(y1);gridxlabel('t')ylabel('相关性')title('移位寄存器产生的Gold序列的相关性')互相关性gold序列和m序列的互相关性y1=xcorr(c,m1,'unbiased'); stairs(y1);(三)ovsf码的互相关和自相关a=[1 -1 1 1 -1 1 -1 -1];b=[1 -1 -1 1 1 -1 -1 1];P=length(a);%求序列a的自相关函数Ra(1)=sum(a.*a);for k=1:P-1Ra(k+1)=sum(a.*circshift(a,[0,k])); end%求序列b的自相关函数Rb(1)=sum(b.*b);for k=1:P-1Rb(k+1)=sum(b.*circshift(b,[0,k])); end%求序列a和b的互相关函数Rab(1)=sum(a.*b);for k=1:P-1Rab(k+1)=sum(a.*circshift(b,[0,k])); endx=[0:P-1];figure(9)subplot(3,1,1);stem(x,Rab);ylabel('a和b的互相关函数');axis([0 P-1 -10 12]);grid;xlabel('偏移量');subplot(3,1,2);stem(x,Ra);ylabel('a自相关函数');xlabel('偏移量');%axis([0 P-1 -5 30]);subplot(3,1,3);stem(x,Rb);%plot(x,Rb)xlabel('偏移量');ylabel('b的自相关函数');四、总结一、M序列自相关函数近似于冲激函数的形状,不同序列间的互相关特性一致性不好。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
M序列产生及其特性仿真实验报告一、三种扩频码序列简介1.1 m序列它是由多级移位寄存器或其他延迟元件通过线性反馈产生的最长的码序列。
m序列的特性1、最长周期序列:N=2n-12、功率平衡性:‘1’的个数比‘0’的个数多13、‘0’、‘1’随机分布:近似高斯噪声4、相移不变性:任意循环移位仍是m序列,仅初相不同5、离散自相关函数:‘0’->+1,‘1’->-11.2 Gold序列Gold序列是两个等长m序列模二加的复合序列两个m序列应是“优选对”特点:1、包括两个优选对m序列,一个Gold序列族中共有2n+1个Gold序列2、Gold序列族中任一个序列的自相关旁瓣及任意两个序列的互相关峰值均不超过两个m序列优选对的互相关峰值1.3OVSF序列又叫正交可变扩频因子,系统根据扩频因子的大小给用户分配资源,数值越大,提供的带宽越小,是一个实现码分多址(CDMA)信号传输的代码,它由Walsh函数生成,OVSF码互相关为零,相互完全正交。
OVSF序列的特点1、序列之间完全正交2、极适合用于同步码分多址系统3、序列长度可变,不影响正交性,是可变速率码分系统的首选多址扩频码4、自相关性很差,需与伪随机扰码组合使用二、三种扩频码序列产生仿真一、M序列的产生代码:X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初T态(0101), Yi为移位寄存器各级输出m=60; %置M序列总长度for i=1:m %1#Y4=X4; Y3=X3; Y2=X2; Y1=X1;X4=Y3; X3=Y2; X2=Y1;X1=xor(Y3,Y4); %异或运算if Y4==0U(i)=-1;elseU(i)=Y4;endendM=U%绘图i1=ik=1:1:i1;plot(k,U,k,U,'rx')xlabel('k')ylabel('M序列')title('移位寄存器产生的M序列')用阶梯图产生表示:X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初T态(0101),Yi为移位寄存器各级输出m=60; %置M序列总长度for i=1:m %1#Y4=X4; Y3=X3; Y2=X2; Y1=X1;X4=Y3; X3=Y2; X2=Y1;X1=xor(Y3,Y4); %异或运算if Y4==0U(i)=-1;elseU(i)=Y4;endendM=U%绘图stairs(M);二、GOLD序列的产生:M序列A的生成:X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初T态(1010), Yi为移位寄存器各级输出m=60; %置M序列总长度for i=1:m %1#Y4=X4; Y3=X3; Y2=X2; Y1=X1;X4=Y3; X3=Y2; X2=Y1;X1=xor(Y3,Y4); %异或运算if Y4==0A(i)=0;elseA(i)=Y4;endendM=A%绘图i1=ik=1:1:i1;plot(k,A,k,A,'rx')xlabel('k')ylabel('M序列')title('移位寄存器产生的M序列')M序列B的生成:X1=0;X2=1;X3=0;X4=1; %移位寄存器输入Xi初T态(0101), Yi为移位寄存器各级输出m=60; %置M序列总长度for i=1:m %1#Y4=X4; Y3=X3; Y2=X2; Y1=X1;X4=Y3; X3=Y2; X2=Y1;X1=xor(Y3,Y4); %异或运算if Y4==0B(i)=0;elseB(i)=Y4;endendN=B%绘图i1=ik=1:1:i1;plot(k,B,k,B,'rx')xlabel('k')ylabel('M序列')title('移位寄存器产生的M序列') 生成gold序列:c=xor(A,B);stairs(c);三、OVSF序列的产生:%Function [OVSF_Codes]=OVSF_Generator(Spread_Fator,Code_Number)%Code_Number=-1 表示生成所有扩频因子=Spread_Factor的ovsf码Code_Number=-1;Spread_Fator=8;OVSF_Codes=1;if Spread_Fator==1return;endfor i=1:1:log2(Spread_Fator)Temp=OVSF_Codes;for j=1:1:size(OVSF_Codes,1)if j==1OVSF_Codes=[Temp(j,:),Temp(j,:) Temp(j,:),(-1)*Temp(j,:)];elseOVSF_Codes=[OVSF_Codes Temp(j,:),Temp(j,:) Temp(j,:),(-1)*Temp(j,:)];endendend%if Code_Number>-1% OVSF_Codes=OVSF_Codes((Code_Number+1),:);%endfigure(3)[b4,t4]=stairs([1:length(OVSF_Codes)],OVSF_Codes); plot(b4,t4);axis([0 130 -1.1 1.1]);title('OVSF序列')三、三种扩频码序列特性仿真(一)M序列自相关函数X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初T态(0101), Yi为移位寄存器各级输出m=2^8-1; %置M序列总长度for i=1:m %1#Y4=X4; Y3=X3; Y2=X2; Y1=X1;X4=Y3; X3=Y2; X2=Y1;X1=xor(Y3,Y4); %异或运算if Y4==0U(i)=-1;elseU(i)=Y4;y = xcorr(U);stairs(y);end互相关函数:输入两个m序列clcclear allclose allm1 = [0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1] m2 = [1 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 0 1]y = xcorr(m1,m2,'unbiased');stairs(y)(二)Gold码的自相关函数x2=[(2*c)-1];%将运行结果Gold序列c从单极性序列变为双极性序列y1=xcorr(x2,'unbiased');%求自相关性stairs(y1);gridxlabel('t')ylabel('相关性')title('移位寄存器产生的Gold序列的相关性')互相关性gold序列和m序列的互相关性y1=xcorr(c,m1,'unbiased'); stairs(y1);(三)ovsf码的互相关和自相关a=[1 -1 1 1 -1 1 -1 -1];b=[1 -1 -1 1 1 -1 -1 1];P=length(a);%求序列a的自相关函数Ra(1)=sum(a.*a);for k=1:P-1Ra(k+1)=sum(a.*circshift(a,[0,k])); end%求序列b的自相关函数Rb(1)=sum(b.*b);for k=1:P-1Rb(k+1)=sum(b.*circshift(b,[0,k])); end%求序列a和b的互相关函数Rab(1)=sum(a.*b);for k=1:P-1Rab(k+1)=sum(a.*circshift(b,[0,k])); endx=[0:P-1];figure(9)subplot(3,1,1);stem(x,Rab);ylabel('a和b的互相关函数');axis([0 P-1 -10 12]);grid;xlabel('偏移量');subplot(3,1,2);stem(x,Ra);ylabel('a自相关函数');xlabel('偏移量');%axis([0 P-1 -5 30]);subplot(3,1,3);stem(x,Rb);%plot(x,Rb)xlabel('偏移量');ylabel('b的自相关函数');四、总结一、M序列自相关函数近似于冲激函数的形状,不同序列间的互相关特性一致性不好。
二、Gold序列的自相关特性略差于m序列,但互相关特性优于m序列三、OVSF序列之间完全正交,即互相关性很好,因此极适合用于同步码分多址系统,但自相关性很差。