MATLAB仿真报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

无线通信

(MATLAB课后作业仿真)

姓名:

学院:

学号:

班级:

指导教师:

一、分集仿真

现给出最大比合并(MRC)、等增益合并(EGC)和选择性合并的分集合并程序,理解各程序,完成以下习题。将程序运行结果及各题目的解答写入word中:1. 用matlab分别运行“BPSKMRC.m”、“BPSKEGC.m”以及“BPSKSEL.m”

(a)在程序中标注“注释”处加上注释(英文或中文)

BPSKMRC.m注释

nd = 10000; %设置每个循环中的符号数

snr_in_dB=[0:15] ;

ber=zeros(1,length(snr_in_dB));

for snr_num=1:length(snr_in_dB)

SNR=exp(snr_in_dB(snr_num)*log(10)/10);

nloop=100; % 循环次数

noe = 0; % 错误数

nod = 0; % 传输的数量

for iii=1:nloop

data1=rand(1,nd)>0.5;

data2=2.*data1-1;

%以下为衰减量的计算

%在瑞利信道下

code_rate=1;

E=1;

sigma=E/sqrt(2*SNR*code_rate);

n =[randn(1,nd) + j*randn(1,nd)];

h1 =1/sqrt(2)*[randn(1,nd) + j*randn(1,nd)]; % 瑞利信道

data41=data2.*h1+sigma.*n;

h11=conj(h1); %计算信道质量指数的复共轭

data411 = data41.*h11; %计算组合后的价值

%*****************************************

n =[randn(1,nd) + j*randn(1,nd)];

h2 =1/sqrt(2)*[randn(1,nd) + j*randn(1,nd)]; % 瑞利信道

data42=data2.*h2+sigma.*n;

h22=conj(h2);

data422 =data42.*h22;

%*****************************************

data4=data411+data422;%在两个不相关的信道下的信号进行组合

% BPSK 解调

demodata1=data4 > 0;

%误码率

noe2=sum(abs(data1-demodata1));

nod2=length(data1);

noe=noe+noe2;

nod=nod+nod2;

end

%输出结果

ber(snr_num) = noe/nod

end;

%结尾

figure;

semilogy(snr_in_dB,ber,'O-');

hold on

semilogy(snr_in_dB,0.5*erfc(sqrt(2*10.^(snr_in_dB/10))/sqrt(2)),'+-');

hold on

semilogy(snr_in_dB,0.5.*(1-sqrt((10.^(snr_in_dB/10))./(10.^(snr_in_dB/10)+1))),'-'); ylabel('BER');

xlabel('E_b/N_0 [dB]');

legend('simulation BPSK MRC L=2','theory gngauss BPSK','theory reyleigh' );

BPSKEGC.m注释

nd = 10000; %设置每个循环中的符号数

snr_in_dB=[0:15] ;

ber=zeros(1,length(snr_in_dB));

for snr_num=1:length(snr_in_dB)

SNR=exp(snr_in_dB(snr_num)*log(10)/10);

nloop=100; % 设置循环次数

noe = 0; % 错误数量

nod = 0; % 传输数量

for iii=1:nloop

data1=rand(1,nd)>0.5;

data2=2.*data1-1;

%衰减量的计算

%瑞利信道下

code_rate=1;

E=1;

sigma=E/sqrt(2*SNR*code_rate);

n =[randn(1,nd) + j*randn(1,nd)];

h1 =1/sqrt(2)*[randn(1,nd) + j*randn(1,nd)]; % 瑞利信道

data41=data2.*h1+sigma.*n;

h11=conj(h1)./abs(h1); %取信道质量指数的单位向量

data411 = data41.*h11; %计算组合后在信道1下的价值

%*****************************************

n =[randn(1,nd) + j*randn(1,nd)];

h2 =1/sqrt(2)*[randn(1,nd) + j*randn(1,nd)]; %瑞利信道

data42=data2.*h2+sigma.*n;

h22=conj(h2)./abs(h2);

data422 =data42.*h22;

%*****************************************

data4=data411+data422;

%BPSK 解调

demodata1=data4 > 0;

%误码率计算

noe2=sum(abs(data1-demodata1));

nod2=length(data1);

noe=noe+noe2;

nod=nod+nod2;

end

%结果输出

ber1(snr_num) = noe/nod

end;

%结尾

figure;

semilogy(snr_in_dB,ber1,'O-');

hold on

semilogy(snr_in_dB,0.5*erfc(sqrt(2*10.^(snr_in_dB/10))/sqrt(2)),'+-');

hold on

semilogy(snr_in_dB,0.5.*(1-sqrt((10.^(snr_in_dB/10))./(10.^(snr_in_dB/10)+1))),'-'); ylabel('BER');

xlabel('E_b/N_0 [dB]');

legend('simulation BPSK EGC L=2','theory gngauss BPSK','theory reyleigh' );

相关文档
最新文档