8PSK通信系统的蒙特卡罗仿真分析.docx

上传人:b****5 文档编号:27707362 上传时间:2023-07-04 格式:DOCX 页数:19 大小:842.63KB
下载 相关 举报
8PSK通信系统的蒙特卡罗仿真分析.docx_第1页
第1页 / 共19页
8PSK通信系统的蒙特卡罗仿真分析.docx_第2页
第2页 / 共19页
8PSK通信系统的蒙特卡罗仿真分析.docx_第3页
第3页 / 共19页
8PSK通信系统的蒙特卡罗仿真分析.docx_第4页
第4页 / 共19页
8PSK通信系统的蒙特卡罗仿真分析.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

8PSK通信系统的蒙特卡罗仿真分析.docx

《8PSK通信系统的蒙特卡罗仿真分析.docx》由会员分享,可在线阅读,更多相关《8PSK通信系统的蒙特卡罗仿真分析.docx(19页珍藏版)》请在冰豆网上搜索。

8PSK通信系统的蒙特卡罗仿真分析.docx

8PSK通信系统的蒙特卡罗仿真分析

重庆XXX学院

通信专业综合课程设计

 

题目:

8PSK通信系统的蒙特卡罗仿真分析

院(系):

电子信息工程学院

班级:

09级电信2班

负责人:

XXXX学号200907014XXX

小组成员:

XXXX学号200907014XXX

指导教师:

XXXX

 

摘要:

蒙特卡罗法亦称为随机仿真方法,是一种与一般数值计算方法有本质区别的计算方法,它起源于早期的用几率近似概率的数学思想,它利用随机数学进行统计试验,以求得的统计特征值作为待解问题的数值解。

蒙特卡罗法首先构造或描述各种概率过程,然后从这些概率过程中实现相应的概率分布,最后建立各种估计量,相当于对模拟实验的结果进行考察和登记,从中得到问题的解。

8PSK通信系统的蒙特卡罗仿真分析

一、引言

蒙特卡罗法亦称为随机仿真方法,是一种与一般数值计算方法有本质区别的计算方法,它起源于早期的用几率近似概率的数学思想,它利用随机数学进行统计试验,以求得的统计特征值作为待解问题的数值解。

蒙特卡罗法首先构造或描述各种概率过程,然后从这些概率过程中实现相应的概率分布,最后建立各种估计量,相当于对模拟实验的结果进行考察和登记,从中得到问题的解。

对于数字通信系统而言有效性用信息的传输速率表示而可靠性可用误码率来表示。

信号在传送检波的过程中由于噪声的干扰可能会检码错误。

这样如何统计分析信号传输过程中噪声干扰下的误码率问题就成了衡量该系统好坏的标志。

蒙特卡罗方法正是基于随机数信号的产生原理,统计分析信号传输过程中由于噪声干扰而引起的误码率。

二、系统介绍

由概率定义知,某事件的概率可以用大量试验中该事件发生的频率来估算,当样本容量足够大时,可以认为该事件的发生频率即为其概率。

因此,可以先对影响其可靠度的随机变量进行大量的随机抽样,然后把这些抽样值一组一组地代入功能函数式,确定结构是否失效,最后从中求得结构的失效概率。

蒙特卡罗法正是基于此思路进行分析的。

蒙特卡罗方法的基本思想是:

当所求解问题是某种随机事件出现的概率,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解.

(1)系统仿真模型

图1 通信系统仿真模型

 

(2)8PSK的调制

8PSK是一种常用的多相键控,输入的二进制信息序列经串—并交换每次产生一个3位码组b1b2b3,因此符号率为比特率的1/3。

在b1b2b3控制下,同相路和正交路分别产生两个四电平基带信号I(t)和Q(t)。

b1用于决定同相路的信号的极性,b2用于决定正交路信号的极性,b3则用于确定同相路和正交路信号的幅度。

因此同相路和正交路的基带信号幅度是相互关联的,不能独立选取。

其调制与那里图如图1所示

图28PSK调制

 

(3)8PSK的解调

8PSK信号可采用QPSK信号的相干解调器进行解调,区别在于判决电路二电平判决改为四电平判决,判决结果经逻辑运算后得到比特马组,再进行并/串变换,8PSK信号的另一种解调方案如图2所示,它采用两组正交相干解调器,其中一组参考载波相位为0°和90°,另一组参考载波相位为-45°和45°,没个相干解调器后接一个二电平判决电路,对判决结果经逻辑运算后得到比特马组,在进行并/串变换,得到原始的串行二进制信息。

