版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实 验 报 告课程名称:无线通信与网络实验项目:matlab仿真实验实验地点: 专业班级:学号:学生姓名: 指导教师: 2013年4月12日实验1 卷积编码和译码的matlab仿真实现一、 实验目的了解掌握如何使用matlab来进行卷积编码和译码的仿真。二、 实验内容1、SIMULINK仿真模块的参数设置以及重要参数的意义2、不同回溯长度对卷积码性能的影响3、不同码率对卷积码误码性能的影响4、 不同约束长度对卷积码的误码性能影响三、基本原理本实验分为卷积编码和卷积译码两部分:卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送
2、的码字序列的估值。对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。卷积码的译码方法有两大类:一类是大数逻辑译码,又称门限译码(硬判决);另一种是概率译码(软判决),概率译码又分为维特比译码和序列译码两种。门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差2。当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。维特比译码算法是1967年由Viterbi提出,近年来有大的发展。目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。采用概率译码的基本思想是:
3、把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。当传信率和信息组数L较大时,使得译码器难以实现。维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。它并不是在网格图上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。下面以图2.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。为了能说明
4、解码过程,这里给出该码的状态图,如图2.2所mjmj-1mj-2输出序列m1,m2,mj,y1jy2j输入序列00adcb110011010110图2.1 (2,1,3)卷积码编码器图2.2 (2,1,3)卷积码状态图示。维特比译码需要利用图来说明移码过程。根据卷积码画网格的方法,我们可以画出该码的网格图,如图2.3所示。该图设输入信息数目L=5,所以画L+N=8个时间单位,图中分别标以0至7。这里设编码器从a状态开始运作。该网格图的每一条路径都对应着不同的输入信息序列。由于所有可能输入信息序列共有2kL个,因而网格图中所有可能的路径也为2kL条。这里节点a=00,b=01,c=10,d=11
5、。abcd节点号0123456700000000000000111111111111111100000101010101010101010101111110101010图2.3 (2,1,3)卷积码网格图设输入编码器的信息序列为(11011000),则由编码器对应输出的序列为Y=(1101010001011100),编码器的状态转移路线为abdcbdca。若收到的序列R=(0101011001011100),对照网格图来说明维特比译码的方法。由于该卷积码的约束长度为6位,因此先选择接收序列的前6位序列R1=(010101)同到达第3时刻的可能的8个码序列(即8条路径)进行比较,并计算出码距。该
6、例中到达第3时刻a点的路径序列是(000000)和(111011),他们与R1的距离分别为3和4;到达第3时刻b点的路径序列是(000011)和(111000),他们与R1的距离分别为3和4;到达第3时刻b点的路径序列是(000011)和(111000),他们与R1的距离分别为3和4;到达第3时刻c点的路径序列是(001110)和(110101),他们与R1的距离分别为4和1;到达第3时刻d点的路径序列是(001101)和(110110),他们与R1的距离分别为2和3。上述每个节点都保留码距较小的路径作为幸存路径,所以幸存路径码序列是(000000)、(000011)、(1101001)和(0
7、01101),如图2.4所示。用于上面类似的方法可以得到第4、5、6、7时刻的幸存路径。abcd节点号0123000000111111010101图2.4 维特比译码第3时刻幸存路径需要指出的是,对于某个节点,如果比较两条路径与接收序列的累计码距值相等时,则可以任意选者一条路径作为幸存路径,吃时不会影响最终的译码结果。在码的终了时刻a状态,得到一条幸存路径。如果2.5所示。由此可看到译码器abcd节点号0123110101456780001011100图2.5 第8时刻幸存路径输出是R=(1101010001011100),即可变换成序列(11011000),恢复了发端原始信息。比较R和R序列
8、,可以看到在译码过程中已纠正了在码序列第1和第7位上的差错。当然如果差错出现太频繁,以致超出卷积码的纠错能力,还是会发生纠误的。四、实验步骤4.1 卷积码的仿真本文通过MATLAB下的SIMULINK仿真。首先建立卷积码的仿真模块并组合起来。图4-1卷积码的编码译码框图如上图4-1的信号流程可以表示为先由Bernoulli Binary Generator(贝努利二进制序列产生器)产生一个0,1等概序列,经过Convolutional Encoder(卷积编码器)对输入的二进制序列进行卷积编码,并用BPSK调制方式调制信号。加入信道噪声(高斯白噪声)后再经过BPSK解调制后送入Viterbi
9、Decoder(Viterbi译码器)进行硬判决译码。最后经过Error Rate Calculation(误码统计)后由Display(显示)输出。然后通过Selector(数据选通器)将结果输出到To workspace(工作区间)。4.1.1 SIMULINK仿真模块的参数设置以及重要参数的意义在建立如图4-1的仿真模块后,对各个模块分别一一进行设置后并运行仿真。图4-2贝努利二进制序列产生器模块的设置框图如上图4-2是贝努利二进制序列产生器模块的设置框图,其中参数有三项:第一项probability of a zero取值为0.5,表示0和1出现的概率相等。Initial seed 表
10、示随机种子数。不同的随机种子数将产生不同的二进制序列,特定的随机种子数可以产生一个特定的二进制序列。Sample time=0.0001表示抽样时间,也就是说输出序列中每个二进制符号的持续时间是0.0001秒。Samples per frame 表示每帧的抽样数用来确定每帧的抽样点的数目。Frame-based outputs 是用来确定帧的输出格式。图4-3 BPSK调制器模块的设置框图如上图4-3是BPSK调制器模块的设置框图中有二项,第一项是Phase offset(rad)(相位偏移),这里设置为0。第二项是Samples per symbol(输出信号采样数)这里设置为1。图4-4卷
11、积编码器模块的设置框图如上图4-4是卷积编码器模块的设置框图。其中Trellis structure( Trellis结构)中通过poly2trellis()函数把卷积码的约束长度,生成多项式以及反馈多项式转换成Trellis结构的形式。图4-5误比特统计模块的设置框图如上图4-5是误比特统计模块的设置框图。其中Receive delay表示接收延迟,意思是在通信接收端口需要对接收到的信号进行解调,解码或解交织而带来一定的延迟,使得到达误码统计模块接收端的信号滞后于发送端的信号。为了补偿这种延迟这里设置为0。Computation delay表示计算延迟,在仿真过程中,有时间需要忽略最初的若干
12、个输入数据就通过计算延迟来实现。这里设置为0。Computation mode表示计算模式,帧的计算模式(Entire frame),误码统计模块对发送端和接收端的所有输入数据进行统计。output data是输出数据,这里设置为Port的意思是表示把统计数据从端口中输出。workspace表示把统计数据输出到工作区。图4-6 数据选通器模块的设置框图如上图4-6是数据选通器模块的设置框图。对应图4-1看Elements是指输出端口的个数为1。Input port width表示输入端口的个数为3。图4-7卷积码译码器模块的设置框图如上图4-7是卷积码译码器模块的设置框图。Trellis st
13、ructure: Trellis结构(前面已说明)。Decision type是指判决类型,有3种:(1)Unquantized(非量化)(2)Hard Decision(硬判决),(3)Soft Decision(软判决)Traceback depth表示反馈深度。它的值会影响译码精度和解码延迟。Operation mode是指操作模式。在Truncated模式下,解码器在每帧数据结束的时候总能恢复到全0状态,它与卷积编码器的on each frame复位方式相对应。4.2 改变卷积码的参数仿真以及结论4.2.1 不同回溯长度对卷积码性能的影响下面将以(2,1,7)卷积码来建立模块仿真。将译
14、码模块中的Traceback depth分别设置为20,35,45并在一个图中画出这三种方式下的误码性能曲线得到下图4-8。从上到下的三条曲线分别是Traceback depth为20,35,45。可以看出:回溯长度是在Viterbi 译码过程中一个很重要的参数,他决定了译码延迟,随着他的不断变化,误码性能也随误比特率曲线可以清楚地看到,当回溯长度一定时,随着信道噪声的逐渐减小,系统的误比特率逐渐降低;当回溯长度逐渐增加,系统的误比特率随之逐渐降低,但是当回溯程度增加到5 N 时( N 为编码的约束长度) ,误比特率数值趋于稳定,因此,在确定回溯长度时既要考虑到随着的增加误比特率随之降低的趋势
15、,也要考虑到译码延迟会变大,在选取回溯长度时,通常取= 5 N。图4-8 不同回溯长度对误码性能的影响分析不同回溯长度对卷积码误码性能的影响时用到的程序如下:x=-10:5; y=x; fori=1:length(x) SNR=x(i);sim('yima');y(i)=mean(BitErrorRate);endsemilogy(x,y);hold on;fori=1:length(x) SNR=x(i);sim('yima1');y(i)=mean(BitErrorRate);endsemilogy(x,y);hold on;fori=1:length(x)
16、 SNR=x(i);sim('yima2');y(i)=mean(BitErrorRate);endsemilogy(x,y);4.2.2 不同码率对卷积码误码性能的响下面图4-9是通过改变卷积码的码率为1/2和1/3而得到的二条对比曲线。上面的一条曲线是码率为1/2,下面的是码率为1/3。卷积码的码率R = k/ n,他是卷积码的一个重要参数,当改变卷积码的码率时,系统的误码性能也将随之发生变化。从图4-9中的误比特率曲线可以看出,当码率一定时,随着信道噪声的逐渐减小,系统的误比特率也逐渐减小,当改变系统码率时,随着卷积码码率的逐渐提高,系统的误比特率也呈现出增大的趋势,也就
17、是说码率越低,系统的误比特率就越小,误码性能就越好。图4-9卷积码不同码率对误码性能的影响分析不同码率对卷积码误码性能的影响时用到的程序如下:x=0:5; y=x; fori=1:length(x) SNR=x(i);sim('yima1');y(i)=mean(BitErrorRate);endsemilogy(x,y);hold on;fori=1:length(x) SNR=x(i);sim('yima2');y(i)=mean(BitErrorRate);endsemilogy(x,y);4.2.3 不同约束长度对卷积码的误码性能影响如下图4-10,对于
18、码率一定的卷积码,当约束长度N 发生变化时,系统的误码性能也会随之发生变化, 我们以码率R = 1/ 2的(2 ,1 ,3)和(2,1,7) 卷积码为例展开分析。上面的曲线是(2,1,3)卷积码的误码性能曲线。下面的曲线是(2,1,7)卷积码的误码性能曲线。从图4-4中的误比特率曲线可以清楚地看到,随着约束长度的逐渐增加,系统的误比特率明显降低,所以说当码率一定时,增加约束长度可以降低系统的误比特率,但是随着约束长度的增加,译码设备的复杂性也会随之增加,所以对于码率为1/ 2 的卷积码,我们在选取约束长度时一般为39 。图4-10 不同约束长度对卷积码误码性能的影响分析不同约束长度对卷积码误码
19、性能影响用到的程序如下:x=0:5; y=x; fori=1:length(x) SNR=x(i);sim('yima');y(i)=mean(BitErrorRate);endsemilogy(x,y);hold on;fori=1:length(x) SNR=x(i);sim('yima1');y(i)=mean(BitErrorRate);endsemilogy(x,y);五、实验结果及分析较成功的进行了卷积编码和译码的实现,通过上面回溯长度,码率,约束长度这三个卷积码的重要参数的变化后对译码性能的分析,我们了解到在操作过程中有许多的条件不能同时具备,我们
20、应该根据现实状况选择合适的参数六、心得与体会遇到这个课题刚刚开始无从下手后来在同学老师的帮助下了解到相关知识介绍,使我少走了不少弯路。设计中要用到的Matlab仿真软件,我接触的不多,借助于相关资料,通过自己的努力和老师的帮助,最终掌握了仿真的基本方法。我们在学习中要怕困难,努力寻找解决问题的方法答案。实验二交错四相移相键控(OQPSK)调制及解调实验一、 实验目的1、了解QPSK调制解调原理及特性。2、了解载波在QPSK相干及非相干时的解调特性。 3、通过比较调制前和调制后的二进制信号的频谱图,掌握PSK调制的原理。二、 实验内容1、观察I、Q两路基带信号的特征及与输入NRZ码的关系。2、观
21、察IQ调制解调过程中各信号变化。3、观察解调载波相干时和非相干时各信号的区别。三、 基本原理1、 QPSK调制原理QPSK的调制有两种产生方法相乘电路法和选择法。相乘法:输入信号是二进制不归零的双极性码元,它通过“串并变换”电路变成了两路码元。变成并行码元后,每个码元的持续时间是输入码元的两倍。用两路正交载波去调制并行码元。图2.2.1选择法QPSK的调制中,QPSK信号可以看成是两个载波正交的2PSK信号调制器构成。原理分析如下:基本原理和系统结构QPSK与二进制PSK一样,传输信号包含的信息都存在于相位中。个别的载波相位取四个等间隔值之一,如/4、3/4、5/4、7/4。相应的,可将发射信
22、号定义为:其中,i1,2,3,4;E是发射信号的每个符号的能量,T为符号的持续时间,载波频率f等于nc/T,nc为固定整数。每一个可能的相位值对应于一个特定的二位组。下面介绍QPSK信号的产生和检测。如图为典型的QPSK发射机框图。输入的二进制数据序列首先被不归零(NRZ)电平编码转换器转换为极性形式,即负号1和0分别用和-表示。该二进制波形被分接器分成两个分别由输入序列的奇数位偶数位组成的彼此独立的二进制波形,这两个二进制波形分别用a1(t)和a2(t)表示。此时,在任何一信号时间间隔内a1(t),和a2(t)的幅度恰好分别等于Si1和 Si2,即由发送的二位组决定。这两个二进制波形a1(t
23、)和a2(t)被用来调制一对正交载波:,。这样就得到一对二进制PSK信号。和的正交性使这两个信号可以被独立地检测。最后,将这两个二进制PSK信号相加,从而得期望的QPSK。选择法输入基带信号经过串并变换后用于控制一个相位选择电路,按照当时的输入双比特ab,决定选择哪个相位的载波输出。调制原理图:2、QPSK解调原理QPSK接收机由一对共输入地相关器组成。这两个相关器分别提供本地产生地相干参考信号和。相关器接收信号x(t),相关器输出地x1和x2被用来与门限值0进行比较。如果x1>0,则判决同相信道地输出为符号1;如果x1<0 ,则判决同相信道的输出为符号0。如果正交通道也是如此判决
24、输出。最后同相信道和正交信道输出这两个二进制数据序列被复加器合并,重新得到原始的二进制序列。在AWGN信道中,判决结果具有最小的负号差错概率。用两路具有相互正交特性的载波来解调信号,可以分离这两路正交的2PSK信号。相干解调后,并行码元经过并/串变换后,最终得到串行的数据流。四、实验步骤(1)QPSK调制程序clear allclose allt=-1:0.01:7-0.01; t1=0:0.01:8-0.01; tt=length(t); x1=ones(1,800);fori=1:ttif (t(i)>=-1 & t(i)<=1) | (t(i)>=5&
25、t(i)<=7);x1(i)=1;else x1(i)=-1;endendt2 = 0:0.01:7-0.01; t3 = -1:0.01:7.1-0.01; t4 = 0:0.01:8.1-0.01; tt1=length(t1);x2=ones(1,800);fori=1:tt1if (t1(i)>=0 & t1(i)<=2) | (t1(i)>=4& t1(i)<=8);x2(i)=1;else x2(i)=-1;endendf=0:0.1:1;xrc=0.5+0.5*cos(pi*f); y1=conv(x1,xrc)/5.5; y2=co
26、nv(x2,xrc)/5.5; n0=randn(size(t2); f1=1;i=x1.*cos(2*pi*f1*t); q=x2.*sin(2*pi*f1*t1); I=i(101:800);Q=q(1:700);QPSK=sqrt(1/2).*I+sqrt(1/2).*Q;QPSK_n=(sqrt(1/2).*I+sqrt(1/2).*Q)+n0;n1=randn(size(t2);i_rc=y1.*cos(2*pi*f1*t3); q_rc=y2.*sin(2*pi*f1*t4); I_rc=i_rc(101:800);Q_rc=q_rc(1:700);QPSK_rc=(sqrt(1/
27、2).*I_rc+sqrt(1/2).*Q_rc);QPSK_rc_n1=QPSK_rc+n1;figure(1)subplot(3,1,1);plot(t3,i_rc);axis(-1 8 -1 1);ylabel('a序列');subplot(3,1,2);plot(t4,q_rc);axis(-1 8 -1 1);ylabel('b序列');subplot(3,1,3);plot(t2,QPSK_rc);axis(-1 8 -1 1);ylabel('合成序列');(2)QPSK解调程序clear allclose allbit_in =
28、randint(1e3, 1, 0 1);bit_I =bit_in(1:2:1e3);bit_Q =bit_in(2:2:1e3); data_I = -2*bit_I+1; data_Q = -2*bit_Q+1; data_I1=repmat(data_I',20,1);data_Q1=repmat(data_Q',20,1);fori=1:1e4 data_I2(i)=data_I1(i); data_Q2(i)=data_Q1(i);end;f=0:0.1:1;xrc=0.5+0.5*cos(pi*f); data_I2_rc=conv(data_I2,xrc)/5.
29、5; % data_I2_rc就是Idatadata_Q2_rc=conv(data_Q2,xrc)/5.5; % data_Q2_rc就是Qdataf1=1;t1=0:0.1:1e3+0.9; n0=rand(size(t1); I_rc=data_I2_rc.*cos(2*pi*f1*t1);Q_rc=data_Q2_rc.*sin(2*pi*f1*t1);QPSK_rc=(sqrt(1/2).*I_rc+sqrt(1/2).*Q_rc);QPSK_rc_n0=QPSK_rc+n0;I_demo=QPSK_rc_n0.*cos(2*pi*f1*t1); Q_demo=QPSK_rc_n0.
30、*sin(2*pi*f1*t1);I_recover=conv(I_demo,xrc); Q_recover=conv(Q_demo,xrc);I=I_recover(11:10010); Q=Q_recover(11:10010);t2=0:0.05:1e3-0.05; t3=0:0.1:1e3-0.1; data_recover=; fori=1:20:10000 data_recover=data_recover I(i:1:i+19) Q(i:1:i+19); end;bit_recover=;fori=1:20:20000if sum(data_recover(i:i+19)>
31、0 data_recover_a(i:i+19)=1; bit_recover=bit_recover 1; elsedata_recover_a(i:i+19)=-1; bit_recover=bit_recover -1; endenderror=0;dd = -2*bit_in+1; ddd=dd' ddd1=repmat(ddd,20,1); fori=1:2e4ddd2(i)=ddd1(i); endfori=1:1e3ifbit_recover(i)=ddd(i)error=error+1;endendp=error/1000;figure(1)subplot(4,1,1)
32、;plot(t2,ddd2);axis(0 100 -2 2);title('原序列');subplot(4,1,2);plot(t1,I_demo);axis(0 100 -2 2);title('I 支路解调');subplot(4,1,3);plot(t1,Q_demo);axis(0 100 -2 2);title('Q 支路解调');subplot(4,1,4);plot(t2,data_recover_a);axis(0 100 -2 2);title('解调后序列');五、实验结果及分析(1)调制(2)解调:六、心得
33、与体会通过本次实验我了解到了四相移相键控QPSK调制及解调的方法,实验过程较为复杂,遇到了很多想象不到的困难,经过自己的不断尝试,又经过老师的详细解答最终完成了该实验实验三 m序列产生及其特性实验一、 实验目的通过本实验掌握m序列的特性、产生方法及应用。二、 实验内容1、观察m序列,识别其特征。2、观察m序列的自相关特性。三、 基本原理m序列是最长线性移位寄存器序列的简称。它是由多级移位寄存器或其他延迟元件通过线性反馈产生的最长的码序列。由于m序列容易产生、规律性强、有许多优良的性能,在扩频通信中最早获得广泛的应用。如图2.1所示,m序列可由二进制线性反馈移位寄存器产生。它主要由n个串联的寄存
34、器、移位脉冲产生器和模2加法器组成。图中第i级移存器的状态ai表示,ai=0 或ai=1,i=整数。反馈线的连接状态用ci表示,ci=1表示此线接通(参加反馈),ci=0表示此线断开。由于反馈的存在,移存器的输入端受控地输入信号。不难看出,若初始状态为全“0”,则移位后得到的仍为全“0”,因此应避免出现全“0”状态,又因为n级移存器共有2n-1种可能的不同状态,除全“0”状态外,剩下2n-1种状态可用。每移位一次,就出现一种状态,在移位若干次后,一定能重复出现前某一状态,其后的过程便周而复始了。反馈线位置不同将出现不同周期的不同序列,我们希望找到线性反馈的位置,能使移存器产生的序列最长,即达到
35、周期P=2n-1。按图中线路连接关系,可以写为:(模2)(2.11)该式称为递推方程。图2.1 线性反馈移位寄存器上面曾经指出,ci的取值决定了移位寄存器的反馈连接和序列的结构。现在将它用下列方程表示:(2.12)这一方程称为特征多项式。式中xi仅指明其系数ci的值(1或0),x本身的取值并无实际意义,也不需要去计算x的值。例如,若特征方程为f(x)=1+x+x4则它仅表示x0,x1和x4的系数c0=c1=c4=1,其余为零。经严格证明:若反馈移位寄存器的特征多项式为本原多项式,则移位寄存器能产生m序列。只要找到本原多项式,就可构成m系列发生器。m序列的基本性质如下:(1)周期性:m序列的周期
36、p取决于它的移位寄存器的级数, p=2n-1(2)平衡特性:m序列中0和1的个数接近相等;m序列中一个周期内“1”的数目比“0”的数目多1个。(3)游程特性:m序列中长度为1的游程约占游程总数的1/2,长度为2的游程约占游程总数的1/22 ,长度为3的游程约占游程总数的1/23(4)线性叠加性:m序列和其移位后的序列逐位模2相加,所得的序列还是m序列,只是相移不同而已。例如1110100与向右移3位后的序列1001110逐位模2相加后的序列为0111010,相当于原序列向右移1位后的序列,仍是m序列。用公式表示为:(2.13)其中: u(i)、up(i)、uq(i)分别为原序列、平移p个元素后
37、的序列及平移相加后得到的序列中的第i个元素。(5)二值自相关特性:码位数越长越接近于随机噪声的自相关特性。m序列的自相关函数计算式为(2.14)其中:,为码序列的最大长度,亦即m序列的周期;Tc为m序列码的码元宽度。可见,相关函数是个周期函数。(6)m序列发生器中,并不是任何抽头组合都能产生m序列。理论分析指出,产生的m序列数由下式决定:(2.15)其中(x)为欧拉数(即包括1在内的小于x并与它互质的正整数的个数)。例如5级移位寄存器产生的31位m序列只有6个。四、实验步骤本次实验主要分为产生m码序列和自相关函数两个步骤:4.1产生m码序列运行代码如下:functionmseq=m_seque
38、nce(fbconnection)n=length(fbconnection);N=2n-1;register=zeros(1,n-1) 1; mseq(1)=register(n); fori=2:Nnewregister(1)=mod(sum(fbconnection.*register),2);for j=2:n,newregister(j)=register(j-1);end;register=newregister;mseq(i)=register(n);stairs(mseq);end42 自相关函数自编函数ccorr. m用来求两个伪随机序列的互相关函数,输入为两个相同长度的伪随
39、机序列,返回互相关值。当输入为一个序列时,求其自相关函数。函数代码如下:function r=ccorr(seq1,seq2)ifnargin=1 seq2=seq1;endN=length(seq1);for k=-N+1:-1shift=seq2(k+N+1:N) seq2(1:k+N);r(N+k)=seq1*shift'endfor k=0:N-1shift=seq2(k+1:N) seq2(1:k);r(N+k)=seq1*shift'endind1=find(mseq=0);mseq(ind1)=-1;goldsequence(ind2)=-1;r1=ccorr(m
40、seq);r2=ccorr(mseq1,mseq2);N=length(mseq);axis=-N+1:N-1;subplot(2,2,1),plot(axis,r1);title('m序列自相关性');xlabel('k');ylabel('R(k)');grid;subplot(2,2,2),plot(axis,r2);title('m序列互相关性');xlabel('k');ylabel('R(k)');grid;五、实验结果及分析1.m码序列六、心得与体会通过本次实验,我对m序列的产生和性质
41、有了较深入的了解,在实验过程中练习了自己的思考能力和动手能力,为以后的学习奠定了基础。实验四 CDMA扩频通信系统实验一、 实验目的通过本实验将扩频解扩的单元实验串起来,让学生建立起CDMA通信系统的概念,了解CDMA通信系统的组成及特性。二、 实验内容1、搭建CDMA扩频通信系统。2、观察CDMA扩频通信系统各部分信号。3、观察两路信号码分多址及其选址。三、 基本原理扩频通信利用香农公式,将信道带宽扩展许多倍以换取信噪比上的好处,增强了系统的抗干扰能力。图4-1一个典型的扩频通信系统框图如图4-1所示。由图4-1可以看出,扩频通信系统主要由原始信息、信源编译码、信道编译码(差错控制)、载波调
42、制与解调、扩频调制与解扩和信道六大部分组成。信源编码的目的是减小信息的冗余度,提高信道的传输效率。信道编码(差错控制)的目的是增加信息在信道传输轴格的冗余度,使其具有检错或纠错能力,提高信道传输质量。调制部分的目的是使经过信道编码后的符号能在适当的频段传输,通常使用的数字信号调制方式为振幅键控、移频键控、移相键控,在码分多址移动通信中使用QPSK和OQPSK都是PSK的改进型。扩频通信和解扩是为了提高系统的抗干扰能力而进行的信号频谱展宽和还原。可见,与传统通信系统相比较,该系统模型中多了扩频和解扩两个部分,经过解扩,在信道中传输的是一个宽带的低谱密度的信号。扩频通信系统按扩频方式的不同,分为以
43、下四种类型:u 直接序列扩频(Direct Sequence Spread Spectrum,DS-SS)u 跳频扩频(Frequency Hopping Spread Spectrum,FH-SS)u 跳时扩频(Time Hopping Spread Spectrum,TH-SS)在实际的码分多址系统中,直接序列扩频方式得到了广泛的认可和应用,直接序列扩频系统的发射机和接收机框图如图4-2所示。图4-2直接序列扩频的发送机和接收机框图如图4-2所示,在发送端输入的二进制信息码元,其码元宽度为,扩频码发生器产生的扩频码记作,码元宽度为,其中,它们的波形分别如图中所示,经扩频码扩频后,得到的己扩
44、频信号,由于,所以已扩信号的频谱得到展宽。之所以用乘号,是因为波形采用了的表示方法。另外,出于简化,此处暂时不考虑载波调制的影响,在接收端采用同步的扩频码序列对已扩频的信号进行解扩:,解扩后的信号如图4-3所示,可以看到,采用同步的扩频码序列可以恢复原来的二进制序列。如果接收端的扩频码序列没有和发送端的同步,则不能正确恢复原来的二进制序列,图中也用相关的波形对这一情况做了演示。直接序列扩频系统具有很强的抗干扰能力,所以最初在军事通信中得到了应用。下面仅定性地介绍直接序列扩频系统抗干扰的原理。如果已扩频的信号在信道中传输时受到的干扰为宽带信号,则解扩前后的功率谱如图4-4所示,如果受到的干扰为窄
45、带信号,则解扩前后的功率谱如图4-5所示。如图4-4和图4-5可知,直接序列扩频系统有抵抗窄带干扰和宽带干扰的能力图4-3直接序列扩频各点波形图4-4直接序列扩频系统抗宽带干扰示意图图4-5直接序列扩频系统抗窄带干扰示意图扩频通信有两个重要参数:处理增益和干扰容限。1、 扩频增益通常在衡量扩频系统抗干扰能力的优劣时,引入“处理增益”这个概念,一般也称为扩频增益,定义为接收机相关器输出信噪比和接收机相关器的输入信噪比之比,即:4-2式中,和分别为接收机相关器的输入、输出端信号功率,和分别为相关器的输入、输出端干扰功率。在各种干扰情况下系统的扩频增益不同,这里仅对高斯白噪声干扰情况下的扩频增益做简
46、要的推导,并且以直接序列扩频系统下的情况为例来说明。假定系统中有K个通信用户,分别用不同的PN码来调制信息数据。假设理想功率控制(功率控制的内容在后续章节中详细讲述,这里只需要明白各个用户到达接收端的功率相同)的情况,设P是接收的每一个用户的信号功率,系统的扩频带宽为W,噪声的功率谱密度用表示,则接收端接收到的有用信号功率谱为P/W,接收到的其它用户的干扰功率谱为(K-1)P/W,那么该通信用户的输入信噪比等于:4-3经接收机扩频解调后,该通信用户的信号被全部接收但信号带宽己变换到基带内(变为窄带信号),设基带信号的信息速率为,此时有用信号的功率谱为P/,其他用户或干扰噪声信号与用户信号的地址
47、码不相关,不能得到解调,因为它们的功率谱密度保持不变。则输出信噪比为:4-4由式(20-3)和式(20-4)容易得到扩频解调前后的扩频增益,即输出信噪比与输入信噪比为:4-5对于直接序列扩频系统来说,W为伪随机码的信息速率。式(20-5)给出了扩频通信中扩频解调处理对信噪比的改善情况,它决定了系统抗干扰能力的强弱,是扩频系统的一个重要性能指标。2、 干扰容限为了描述扩频系统在干扰环境下的工作性能,引入干扰容限的概念干扰容限定义为:4-6其中为输出信噪比,为系统损耗G为扩频增益。干扰容限可以解释为:当干扰功率超过信号功率时,系统就不能正常工作。例如,一个扩频系统的处理增益为21,要求最小的输出信
48、噪比为7,系统损耗为3,则其干扰容限为:即具有21处理增益的扩频系统,在保证基带数字解调器输出信噪比为10和系统损耗为3的条件下,系统要正常工作时输入的信噪比不能小于11。扩频通信技术的主要特点概括如下:1)干扰能力强2)保密性好3)具有抗衰落、抗多径干扰能力4)具有多址能力,易于实现码多分址四、实验步骤1、 m序列的DS-CDMA在AWGN下的性能的仿真。2、正交Gold序列的DS-CDMA在AWGN下的性能的仿真。3、对比两个扩频码在AWGN信道下的性能曲线分析哪种扩频码更适合在AWGN信道中传输传输衰减最小对比m序列和正交Gold序列的抗干扰能力。代码:1、 M序列function mo
49、ut = mseq(n, taps, inidata, num) %ifnargin< 4 num = 1; endmout = zeros(num,2n-1); fpos = zeros(n,1); fpos(taps) = 1; for ii=1:2n-1 mout(1,ii) = inidata(n); temp = mod(inidata*fpos,2); inidata(2:n) = inidata(1:n-1); inidata(1)= temp; end If num> 1 for ii=2:num mout(ii,:) = shift(mout(ii-1,:),1)
50、; 2.关于shift函数的代码function outregi = shift(inregi,shiftr) v = length(inregi); outregi = inregi; shiftr = rem(shiftr,v); ifshiftr> 0 outregi(:,1:shiftr) = inregi(:,v-shiftr+1:v); outregi(:,1+shiftr:v) = inregi(:,1:v-shiftr); elseifshiftr< 0 outregi(:,1:v+shiftr) = inregi(:,1-shiftr:v); outregi(:,v+shiftr+1:v) = inregi(:,1:-shif
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度城市绿化草坪施工养护合同
- 2024年度常州租房合同的房屋维修义务规定
- 倾卸手推车市场发展现状调查及供需格局分析预测报告
- 2024年度仓库租赁与保管服务合同
- 2024年度场地租赁合同中的保密条款解读
- 2024年度安全技术交流与合作合同
- 2024年度医疗服务合同:医疗机构与患者之间就医疗服务达成的合同
- 2024年度区块链技术应用与合作开发合同
- 自拍杆手持单脚架市场发展现状调查及供需格局分析预测报告
- 2024年度围挡拆除合同
- 小学语文人教三年级上册观察桔子孙娟课件
- 安全设施检维修计划
- DB61-T 477-2021学生公寓床上用品质量规范
- 市场营销产品组合与产品策略课件
- 输血查对制度10月(1)课件
- 高中英语人教版选择性必修一Unit4 Listening to How Bodies Talk课件
- 预先危险性分析课件
- 《倍的认识整理和复习》公开课教学课件【人教版三年级数学上册】
- 气体检测报警仪的检定校准
- 六年级上册数学课件-7.5 牛吃草问题丨苏教版 (共13张PPT)
- 六年级上册数学课件-6.1 认识百分数丨苏教版 (共18张PPT)
评论
0/150
提交评论