MATLAB仿真报告Word文件下载.docx

上传人:b****1 文档编号:14187531 上传时间:2022-10-19 格式:DOCX 页数:21 大小:968.80KB
下载 相关 举报
MATLAB仿真报告Word文件下载.docx_第1页
第1页 / 共21页
MATLAB仿真报告Word文件下载.docx_第2页
第2页 / 共21页
MATLAB仿真报告Word文件下载.docx_第3页
第3页 / 共21页
MATLAB仿真报告Word文件下载.docx_第4页
第4页 / 共21页
MATLAB仿真报告Word文件下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

MATLAB仿真报告Word文件下载.docx

《MATLAB仿真报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《MATLAB仿真报告Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。

MATLAB仿真报告Word文件下载.docx

%设置每个循环中的符号数

snr_in_dB=[0:

15];

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

forsnr_num=1:

length(snr_in_dB)

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

nloop=100;

%循环次数

noe=0;

%错误数

nod=0;

%传输的数量

foriii=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;

%计算组合后的价值

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

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-'

);

holdon

semilogy(snr_in_dB,0.5*erfc(sqrt(2*10.^(snr_in_dB/10))/sqrt

(2)),'

+-'

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('

simulationBPSKMRCL=2'

'

theorygngaussBPSK'

theoryreyleigh'

);

BPSKEGC.m注释

%设置循环次数

%错误数量

%传输数量

%衰减量的计算

%瑞利信道下

h11=conj(h1)./abs(h1);

%取信道质量指数的单位向量

%计算组合后在信道1下的价值

%瑞利信道

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

%BPSK解调

%误码率计算

%结果输出

ber1(snr_num)=noe/nod

semilogy(snr_in_dB,ber1,'

simulationBPSKEGCL=2'

BPSKSEL.m注释

snr_in_dB=0:

15;

fork=1:

k

N=10000;

E=1;

SNR=10^(snr_in_dB(k)/10);

sigma=E/sqrt(2*SNR);

fori=1:

N

a=rand;

if(a<

0.5)

data(i)=-1;

else

data(i)=1;

numofber=0;

totolnumber=0;

whilenumofber<

1

totolnumber=totolnumber+1;

H1=1/sqrt

(2)*[rand+j*rand];

%第一个瑞利信道

H2=1/sqrt

(2)*[rand+j*rand];

%第二个瑞利信道

H=[H1;

H2];

y1=H

(1)*data(i)+sigma*(rand+j*rand);

%在第一个信道下计算数据

y2=H

(2)*data(i)+sigma*(rand+j*rand);

%在第二个信道下计算数据

y=[abs(y1),abs(y2)];

s=max(y);

%选择其中最大的数据

if(s==abs(y2))

s=y2/H2;

else

s=y1/H1;

end

data2=sign(real(s));

if(data2~=data(i))

numofber=numofber+1;

%计算误比特率

p(k)=numofber/(N*totolnumber);

%计算误码率

semilogy(snr_in_dB,p,'

simulationBPSKSELL=2'

(b)观察信噪比变化10dB,误比特率变化多少?

MRC误比特率变化:

0.0588-0.0017=0.0571

EGC误比特率变化:

0.0650-0.0018=0.0632

SEL误比特率变化:

0.1733-0.0030=0.1703

(c)程序中给出的是2分集,将其换为3分集,观察信噪比变化10dB,误比特率变化多少?

MRC误比特率变化:

0.0248-0.0001=0.0247

EGC误比特率变化:

0.0330-0.0002=0.0328

SEl误比特率变化:

0.1780-0.0003=0.1777

(d)将最大比合并和等增益合并及选择式合并的误比特率曲线,画在一张图上,比较这三种合并方法的优劣。

由图可得,MRC方法所得到的误码率是最小的,性能也最稳定;

EGC方法在误码率和稳定性方面次之;

SEL方法在同一SNR下得到的误码率最高,而且稳定性很差,有时候能够得到比MRC、EGC更低的误码率,有时候就不行,增大SNR只能使BER总体趋向下降,不保证增大SNR就能直接降低BER。

二、调制解调仿真

现给出bpsk、qpsk及“书上习题”的调制解调程序,理解各程序,完成以下习题。

1.用matlab运行书上习题中的“bpskqpsk125.m”

(a)说明bpsk、qpsk解调判决方法

答:

由该m文件可得,其中的判决设置为:

BPSK:

ifa(zeromean)noisesampleislargerthansqrt(Eb)awrongdecsionismade.

如果一个噪声的样值比平均比特能量大的话,那么就会产生错误的判决。

QPSK:

iftheconstellationpointangleiswithinpi/4ang-pi/4acorerectdecisionismade.

如果星座点上的角偏差在pi/4和-pi/4之间的话,判决就正确了。

(b)误比特率为1e-2、1e-3及1e-4时的Eb/N0分别是多少?

运行该程序,可以得出如下的图像:

当误

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1