图38PSK解调

4、眼图

如图5所示,一个确定的数字序列在眼图空间对应固定的眼图结构。

在不同干扰强度的情况下,基带信号对应的眼图结构会出现不同程度的变化,即干扰强度的不同会在眼图结构中得以体现,主要表现在眼图的形状和亮、暗面积比会发生变化。

基于眼图分析的干扰效果评估研究是一种数字信号基带传输受扰测度研究方法,主要思想既是通过眼图对基带信号的受扰程度进行表征。

眼图的仿真模型如图6所示

图5 眼图模型图

图6 仿真模型

由图可知“眼睛”的张开程度可以作为基带传输系统性能的一种度量,它不但反映串扰的大小,而且也可以反映信道噪声的影响。

眼图张开部分的宽度决定了接受波形可以不受串扰影响而抽样、再生的时间间隔。

显然,抽样的最佳时刻是“眼睛”张开最大的时刻;“眼睛”在特定抽样时刻的张开高度决定了系统的噪声容限;“眼睛”的闭合斜率决定了系统对抽样定时误差的敏感程度,斜率愈大则对定时误差愈敏感。

三、详细设计步骤

1、MATLAB库中的高斯随机数发生函数randn是应用给出的最低标准随机数发生器以及极坐标法,将均匀分布的随机数映射成高斯分布的随机数。

2、产生二进制序列后当进行8PSK调制时伴随着高斯随机噪声,这时的信号便会有不同概率误差,我们就用蒙特卡罗来估计分析,存在的误差是怎么的,有多少,基于蒙特卡罗的思想原则和应用特征,结合通信中调制解调理论,利用蒙特卡罗思想在通信系统建模的应用,并给出仿真结果。

蒙特卡罗法的步骤是:

(1)构造实际问题的目标概率模型;

(2)根据目标概率模型的特点,确定概率密度函数和累积概率分布函数;(3)统计试验结果,给出问题的解和精度估计.

三、对模拟试验结果加以分析说明.

3、数字调相{或相移键控PSK)最简单的形式为,利用=进制数字信号对两个同频反相正弦渡进行控制不断切换合成调相渡,即BPSK。

8BPSK是一种常用的八相相移键控,有八种可能输出的相位,它不是恒幅度调制,不仅在相位中而且在幅度中亦包台信息,一个符号携带三个比特的信息8PSK的调制信号可以看成是对两个正交载波进行四电平双边带调制后所得的两路四进制幅度键控4ASK信号的叠加,其实现如图3所示。

4、在传输信道中引入噪声,解调出的信号以眼图的形式输出,改变干扰信号的强度,录取不同干扰强度下的眼图,利用眼图来观察其噪声带来的误码率。

计算对应眼图的眼皮厚度与眼图开启度。

改变信噪比的大小,相应的给出眼皮厚度和眼图开启度的值及相应的受扰后的眼图。

结合眼皮厚度与眼图开启度两个参数,建立二者的比值(眼图厚度比)与干扰强度的对应关系。

通过大量的仿真数据获得拟合曲线。

四、设计结果及分析

图7二进制序列及8PSK波形

图8高斯随机噪声

图9叠加后的8PSK波形

图108PSK的蒙特卡罗仿真

 

图11解调后的8PSK信号

图12眼图

分析:

信道噪声对系统性能的主要影响是在接收信号中引入了比特差错。

在二进制系统中,比特差错率表现为将符号1误认为0,或将符号0误认为符号1。

很明显比特差错的频率越高,接收机的输出信号与原始信息之间的差异就越大。

在存在信道噪声的情况下,可以用平均符号差错概率来衡量二进制信息传输的逼真度。

平均符号差错概率的定义为,接收机输出的重构符号与所传输的二进制不相同的平均概率。

在原始二进制波形中的所有比特均具有相同重要性的条件下,平均符号差错概率又称为误比特率(BER)。

但是,在重构原始消息信号的模拟波形时,不同的符号差错可能需要区别对待。

例如码字(表示消息信号的量化抽样值)中重要的比特发生的错误要比不重要的比特发生的错误有害得多。

将接收数字信号波形输入示波器,把产生水平扫描的锯齿波形周期与码源定时同步,则在示波器上可以看到相应的眼图。

数字信号干扰效果评估是通信信号干扰效果评估中的一项重要的研究内容,基于眼图分析的干扰效果评估方法的研究,首先在确定成型滤波器及其滚降系数(即排除了信道中其它因素如码间串扰的影响)的基础上为数字信号的眼图生成提供了平台;进而完成对眼图受到干扰后的变化情况的分析,确定了能够反应眼图变化的两个特征参数(眼皮厚度、眼图的开启度),为评估受扰后的眼图提供了参数依据;最后通过仿真,建立了眼图厚度比随干扰强度变化的评估模板,提出了一种新的能够反应数字信号受干扰情况的评估方法。

五、设计过程中需解决的问题

1、产生等概率且相互独立的二进制序列,画出波形;

2、用matlab编写程序,对加性高斯随机噪声进行仿真;

3、进行8PSK调制,画出波形;

4、进行蒙特卡罗分析;

5、解调8PSK,画出眼图

六、心得体会

本设计要求采用matlab实现对8PSK通信系统的蒙特卡罗仿真并且绘制相关的图形,此题比较难做涉及到的方面很多,对8PSK及蒙特卡罗仿算法很不了解查阅了很多资料然而涉及的有较少,但查资料当中学到了很多不知道的东西,加深了对PSK的了解。

七、参考文献

【1】、曹志刚,钱亚生.现代通信原理.清华大学出版社,2006年10月第24版

【2】、罗新民现代通信原理(第二版)高等教育出版社

【3】、张立材通信原理(第2版)人民邮电出版社

【4】、郭文彬.通信原理基于matlab的计算机仿真.北京邮电大学

【5】、杨 凯 眼图分析法在干扰效果评估中的应用(解放军63888部队,河南济源454650)2009年第4期

 

附件1:

程序

fcarr=0.5*5e3;

N=20;

fs=20*1e3;

Fn=fs/2;

Ts=1/fs;

T=1/N;

randn('state',0);

td=[0:

Ts:

(N*T)-Ts]';

data=sign(randn(N,1))';

data1=ones(T/Ts,1)*data;

data2=data1(:

);

data_2=data2';

data_2=data_2>0;

Transmitted_data_bits=data_2(1:

(fs)/N:

end)

figure

(1)

subplot(2,1,1)

plot(td,data2)

axis([01-22]);

gridon

xlabel('Time')

ylabel('Amplitude')

title('输入数据')

twopi_fc_t=(1:

fs/2)*2*pi*fcarr/fs;

a=1;

phi=0;

cs_t=a*cos(twopi_fc_t+phi);

sn_t=a*sin(twopi_fc_t+phi);

cs_t=cs_t';

sn_t=sn_t';

si=cs_t.*Isymbols;

sq=sn_t.*Qsymbols;

sumiq=si+sq;

gridon

subplot(2,1,2)

plot(tiq,sumiq)

axis([.498.502-22]);

gridon

xlabel('Time(s)')

ylabel('Amplitude')

title('8PSK波形');

M=2;

seed=[7864554321];

SNRpBit=60;SNR=SNRpBit/log2(M);

numPlot=25;

source=randsrc(numSymb,1,[0:

M-1]);n=randn(1,100)*sqrt

(1);

figure

(2)

stem(n)

title('高斯随机噪声')

figure(4)

subplot(1,1,1)

plot(tiq,sumiq1)

axis([.498.502-22]);

gridon

xlabel('Time(s)')

ylabel('Amplitude')

title('叠加噪声后的8PSK波形')

figure(5)

xlabel('Time')

ylabel('Voltage')

out=[];

fori=1:

1000:

10000

out=[outbitout(i:

i+999)bitout1(i:

i+999)];

end

out1=[];

fori=1:

1000:

20000

ifsum(out(i:

i+999))>0

outa(i:

i+999)=1;

out1=[out11];

else

outa(i:

i+999)=-1;

out1=[out1-1];

end

end

plot(td,outa)

title('解调后的8PSK信号');

gridon;

axis([01-22]);

N=fs/fcarr;

function[pb,ps]=cm_sm32(snr_in_dB)

N=10000;

E=1;

snr=10^(snr_in_dB/10);

sgma=sqrt(E/(3*2*snr));

s000=[10];

s001=[cos(pi/4)sin(pi/4)];

s011=[01];

s010=[cos(3*pi/4)sin(3*pi/4)];

s110=[-10];

s111=[cos(5*pi/4)sin(5*pi/4)];

s101=[0-1];

s100=[cos(7*pi/4)sin(7*pi/4)];

fori=1:

N,

temp=rand;

