移动通信实验指导书 加程序与运行结果分析.docx
- 文档编号:5677688
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:23
- 大小:195.60KB
移动通信实验指导书 加程序与运行结果分析.docx
《移动通信实验指导书 加程序与运行结果分析.docx》由会员分享,可在线阅读,更多相关《移动通信实验指导书 加程序与运行结果分析.docx(23页珍藏版)》请在冰豆网上搜索。
移动通信实验指导书加程序与运行结果分析
目录
移动通信系统实验指导1
实验一:
AWGN信道中BPSK调制系统的 BER仿真计算2
实验二:
移动信道建模的仿真分析7
实验三:
CDMA通信系统仿真14
移动通信系统实验指导
上机实验是移动通信课程的重要环节,它贯穿于整个“移动通信”课程教学过程中。
本课程的实验分为3个阶段进行,它要求学生根据教科书的内容,在MATLAB仿真平台上并完成相应系统及信道建模仿真,帮助学生直观的了解移动通信系统的相关工作原理。
最后要求学生根据实验内容完成实验报告。
试验的软件环境为MicrosoftWindowsXP+MATLAB。
实验一:
AWGN信道中BPSK调制系统的
BER仿真计算
一、实验目的
1.掌握二相BPSK调制的工作原理
2.掌握利用MATLAB进行误比特率测试BER的方法
3.掌握AWGN信道中BPSK调制系统的BER仿真计算方法
二、实验原理
1.仿真概述及原理
在数字领域进行的最多的仿真任务是进行调制解调器的误比特率测试,在相同的条件下
进行比较的话,接收器的误比特率性能是一个十分重要的指标。
误比特率的测试需要一个发送器、一个接收器和一条信道。
首先需要产生一个长的随机比特序列作为发送器的输入,发送器将这些比特调制成某种形式的信号以便传送到仿真信道,我们在传输信道上加上一定的可调制噪声,这些噪声信号会变成接收器的输入,接收器解调信号然后恢复比特序列,最后比较接收到的比特和传送的比特并计算错误。
误比特率性能常能描述成二维图像。
纵坐标是归一化的信噪比,即每个比特的能量除以噪声的单边功率谱密度,单位为分贝。
横坐标为误比特率,没有量纲。
2.仿真过程及计算
1运行发生器:
通过发送器将伪随机序列变成数字化的调制信号。
2设定信噪比:
假定SNR为mdB,则Eb/N0=10,用MATLAB假设SNR单位为分贝。
3确定Eb
4计算N0
5计算噪声的方差σn
6产生噪声:
因为噪声具有零均值,所以其功率和方差相等。
我们产生一个和信号长度相同的噪声向量,且该向量方差为σn。
7加上噪声,运行接收器
8确定时间延迟
9产生误差向量
10统计错误比特:
误差向量“err”中的每一个非零元素对应着一个错误的比特。
最后计算误比特率BER:
每运行一次误比特率仿真,就需要传输和接收固定数量的比特,然后确定接收到的比特中有多少错误的。
使用MATLAB计算BER:
ber=te/length(tx)。
三、实验要求
利用仿真程序在MATLAB环境下完成仿真,得到仿真结果,写出实验小结,完成实验报告。
%SimulationofBPSKAWGN
Max_SNR=10;
N_trials=1000;
N=200;
Eb=1;
ber_m=0;
fortrial=1:
1:
N_trials;
trial
msg=round(rand(1,N));%1,0sequence
s=1-msg.*2;%0-->1,1-->1
n=randn(1,N)+j.*randn(1,N);%generateguasswhitenoise
ber_v=[];
forsnr_dB=1:
2:
Max_SNR
snr=10.^(snr_dB./10);%snr(db)-->snr(decimal)
N0=Eb./snr;
sgma=sqrt(N0./2);
y=sqrt(Eb).*s+sgma.*n;
y1=sign(real(y));
y2=(1-y1)./2;%1,0sequence
error=sum(abs(msg-y2));%errorbits
ber_snr=error./N;%ber
ber_v=[ber_v,ber_snr];
end%forsnr
ber_m=ber_m+ber_v;
end
ber=ber_m./N_trials;
ber_theory=[];
forsnr_db=1:
2:
Max_SNR
snr=10.^(snr_db./10);
snr_1=qfunc(sqrt(2*snr));
ber_theory=[ber_theory,snr_1];
end
i=1:
2:
Max_SNR;
semilogy(i,ber,'-r',i,ber_theory,'*b');
xlabel('E_b/N_0(dB)')
ylabel('BER')
legend('MonteCarlo','Theoretic')
程序分析:
做1000次试验,每次试验取200个抽样点,求出每次试验的误比特率,然后对1000次试验的误比特率取平均值,即得仿真误比特率ber,然后将此误比特率与理论值ber_theory进行比较。
程序运行结果如图3所示
%SimulationofQPSKAWGN
N_trials=1000;
N_number=100;
N_snr=10;
Es=1;
BER_m=0;
SER_m=0;
fortrials=1:
N_trials;
trials
s10=round(rand(1,N_number));
S=(s10*2-1)./sqrt
(2);
S1=S(1:
2:
N_number);
S2=S(2:
2:
N_number);
Sc=S1+j.*S2;%generateqpsksignal
noise=randn(1,N_number/2)+j.*randn(1,N_number/2);
SER_v=[];%Symbolerrorrate
BER_v=[];%Biterrorrate
forsnr_db=0:
1:
N_snr;
sgma=(1/2)*sqrt(10.^(-snr_db./10));
Y=Sc+sgma.*noise;
Y_r=sign(real(Y))./sqrt
(2);
Y_i=sign(imag(Y))./sqrt
(2);
Y_bit=[];
fork=1:
length(Y_r);
Y_bit=[Y_bit,[Y_r(k),Y_i(k)]];
end;
Y_symbol=Y_r+j*Y_i;
X_b=S-Y_bit;
X_s=Sc-Y_symbol;
ber_snr=0;
fork=1:
N_number
ifX_b(k)~=0;
ber_snr=ber_snr+1;
end;
end;
ser_snr=0;
fork=1:
N_number/2;
ifX_s(k)~=0;
ser_snr=ser_snr+1;
end;
end;
BER_v=[BER_v,ber_snr./N_number];
SER_v=[SER_v,ser_snr./(N_number./2)];
end;%forSNR
BER_m=BER_m+BER_v;
SER_m=SER_m+SER_v;
end%fortrials
BER=BER_m./N_trials;
SER=SER_m./N_trials;
BER_T=[];
SER_T=[];
forsnr_db=0:
1:
N_snr;
snr=10.^(snr_db./10);
BER_THEORY=qfunc(sqrt(2.*snr));
SER_THEORY=1-(1-(1/2).*erfc(sqrt(snr))).^2;
BER_T=[BER_T,BER_THEORY];
SER_T=[SER_T,SER_THEORY];
end;
figure
i=0:
1:
N_snr;
semilogy(i,BER,'-r',i,BER_T,'*b');
legend('BER-simulation','BER-theory');
xlabel('Eb/NO(db)');
ylabel('BER');
figure
i=0:
1:
N_snr;
semilogy(i,SER,'-r',i,SER_T,'*b');
legend('SER-simulation','SER-theory');
xlabel('Eb/NO(db)');
ylabel('SER');
程序分析:
与bpskAWGN类似,做1000次试验,每次试验取100个点,然后每两个点形成一个qpsk符号,首先计算仿真误比特率和误码率,然后与理论值进行比较。
程序运行结果如图4和图5所示,其中图4是ber图,图5是ser图。
实验二:
移动信道建模的仿真分析
一、实验目的和意义
1.无线通信信道的建模与仿真是实现移动通信系统仿真与分析的基础,宽带无线通与移动
通信信道属频率选择性瑞利衰落信道模型。
2.通过信道设计实验
1掌握频率选择性信道模型的仿真建模方法
2掌握模型中瑞利衰落系数的设计方法
3掌握多径数目、功率和时延参数的设计
4学会采用MATLAB语言对上述参数进行仿真。
二、实验方案和技术路线
1.选择路径数
2.按均匀分布产生各条路径的延迟
3.按功率时延谱确定对应的各径的功率
4.按Jake模型产生各径的瑞利衰落系数
5.对瑞利衰落系数进行统计分析并与理论值相比较
说明:
1.路径数目2-4自己确定,或采用某个国际标准
2.每条路径时间延迟满足(0,Tmax)范围内均匀分布,Tmax为自己选择的最大采样步长数200-600间比较合适,或采用国际标准
3.功率可以按时延迟谱求得,也可用国际标准测量值。
功率延迟谱:
①若采用等功率分配产生功率:
Pi=Pt/M;②采用指数分布的功率延迟谱产生功率:
P=1/6*exp(-t/6)
三、实验要求
利用仿真程序在MATLAB环境下完成仿真,得到仿真结果,写出实验小结,完成实验报告。
%SimulationofJakesModel
clearall;
f_max=30;
M=8;
N=4*M+2;
Ts=1.024e-04;
sq=2/sqrt(N);
sigma=1/sqrt
(2);
theta=0;
count=0;
t0=0.001;
fort=0:
Ts:
0.5
count=count+1;
g(count)=0;
forn=1:
M+1,
ifn<=M
c_q(count,n)=2*sigma*sin(pi*n/M);%Gainassociatedwithquadraturecomponent
c_i(count,n)=2*sigma*cos(pi*n/M);%Gainassociatedwithinphasecomponent
f_i(count,n)=f_max*cos(2*pi*n/N);%Discretedopplerfrequenciesofinphasecomponent
f_q(count,n)=f_max*cos(2*pi*n/N);%Discretedopplerfrequenciesofquadraturecomponent
else
c_i(count,n)=sqrt
(2)*cos(pi/4);
c_q(count,n)=sqrt
(2)*sin(pi/4);
f_i(count,n)=f_max;
f_q(count,n)=f_max;
end;%endif
g_i(count,n)=c_i(count,n)*cos(2*pi*f_i(count,n)*(t-t0)+theta);%Inphasecomponentforoneoscillator
g_q(count,n)=c_q(count,n)*cos(2*pi*f_q(count,n)*(t-t0)+theta);%Quadraturecomponentforoneoscillator
end;%endn
tp(count)=sq*sum(g_i(count,1:
M+1));%TotalInphasecomponent
tp1(count)=sq*sum(g_q(count,1:
M+1));%Totalquadraturecomponent
end;%endcountnonagain
envelope=sqrt(tp.^2+tp1.^2);
rmsenv=sqrt(sum(envelope.^2)/count);
[auto_i,lag_i]=xcorr(tp,'coeff');%Auto-correlationassociatedwithinphasecomponent
[auto_q,lag_q]=xcorr(tp,'coeff');%Auto-correlationassociatedwithquadraturecomponent
len=length(lag_i);
[corrx2,lag2]=xcorr(tp,tp1,'coeff');
aa=-(len-1)/2:
1:
(len-1)/2;%totaldurationforlag
bb=(len-2001)./2;%mid...pointsfordrawingfigures
cc=bb+1:
1:
bb+2001;%forgettingthemid-values
dd=-1000:
1:
1000;
%-----------
tdd=dd*Ts;
z=2.*pi.*f_max*tdd;
sigma0=1;
T_bessel=sigma0.^2.*besselj(0,z);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure;
plot(tdd,auto_i(cc),'-',tdd,T_bessel,'*');%in-phase
xlabel('t(Second)');
ylabel('Auto-correlation');
legend('In-component');
figure;
plot(tdd,auto_q(cc),'-',tdd,T_bessel,'*');%quadrature
xlabel('t(Second)');
ylabel('Auto-correlation');
legend('Q-component');
figure;
co1=1:
1000;
semilogy(co1*Ts,envelope(1:
1000));
xlabel('t(Second)');
ylabel('RayleighCoef.');
%%------------
length_r=length(envelope);
%-------------
pdf_env=zeros(1,501);
count=0;
temp=round(100.*envelope);
fork=1:
length_r
iftemp(k)<=500
count=count+1;
pdf_env(1,temp(k)+1)=pdf_env(1,temp(k)+1)+1;
end
end
count
pdf_env=pdf_env./count./0.01;
sgma2=0.5;
x=[0:
0.01:
5];
pdf_theory=(x./sgma2).*exp(-1.*x.^2./(2.*sgma2));
figure;
plot(x,pdf_env,'-',x,pdf_theory,'*');
legend('Simulated','Theoretic');
xlabel('r');
ylabel('PDFofr');
T_bessel=sigma0.^2.*besselj(0,z);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure;
plot(tdd,auto_i(cc),'-',tdd,T_bessel,'*');%in-phase xlabel('t(Second)');
ylabel('Auto-correlation'); legend('In-component')
figure;
plot(tdd,auto_q(cc),'-',tdd,T_bessel,'*');%quadrature xlabel('t(Second)');
ylabel('Auto-correlation'); legend('Q-component') figure co1=1:
1000;
semilogy(co1*Ts,envelope(1:
1000)); xlabel('t(Second)');
ylabel('Rayleigh Coef.');
%%__________________________________________ length_r=length(envelope);
%____________________________ pdf_env=zeros(1,501);
count=0;
temp=round(100.*envelope); for k=1:
length_r
if temp(k)<=500 count=count+1;
pdf_env(1,temp(k)+1)=pdf_env(1,temp(k)+1)+1; end end count
pdf_env=pdf_env./count./0.01; %simulation rayleigh pdf
sgma2=0.5; x=[0:
0.01:
5];
pdf_theory=(x./sgma2).*exp(-1.*x.^2./(2.*sgma2)); %theory rayleigh pdf
figure
plot(x,pdf_env,'-',x,pdf_theory,'*'); legend('Simulated','Theoretic'); xlabel('r');
ylabel('PDF of r');
程序分析:
首先选定jake模型得到参数M=8、N=4*M+2,然后计算各路的同相与正交分量的增益和多普勒频率,以及它们的表达式,该程序假设各路的延时相等,均为t0=0.001,各路相位均为0。
然后分别求同相分量和正交分量的自相关和互相关,分别作图,并分别与理论值相比较。
接着作出瑞利衰落系数图形,最后作出仿真的和理论的瑞利分布的概率密度函数,并进行比较。
程序运行结果如图6-图9所示。
结果分析:
图6和图7的自相关和互相关函数图形仿真结果与理论结果大致相同,说明jake模型很好地分离出了接收信号同相分量和正交分量,图8是瑞利衰落系数的时域图形,图9中瑞利分布概率密度函数的仿真结果的大致变化趋势与理论值相同,只不过在概率密度较大的区域两者有较大差异,这是因为抽样点数太少,无法满足理论计算的要求,而且jake模型的M、N取值也会影响概率密度函数图形的仿真结果。
实验三:
CDMA通信系统仿真
一、实验目的和意义
1.CDMA通信具有很多通信特点,不仅被IS-95移动通信系统使用,目前已成为3G的主要技术。
2.通过实验:
①掌握直接序列扩频发射机与接收机的组成与仿真;
②仿真验证AWGN信道下单用户直接序列扩频系统的BER性能;
③仿真验证平坦瑞利信道下单用户直接序列扩频系统的BER性能;
④观察存在干扰用户时的系统性能变化。
二、基本原理与方案
仿真基带直接序列扩频系统:
1.采用BPSK或QPSK映射
2.扩频序列可以是随机产生,可以是m序列,也可以是Gold码,长度自选
3.最后对BER或SER随信噪比变化画图与理论单用户的结果比较,并对仿真结果进行分析.
三、实验方案与技术路线
1.确定用户数目、信道特征以及调制方式
2.确定基带扩频仿真系统的原理结构图,按照框图设计一个CDMA系统,并进行仿真。
3.用MATLAB进行仿真,统计BER或SER随信噪比的关系,绘出曲线
4.对统计试验的结果与单用户的理论值进行比较
5.对仿真结果进行分析
四、实验要求
利用仿真程序在MATLAB环境下完成仿真,得到仿真结果,写出实验小结,完成实验报告。
%main_IS95_forward.m
%此函数用于IS-95前向链路系统的仿真,包括扩
%频调制,匹配滤波,RAKE接收等相关通信模块。
%仿真环境:
加性高斯白噪声信道.
%数据速率=9600KBps
%
clearall
closeall
clc
disp('--------------start-------------------');
globalZiZqZsshowRGiGq
clearj;
show=0;%控制程序运行中的显示
SD=0;%选择软/硬判决接收
%-------------------主要的仿真参数设置------------------
BitRate=9600;%比特率
ChipRate=1228800;%码片速率
N=184;%源数据数
MFType=1;%匹配滤波器类型--升余弦
R=5;
%+++++++++++++++++++Viterbi生成多项式++++++++++++++++++
G_Vit=[111101011;101110001];%Viterbi生成多项式矩阵
K=size(G_Vit,2);%列数
L=size(G_Vit,1);%行数
%++++++++++++++++++++++++++++++++++++++++++++++++++++++
%++++++++++++++++++++++Walsh矩阵++++++++++++++++++++++++
WLen=64;%walsh码的长度
Walsh=reshape([1;0]*ones(1,WLen/2),WLen,1);%32个10行
%Walsh=zeros(WLen,1);
%++++++++++++++++++++++++++++++++++++++++++++++++++++++
%++++++++++++++++++扩频调制PN码的生成多项式++++++++++++++
%Gi=[1010001110100001]';
%Gq=[1001110001111001]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 移动通信实验指导书 加程序与运行结果分析 移动 通信 实验 指导书 程序 运行 结果 分析