《扩频通信技术及应用》课件第9章_第1页
《扩频通信技术及应用》课件第9章_第2页
《扩频通信技术及应用》课件第9章_第3页
《扩频通信技术及应用》课件第9章_第4页
《扩频通信技术及应用》课件第9章_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章扩频系统的仿真

9.1伪随机码的生成及相关函数的计算9.2直扩系统发送端的仿真9.3直扩系统接收端的仿真9.4直扩系统伪码同步仿真9.5跳频序列的设计

9.1伪随机码的生成及相关函数的计算(1)函数ms_generator(registers,connections)是m序列的生成函数,其中参数registers给出了移位寄存器的初始状态,connections给出了m序列的发生器。

functionseq=ms_generator(registers,connections)

%registers=[00001];%设置初始状态

%connections=[100101];%设置反馈逻辑

n=length(connections);

L=2^(n-1)-1;

seq(1)=registers(n-1);

fori=2:L

sum=0;

form=1:(n-1)

sum=mod(sum+registers(m)*connections(m+1),2);end

fork=(n-1):-1:2

registers(k)=registers(k-1);

end

registers(1)=sum;

seq(i)=registers(n-1);

end

运行输出结果为seq=[1000010010110011111000110111010]。(2)函数auto_corr()计算二进制序列seq的自相关函数,并画出函数曲线。在函数内调用了生成m序列的函数ms_generator(*)生成的m序列seq,然后再计算。

functionauto_correlation=auto_corr(seq)

registers=[10000];%设置初始状态

connections=[101001];%设置反馈逻辑

seq=ms_generator(registers,connections);

seq=-1*(seq*2-1);%负逻辑映射

len=length(seq);

temp=[seqseq];

fori=0:len-1

auto_correlation(i+1)=seq*(temp(i+1:i+len));

end

auto_correlation

plot(0:len-1,auto_correlation);

(3)函数cross_corr()计算二进制序列seq1和seq2的互相关函数,并画出函数曲线。在函数内调用ms_generator(*)函数分别生成等长的m序列seq1和seq2后再计算。程序中也画出了自相关函数。

functioncross_correlation=cross_corr(seq1,seq2)

registers1=[00001];%设置初始状态

connections1=[100101];%设置反馈逻辑

seq1=ms_generator(registers1,connections1);

seq1=-1*(seq1*2-1);%负逻辑映射

registers2=[11111];%设置初始状态

connections2=[111101];%设置反馈逻辑

seq2=ms_generator(registers2,connections2);

seq2=-1*(seq2*2-1);%负逻辑映射

temp=[seq2seq2];

len=length(seq2);

fori=0:len-1

cross_correlation(i+1)=seq1*(temp(i+1:i+len))′;

end

auto_correlation=auto_corr(seq1);

plot(0:len-1,auto_correlation,′-.′,0:len-1,cross_correlation);

如图9-1所示,m序列具有二值自相关函数和多值互相关函数。图9-1m序列的自相关函数和互相关函数

(4)函数gold()生成一族Gold序列。程序中首先生成一对m序列优选对seq1和seq2,然后按照并联结构生成了一族Gold序列,最后画出一个Gold序列的自相关函数以及族内一对Gold序列的互相关函数。

functiongold=gold()

registers1=[100000];

connections1=[1100001];

seq1=ms_generator(registers1,connections1);

registers2=[100000];

connections2=[1110011];

seq2=ms_generator(registers2,connections2);

temp=[seq2seq2];

len=length(seq2);

fori=1:len

gold(i,:)=mod(seq1+temp(i:i+len-1),2);

end

gold(len+1,:)=seq1;

gold(len+2,:)=seq2;

plot(0:len-1,auto_corr(gold(1,:)),′-′,0:len-1,cross_

corr(gold(1,:),gold(2,:)),′-.′);

如图9-2所示,一族内的Gold序列具有三值互相关函数和三值自相关旁瓣。图9-2Gold序列的自相关函数和互相关函数

(5)函数walsh(L)可以生成L阶的Walsh函数,并给出其互相关矩阵。其中inverse(*)完成矩阵按元素取反的功能。

functionwalsh=walsh(L)

L=64

n=log2(L);

temp=[0];

temp2=zeros(4,4);

fori=1:n

temp2=zeros(2.^n,2.^n);

temp1=inverse(temp);

temp2=[temptemp;temptemp1]

temp=zeros(2.^n,2.^n);

temp=temp2;

temp1=zeros(2.^n,2.^n);

end

walsh=temp2;

correlation=(walsh*2-1)*(walsh*2-1)′

functionresult=inverse(temp)

len=size(temp);

fori=1:len

forj=1:len

if(temp(i,j)==0)

temp(i,j)=1;

else

temp(i,j)=0;

end

end

end

result=temp;

9.2直扩系统发送端的仿真

使用MATLAB下的Simulink进行仿真。直扩系统的参数为:数据速率为1kb/s,扩频码速率为127kb/s。扩频

码使用7级移位寄存器生成的m序列,生成多项式为f(x)=1+x6+x7,周期为127。调制采用BPSK调制,载波频率为500kHz。图9-3给出该直扩系统发送端仿真模块。图9-3直扩系统发送端仿真模块发送端数据由时钟脉冲发生器(PulseGenerator)控制产生随机二进制“0”或“1”数据,产生过程由Data_GEN模块控制,使用了S函数Data_GEN。扩频码由时钟PulseGenerator1控制产生周期为127的m序列,产生过程由PN_GEN模块控制,使用了S函数PN_GEN。Shaping模块完成负逻辑映射,将二进制“1”映射为-1电平,“0”映射为+1电平。扩频调制由m模块Product完成。射频调制由Product1

完成,使用的正弦载波由模块正弦波函数(SineWaveFunction)产生,正弦载波幅度为1。射频调制后信号经过加性白噪声信道,再使用模块SineWaveFunction1产生的

单频正弦载波作为干扰,该干扰的频率为300kHz。仿真中假定信噪比(信号与高斯白噪声功率比)为

20dB,单频正弦干扰的幅度为10。仿真模块中的Zero-OrderHold均为零阶保持器,完成对各个节点数据的采样

和保持,以利于后接的模块对于数据的计算(后面的仿真不再分别赘述其功能)。仿真显示各个节点的波形图和频谱图分别如图9-4至图9-11所示。图9-4扩频前后波形图(Scope1所示)图9-5调制过程波形图(Scope2所示)图9-6加噪及加干扰前后波形(Scope3所示)图9-7基带信息数据频谱图(SpectrumScope1所示)图9-8扩频码频谱图(SpectrumScope2所示)图9-9扩频调制后频谱图(SpectrumScope3所示)图9-10射频调制后频谱图(SpectrumScope4所示)图9-11信道中信号频谱图(SpectrumScope5所示)由信号的频谱图可见,窄带的基带信号(如图9-7所示)的主瓣带宽为1kHz,宽带的伪随机码(如图9-8所示)的带宽(主瓣)约为127kHz。扩频,且经过BPSK调制后,

信号的频谱搬移到载频上,信号变为以500kHz为中心的

宽带信号(如图9-10所示)。落入接收机的信号中包含一个很强的窄带干扰信号的谱线(如图9-11所示),频率为300kHz左右。

9.3直扩系统接收端的仿真

利用9.2节仿真的系统的发射信号建立如图9-12所示的接收仿真模块。仿真中首先利用外差式相关解扩器将接收信号下变频为250kHz的中频信号,然后利用Costas环进行载波的恢复和中频解调,恢复出数据。图9-12接收端仿真模块模块SineWaveFunction2产生一个频率为250kHz的本地载波信号,与本地产生的同步伪随机码信号进行调制,然后与接收到的信号进行相关处理。相关处理器由模块Product3和数字滤波器设计1(DigitalFilterDesign1)组成。

其中DigitalFilterDesign1为一频率为250kHz的窄带滤波器,带宽为2kHz。相关处理后的信号经模块Gain放大后送入Costas环路进行中频载波的恢复和数据的解调。由于采用的是BPSK调制,所以搭建的是二相Costas环,如图9-13所示。其中连续时间压控振荡器的静态频率设为250kHz,输出频率的灵敏度为1Hz/V。环路滤波器由模块Gain1、Gain3和Add2及单位延迟单元组成。解调以后的信号经过一个简单的判决模块与零比较(ComparetoZero)恢复出有用信息数据,在示波器Scope中与发送端信息进行比较显示。仿真显示各个节点的波形图和频谱图如图9-14至图9-17所示。图9-13Costas环模块图9-14解扩前后信号波形(Scope4所示)观察各个节点的信号频谱可以看到(如图9-17所示),相关解扩以后的信号只为窄带信号,并且干扰信号的

