直接序列扩频通信系统毕业论文设计和仿真实现(8)

2019-05-26 16:59

中北大学分校学士学位论文

信源部分:用户把要传输的信息给定,用户输入的信息0101101。

调制部分:采用的是BPSK调制,数据进行调制然后输送出其调制之后的波形。调制后的传输信道选用的是高斯白噪声信道,信噪比可任意设定,在本次仿真中信噪比设定为20。

扩频部分:数据要进行扩频处理。这里选用的是利用PN码与输入的信号进行扩频,扩频后等待送入信道。PN码的产生是由一个PN码发生器来完成的。PN码发生器如图5-22所示。

在信道的接收端进行的过程和输入端刚好是相反的。

首先进行解调,也是选择BPSK的解调。

D1 初始值1 D2 D3 D4 0 1 0 图5-22 PN码发生器

然后是解扩,解扩时使用的PN码和扩频时使用的一致。这样才能保证解扩出相应的信息。 整个仿真过程共设置了八个波形观测设备,运行后可以从这八个波形图中较直观的看到DS-CDMA系统的每一个调制过程。

在两个用户的信息中我们给定的是0和1的信息,为了在调制和扩频中容易计算,将数据中的0用-1来代替。在程序中,每一个过程都用%来注明,程序可以直接复制到M文件编辑框,在图5-1 的MATLAB的默认界面的Commond Window窗口中输入

》dscdmamodem

点击“Enter”键,即可仿真出结果。 DS-CD的MAMATLAB源程序如下:

function dscdmamodem(user,snr_in_dbs) %建立模型:用户信息,snr_in_dbs为信噪比 %设置初始参数

user=[0 1 0 1 1 0 1] ; close all

%定义步长变量%

length_user=length(user); %改变用户数据中的0为-1 for i=1:length_user if user(i)==0 user(i)=-1; end

33

中北大学分校学士学位论文

end

% 用户传输前设置 fc=3; % 载频

eb=2; % 每个字符的能量

tb=1; % 每个信息比特所占的时间

%用户输入的数据信息

t=0.01:0.01:tb*length_user; basebandsig=[];

for i=1:length_user

for j=0.01:0.01:tb if user(i)==1

basebandsig=[basebandsig 1]; else

basebandsig=[basebandsig -1]; end end end figure

plot(basebandsig)

axis([0 100*length_user -1.5 1.5]); title('用户输入的信息')

% 用户的BPSK调制过程 bpskmod=[];

for i=1:length_user for j=0.01:0.01:tb

bpskmod=[bpskmod sqrt(2*eb)*user(i)*cos(2*pi*fc*j)]; end end

length(bpskmod)

%用户BPSK调制后的波形图输出 figure

plot(bpskmod)

axis([0 100*length_user -3 3]);

title(' 用户经BPSK调制之后的波形 ') % 扩频

%PN码发生器

seed=[1 -1 1 -1]; % 设PN码初始值为1000

34

中北大学分校学士学位论文

spreadspectrum=[]; pn=[];

for i=1:length_user

for j=1:10 %PN码和数据比特码的比率设为10:1 pn=[pn seed(4)];

if seed (4)==seed(3) temp=-1; else temp=1; end

seed(4)=seed(3); seed(3)=seed(2); seed(2)=seed(1);

seed(1)=temp; end

spreadspectrum=[spreadspectrum user(i)*pn]; end

%扩频过程

pnupsampled=[]; len_pn=length(pn); for i=1:len_pn

for j=0.1:0.1:tb if pn(i)==1

pnupsampled=[pnupsampled 1]; else

pnupsampled=[pnupsampled -1]; end end end

length_pnupsampled=length(pnupsampled); sigtx=bpskmod.*pnupsampled; %扩频码波形输出 figure

plot(pnupsampled)

axis([0 100*length_user -2 2]) title(' PN码波形图 ') %扩频后的波形图输出 figure

plot(sigtx)

axis([0 100*length_user -3 3]); title(' 用PN码扩频后的波形图 ')

35

中北大学分校学士学位论文

composite_signal=sigtx; %高斯白噪声信道传输

snr_in_dbs=20 %设信噪比为20

composite_signal=awgn(composite_signal,snr_in_dbs);

%从信道中解扩出用户的信息

rx=composite_signal.*pnupsampled; figure plot(rx)

title('用户解扩后的波形')

% BPSK解调过程 demodcar=[];

for i=1:length_user for j=0.01:0.01:tb

demodcar=[demodcar sqrt(2*eb)*cos(2*pi*fc*j)]; end end

bpskdemod=rx.*demodcar; figure

plot(bpskdemod)

title('用户经BPSK解调之后的波形') len_dmod=length(bpskdemod); sum=zeros(1,len_dmod/100); for i=1:len_dmod/100

for j=(i-1)*100+1:i*100

sum(i)=sum(i)+bpskdemod(j); end end

%检波过程

rxbits=[];

for i=1:length_user if sum(i)>0

rxbits=[rxbits 1]; else

rxbits=[rxbits 0]; end end

length_rxbits=length(rxbits);

36

中北大学分校学士学位论文

t=0.01:0.01:tb*length_rxbits; savbandsig=[];

for i=1:length_rxbits for j=0.01:0.01:tb

if user(i)==1

savbandsig=[savbandsig 1]; else

savbandsig=[savbandsig -1]; end end

end figure

plot(savbandsig)

axis([0 100*length_user -2 2]); title('用户经检波之后的波形 ’)

仿真波形的输出如下:

37


直接序列扩频通信系统毕业论文设计和仿真实现(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:汉语语法分析问题:吕叔湘

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: