完整word版8PSK通信系统的蒙特卡罗仿真分析Word格式.docx
- 文档编号:18528725
- 上传时间:2022-12-19
- 格式:DOCX
- 页数:13
- 大小:323.76KB
完整word版8PSK通信系统的蒙特卡罗仿真分析Word格式.docx
《完整word版8PSK通信系统的蒙特卡罗仿真分析Word格式.docx》由会员分享,可在线阅读,更多相关《完整word版8PSK通信系统的蒙特卡罗仿真分析Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
在本系统中,首先,用Matlab库函数来直接产生一个串行二进制序列,并将其保存在一个向量中,以备函数调用;
其次,将产生的串行二进制码转换成3行并行码,即是一个符号;
再次,将二进制序列转换成十进制数(0、1、2、…、7);
最后,调用Matlab绘图函数绘制等概率且相互独立的二进制序列波形。
模块程序如下:
%数据源的产生
x=round(rand(1,3*N));
%产生独立串行随机二进制
fori=1:
N,
D
(1)=x(3*i-2);
%D暂存二进制数以待转换
D
(2)=x(3*i-1);
D(3)=x(3*i);
d1(i)=D
(1);
d2(i)=D
(2);
d3(i)=D(3);
Bin2Dec(i)=bin2dec(num2str(D));
%二十进制转换
end
%##################以下是画出独立随机二进制序列程序
length(x),%计算码元的值
if(x(i)==1),%如果信息为1
forj0=1:
grid0,%该码元对应的点值取1
y((i-1)*grid0+j0)=1;
end
else
grid0,%反之,信息元为0,码元对应点值取0
y((i-1)*grid0+j0)=0;
end;
end;
figure
(2);
%图2
plot(y,'
b'
);
%画出独立随机二进制序列
title('
信号源'
xlabel('
X序列'
ylabel('
Y序列'
axis([020000-0.52]);
2.8psk调制、滤波、添加加性高斯白噪声及相应波形产生
本系统中,首先,8psk调制、滤波通过调用Matlab库函数y=dmodce(x,Fd,Fs,method,…),从而在输出端输出8psk波形(眼图);
其次,通过调用子函数产生高斯白噪声;
最后,在加入高斯白噪声后,绘制受噪声干扰的星座图和眼图。
forSNR_db=0:
10:
20
N3=0.1*SNR_db;
Eb_N0=10^(SNR_db/10);
sgma=sqrt(1/(8*Eb_N0));
%nc、ns的均方差
y0=dmodce(Bin2Dec,Fd,Fs,'
psk'
M);
%8PSK调制
ynoise=sqrt(Fs/Fd)*sgma*(randn(length(y0),1)+j*randn(length(y0),1));
%加加性高斯随机噪声
%z=ddemodce(ynoise,Fd,Fs,'
%8PSK解调
figure(N3+3);
%循环画出不同加加性高斯随机噪声后的星座图
axis([-1.21.2-1.21.2]);
holdon;
fori=0:
M-1
plot(cos(2*pi*i/M),sin(2*pi*i/M),'
.'
'
MarkerSize'
20);
%产生星座图
plot(ynoise,'
+'
%画出加噪声后的星座图
加噪声后不同星座图'
holdon
forj1=1:
N
n1(N*N3+j1)=y0(j1);
%存调制后的数据于n1
n2(N*N3+j1)=ynoise(j1);
%存加噪声后的数据于n2
end%画出受到噪声干扰的信号向量;
delay=3;
%提升余弦滤波器的延时
rcv=rcosflt(n1,Fd,Fs,'
fir/normal'
.5,delay);
rcvy=rcosflt(n2,Fd,Fs,'
propdelay=delay.*Fs/Fd+1;
%繁殖延时
rcv1=rcv(propdelay:
end-(propdelay-1),:
rcvy1=rcvy(propdelay:
N0=Fs/Fd;
offset1=0;
%偏移值为2
h1=eyediagram(rcv1,N0,1/Fd,offset1);
set(h1,'
Name'
EyeDiagramDisplayedwithNoOffset'
加噪前的眼图'
h2=eyediagram(rcvy1,N0,1/Fd,offset1);
set(h2,'
加噪后的眼图'
%#########以下是画出加加性高斯随机噪声的波形程序B=10*N;
B
n00(i)=10*gngauss(sgma);
figure(8);
plot(n00);
加性高斯随机噪声'
时间——t'
幅度——y'
axis([0B-2.52.5]);
3.加性高斯白噪声的产生及其波形的产生和绘制
本模块,调用一个子函数,产生均值为0,方差为1的高斯白噪声,并且绘出相应的高斯白噪声波形。
%##############以下是画出加加性高斯随机噪声的波形程序B=10*N
4.8PSK的解调
本模块是将加入加性高斯随机噪声的信号与可能发送的8种发射信号相位向量am(m=0,1,2,3,4,5,6,7)进行相关,再通过判决器取出相关值最大的那组am,作为检测器的输出信号,完成相干检测,将该信号进行并串变换,其结果与原信号d进行比较。
%信号映射
a000=[10];
a001=[cos(pi/4)sin(pi/4)];
a011=[01];
a010=[cos(3*pi/4)sin(3*pi/4)];
a110=[-10];
a111=[cos(5*pi/4)sin(5*pi/4)];
a101=[0-1];
a100=[cos(7*pi/4)sin(7*pi/4)];
n
(1)=gngauss(sgma);
n
(2)=gngauss(sgma);
%存高斯白噪声数据于n中
if((d1(i)==0)&
(d2(i)==0)&
(d3(i)==0)),%加噪声
r=a000+n;
elseif((d1(i)==0)&
(d3(i)==1)),
r=a001+n;
(d2(i)==1)&
(d3(i)==0)),
r=a010+n;
r=a011+n;
elseif((d1(i)==1)&
r=a100+n;
r=a101+n;
r=a110+n;
r=a111+n;
%对应相关函数
c000=dot(r,a000);
c001=dot(r,a001);
c010=dot(r,a010);
c011=dot(r,a011);
c100=dot(r,a100);
c101=dot(r,a101);
c110=dot(r,a110);
c111=dot(r,a111);
c_max=max([c000c001c010c011c100c101c110c111]);
%判决器取出相关值最大,作为检测器的输出信号
if(c000==c_max),de1=0;
de2=0;
de3=0;
%将该信号进行并串变换
elseif(c001==c_max),de1=0;
de3=1;
elseif(c010==c_max),de1=0;
de2=1;
elseif(c011==c_max),de1=0;
elseif(c100==c_max),de1=1;
elseif(c101==c_max),de1=1;
elseif(c110==c_max),de1=1;
elsede1=1;
5.蒙特卡罗分析
本模块完成对加高斯白噪声后的误码和误符号的概率计算,以及绘制出相应的蒙特卡罗分析图。
首先,是检测加高斯白噪声后的对应码元是否错误,如果出错,则误码和误符号计数加1,算出总共的误码数和误符号数;
然后,由误码数和误符号数计算出误码率和误符号率;
最后,绘出8PSK的蒙特卡洛图。
fork=1:
length(SNRindB1),
snr=10^(SNRindB1(k)/10);
%信噪比
sgma=sqrt(E/(3*2*snr));
%%噪声标准均方差
numofsymbolerror=0;
%无符号率计数初值
numofbiterror=0;
%无码率计数初值
symbolerror=0;
%误码标志
if(de1~=d1(i)),
numofbiterror=numofbiterror+1;
%有误码则加一
symbolerror=1;
%置误码标志
if(de2~=d2(i)),
end;
if(de3~=d3(i)),
if(symbolerror==1),
numofsymbolerror=numofsymbolerror+1;
ps=numofsymbolerror/N;
%计算误码率
pb=numofbiterror/(3*N);
%计算误符号率
smld_symbol_err_prb(k)=ps;
%将误码率值存入向量smld_symbol_err_prb中
smld_bit_err_prb(k)=pb;
%将误符号率值存入向量smld_bit_err_prb中
%##############以下是画出理论误码率,误比特率和误符号率的程序
length(SNRindB2),
SNR=exp(SNRindB2(i)*log(10)/10);
%对数转换%信噪比
theo_err_prb(i)=2*Qfunct(sqrt(6*SNR)*sin(pi/8))/3;
%理论比特误码率
figure(6);
semilogy(SNRindB1,smld_bit_err_prb,'
*'
%“*”画出误b比特率对应曲线
semilogy(SNRindB1,smld_symbol_err_prb,'
O'
%“o”画出误符号率对应曲线
semilogy(SNRindB2,theo_err_prb);
%“—”画出理论比误码率曲线
axis([0,10,10^(-5),10^0]);
%设置横纵轴间距大小
grid
Eb/NoindB'
)%x轴名称
errorprobability'
)%y轴名称
8PSK的蒙特卡洛图'
)
三、设计结果及分析
1.通过对二进制序列产生、串/并转换及二/十进制转换模块程序的调试绘出波形如图2:
图2等概率且相互独立的二进制波形
2.通过调试绘制出调制输出的8psk波形(如图3)、加高斯白噪声前的眼图(如图4)、加高斯白噪声后的眼图(如图5)以及加高斯白噪声后的星座图(如图6):
图3调制后输出8PSK波形
图4加高斯白噪声前的眼图
图5加高斯白噪声后的眼图
图6加高斯白噪声后的星座图
3.通过对加性高斯白噪声的产生及其波形的产生和绘制模块程序的调试,绘出高斯随机噪声的波形如图6.
图7加性高斯随机噪声波形
4.通过对8psk蒙特卡罗分析模块程序的调试得到波形如图7.
图88PSK的蒙特卡罗图
经过对系统设计的分析,程序设计和调试,得到了正确的结果。
本设计以产生一个等概率且相互独立的二进制序列,经串并变换形成三路并行的二进制符号,三路二进制符号经过8PSK调制,映射为相应的二维相位向量,与干扰噪声向量叠加后,形成受污染的接收信号,输出的接收信号以向量的形式表达,在检测器中与可能发送的8种发射信号相位向量an(n=0,1,2,3,4,5,6,7)进行相关,判决器取出相关值最大的那组an,作为检测器的输出信号,完成相干检测,将该信号进行并串变换,其结果与原信号d进行比较。
如果进行N次试验,符号不一致的次数计数为M,则符号错误概率Ps的估值为M/N。
对8PSK系统,如果发送N个符号,相当于发送了3N个比特。
总的比特错误次数计数为M′,则比特误码率Pb的估值为M′/2N。
最后通过图形进行形象的分析误比特率和误符号率。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word PSK 通信 系统 蒙特卡罗 仿真 分析