谱线消失,实际上是被伪码展宽,谱密度降低,使干扰信号淹没在了有用信号的频谱中了。比较解调出的信号与发送的基带信号波形(如图9-15所示),可以发现在信噪比为20dB时,系统可以无误码地解调出数据。图9-15判决恢复信号与发端信号比较(Scope5所示)图9-16本地伪码调制信号频谱图(SpectrumScope6所示)图9-17相关解扩信号后频谱图(SpectrumScope8所示)9.4直扩系统伪码同步仿真

利用9.2节建立的仿真系统,直扩系统的参数为:

·数据速率为1kb/s,并且同步期间数据一直保持为“0”;

·扩频码速率为127kb/s;扩频码使用7级移位寄存器生成的m序列,生成多项式为f(x)=1+x6+x7,周期为127;

·调制采用BPSK调制,载波频率为500kHz。直扩信号经过加性高斯白噪声信道,落入伪码同步系统信号信噪比为20dB。同步的捕获在基带进行,采用滑动相关法,跟踪过程使用简化的双Δ值延迟锁定环。仿真系统如图9-18所示。图9-18伪码同步仿真系统在仿真系统中,完成捕获的支路为中间的支路,即由模块Product3、Product6、Gain1、DigitalFilterDesign2、Inte1、Abs、CompareToConstant2以及RS触发器组成。其中Product3完成本地伪码调制,本地载波频率为500kHz。Product5、Gain1和DigitalFilterDesign2完成相关解扩,并且将接收信号下变频为基带信号。而模块Inte1所用的S函数完成相关输出的积分清洗,它按照伪码速率来采样,积分时间为一个基带信息码元间隔。对积分的输出取绝对值(由模块Abs完成)后进行门限判决(由CompareToConstant2模块完成)。一旦该值大于门限,则输出高电平,并用RS触发器锁定,标志捕获过程完成,使系统进入跟踪过程。跟踪过程按照双Δ值延迟锁定环的原理,由两个相关支路组成。早支路主要由模块Product2、Product5、Gain、

DigitalFilterDesign1、Inte组成,迟支路主要由Product4、Product7、Gain2、DigitalFilterDesign2、Inte2等组成。早支路与迟支路两者输出的相关值的差值决定了选取本地伪码发生器的时钟信号。时钟PulseGenerator3的频率为128kHz,用于初始同

步时控制本地伪码与接收到的信号的伪码的相位滑动。

时钟PulseGenerator4的频率为126.5kHz,用于捕获完成

时本地伪码相位的微调。而时钟PulseGenerator5的频率为127kHz,用于跟踪完成时控制伪码发生器,保持系统的

同步。跟踪过程主要由开关模块Switch、Switch1和延迟模块UnitDelay3组成。本仿真简化了跟踪逻辑,只假定捕获后的伪码相位稍微超前接收到的伪码相位,即早支路与迟支路两者输出的相关值的差值为一负值。因此捕获跟踪过程是这样的:捕获时使用时钟PulseGenerator3,使本地伪码与接收到的信号的伪码相位滑动。当两码的相位差在一个码片之内时,相关输出经过积分后的电平高于门限,RS触发器输出高电平锁定,并且控制开关Switch3,使用时钟PulseGenerator4的信号。由于时钟PulseGenerator4的频率低于接收伪码的频率,这样经过一定时间的累积后,原来稍微超前的本地码相位会滞后。累积的时间由延迟单元UnitDelay3控制。由图9-19~图9-20可看出,进行跟踪后,迟支路的相关峰消失,并且控制跟踪的信号电平在零值波动,表明伪码的同步更精确了;而未进行跟踪时,迟支路仍然有很强的相关峰出现,如图9-21和图9-22所示。图9-19伪码捕获和跟踪的过程(示波器Scope所示)图9-20同步前后的相关函数波形(示波器Scope1)图9-21捕获后未进行跟踪的信号波形(示波器Scope)图9-22捕获后未进行跟踪的相关函数波形(示波器Scope1)

9.5跳频序列的设计

函数seq_FH_LG()是按照L-G模型生成跳频序列的函数,其中使用的m序列发生器按照本原多项式f(x)=1+x+x6

构成。

functionseq=seq_FH_LG()

registers=[111111];%设置初始状态

connections=[1100001];%设置连接多项式

seq=ms_generator(registers,connections);%生成m序列

len=length(seq);

temp=[seqseq];

u=[000];

ori=1:len

s(i)=4*mod(temp(i)+u(1),2)+2*mod(temp(i+1)+u(2),2)+mod(temp(i+2)+u(3),2);

e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论