if(temp<0.125),

dsource1(i)=0;

dsource2(i)=0;

dsource3(i)=0;

elseif(temp<0.25),

dsource1(i)=0;

dsource2(i)=0;

dsource3(i)=1;

elseif(temp<0.375),

dsource1(i)=0;

dsource2(i)=1;

dsource3(i)=0;

elseif(temp<0.5),

dsource1(i)=0;

dsource2(i)=1;

dsource3(i)=1;

elseif(temp<0.625),

dsource1(i)=1;

dsource2(i)=0;

dsource3(i)=0;

elseif(temp<0.75),

dsource1(i)=1;

dsource2(i)=0;

dsource3(i)=1;

elseif(temp<0.875),

dsource1(i)=1;

dsource2(i)=1;

dsource3(i)=0;

else

dsource1(i)=1;

dsource2(i)=1;

dsource3(i)=1;

end;

end;

numofsymbolerror=0;

numofbiterror=0;

fori=1:

N,

n

(1)=gngauss(sgma);

n

(2)=gngauss(sgma);

if((dsource1(i)==0)&(dsource2(i)==0)&(dsource3(i)==0)),

r=s000+n;

elseif((dsource1(i)==0)&(dsource2(i)==0)&(dsource3(i)==1)),

r=s001+n;

elseif((dsource1(i)==0)&(dsource2(i)==1)&(dsource3(i)==0)),

r=s010+n;

elseif((dsource1(i)==0)&(dsource2(i)==1)&(dsource3(i)==1)),

r=s011+n;

elseif((dsource1(i)==1)&(dsource2(i)==0)&(dsource3(i)==0)),

r=s100+n;

elseif((dsource1(i)==1)&(dsource2(i)==0)&(dsource3(i)==1)),

r=s101+n;

elseif((dsource1(i)==1)&(dsource2(i)==1)&(dsource3(i)==0)),

r=s110+n;

else

r=s111+n;

end;

c000=dot(r,s000);

c001=dot(r,s001);

c010=dot(r,s010);

c011=dot(r,s011);

c100=dot(r,s100);

c101=dot(r,s101);

c110=dot(r,s110);

c111=dot(r,s111);

c_max=max([c000c001c010c011c100c101c110c111]);

if(c000==c_max),

decis1=0;decis2=0;decis3=0;

elseif(c001==c_max),

decis1=0;decis2=0;decis3=1;

elseif(c010==c_max),

decis1=0;decis2=1;decis3=0;

elseif(c011==c_max),

decis1=0;decis2=1;decis3=1;

elseif(c100==c_max),

decis1=1;decis2=0;decis3=0;

elseif(c101==c_max),

decis1=1;decis2=0;decis3=1;

elseif(c110==c_max),

decis1=1;decis2=1;decis3=0;

else

decis1=1;decis2=1;decis3=1;

end;

symbolerror=0;

if(decis1~=dsource1(i)),

numofbiterror=numofbiterror+1;

symbolerror=1;

end;

if(decis2~=dsource2(i)),

numofbiterror=numofbiterror+1;

symbolerror=1;

end;

if(decis3~=dsource3(i)),

numofbiterror=numofbiterror+1;

symbolerror=1;

end;

if(symbolerror==1),

numofsymbolerror=numofsymbolerror+1;

end;

end;

ps=numofsymbolerror/N;

pb=numofbiterror/(3*N);

function[channelout]=pskmoto(input,No)

u=input;

sgma=sqrt(No);

%经过高斯信道

fori=1:

length(u)

n=gngauss(sgma);

if((dsource1(i)==0)&(dsource2(i)==0)&(dsource3(i)==0))

r=s000+n;

elseif((dsource1(i)==0)&(dsource2(i)==0)&(dsource3(i)==1))

r=s001+n;

elseif((dsource1(i)==0)&(dsource2(i)==1)&(dsource3(i)==0))

r=s010+n;

elseif((dsource1(i)==0)&(dsource2(i)==1)&(dsource3(i)==1))

r=s011+n;

elseif((dsource1(i)==1)&(dsource2(i)==0)&(dsource3(i)==0))

r=s100+n;

elseif((dsource1(i)==1)&(dsource2(i)==0)&(dsource3(i)==1))

r=s101+n;

elseif((dsource1(i)==1)&(dsource2(i)==1)&(dsource3(i)==0))

r=s110+n;

else

r=s111+n;

end

 

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

当前位置:首页 > 自然科学 > 化学

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

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