完整word版8PSK通信系统的仿真分析.docx

上传人:b****6 文档编号:6036918 上传时间:2023-01-03 格式:DOCX 页数:22 大小:586.29KB
下载 相关 举报
完整word版8PSK通信系统的仿真分析.docx_第1页
第1页 / 共22页
完整word版8PSK通信系统的仿真分析.docx_第2页
第2页 / 共22页
完整word版8PSK通信系统的仿真分析.docx_第3页
第3页 / 共22页
完整word版8PSK通信系统的仿真分析.docx_第4页
第4页 / 共22页
完整word版8PSK通信系统的仿真分析.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

完整word版8PSK通信系统的仿真分析.docx

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

完整word版8PSK通信系统的仿真分析.docx

完整word版8PSK通信系统的仿真分析

西南科技大学

课程设计报告

 

课程名称:

数字通信课程设计

设计名称:

8PSK通信系统的仿真分析

姓名:

****

学号:

20096113

班级:

通信0901

指导教师:

侯宝林

起止日期:

2012.6.4-2011.6.18

西南科技大学信息工程学院制

课程设计任务书

学生班级:

通信0901学生姓名:

***学号:

*******

设计名称:

8PSK通信系统的仿真分析

起止日期:

2012.6.4-2012.6.25指导教师:

侯宝林

设计要求:

要求:

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

●产生均值为0,方差为1的加性高斯随机噪声;

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

●进行蒙特卡罗分析;

●解调8PSK,画出眼图。

 

课程设计学生日志

时间

设计内容

6.5~6.10

翻阅Matlab、通信原理的有关资料

6.11~6.15

用Matlab编写并调试程序,实现调制、解调信号的时域波形

6.16~6.18

实行蒙特卡罗及眼图的仿真

6.19~6.21

写课程设计论文

6.21~6.24

修改论文

6.25

答辩

课程设计评语表

指导教师评语:

 

 

成绩:

指导教师:

年月日

8PSK通信系统的仿真分析

一、设计目的和意义

1、对8psk进行调制和解调,通过MATLAB编程,掌握MATLAB的使用,熟练掌握8PSK的调制原理,解调原理。

2、根据蒙特卡罗仿真方法基本思想,分析了加性高斯噪声和单频干扰条件下的8PSK信号相位分布模型及其相关检测方法;为现实中通信系统的调制,解调,及信道传输进行理论指导。

3、使我们掌握利用信号分析的软件来完成数值计算、通信过程分析的可视化建模及仿真调试,培养我们的主动获取知识和独立解决问题的能力,加强通信原理的基本概念、基本原理和基本分析方法。

巩固已经学过的知识,加深对知识的理解和应用,加强学科间的横向联系。

二、设计原理

(一)蒙特卡罗方法

蒙特卡罗(MonteCarlo)法亦称为随机仿真(randomsimulation)方法,有时也称作随机抽样(randomsampling)技术或统计试验(statisticaltesting)方法。

它的基本思想是:

为了求解数学、物理、工程技术以及生产管理等方面的问题,首先建立一个概率模型或随机过程,使它的参数等于问题的解;然后通过对模型或过程的观察或抽样试验来计算所求随机参数的统计特征,最后给出所求解的近似值,解的精度可用估计值的标准误差来表示。

实施蒙特卡罗法有三个主要步骤:

(1)构造或描述概率过程。

对于本身就具有随机性质的问题,如粒子输运问题,主要是正确描述和模拟这个概率过程;对于本来不是随机性质的确定性问题,比如计算定积分,就必须事先构造一个人为的概率过程,它的某些参量正好是所要求问题的解,即要将不具有随机性质的问题转化为随机性质的问题。

(2)实现从已知概率分布抽样。

构造了概率模型以后,由于各种概率模型都可以看作是由各种各样的概率分布构成的,因此产生已知概率分布的随机变量(或随机向量),就成为实现蒙特卡罗方法模拟实验的基本手段,这也是蒙特卡罗方法被称为随机抽样的原因。

最简单、最基本、最重要的一个概率分布是(0,1)上的均匀分布(或称矩形分布)。

随机数就是具有这种均匀分布的随机变量,随机数序列就是具有这种分布的总体的一个简单子样,也就是一个具有这种分布的相互独立的随机变数序列。

产生随机数的问题,就是从这个分布的抽样问题。

在计算机上,可以用物理方法产生随机数,但价格昂贵,不能重复,使用不便。

另一种方法是用数学递推公式产生,这样产生的序列,与真正的随机数序列不同,所以称为伪随机数,或伪随机数序列。

不过经过多种统计检验表明,它与真正的随机数或随机数序列具有相似的性质,因此可把它作为真正的随机数来使用。

从已知分布随机抽样有多种方法,与从(0,1)上均匀分布抽样不同,这些方法都是借助于随机序列来实现的,也就是说,都是以产生随机数为前提的。

由此可见,随机数是我们实现蒙特卡罗模拟的基本工具。

(3)建立各种估计量。

一般来说,构造了概率模型并能从中抽样后,即实现模拟实验后,我们就要确定一个随机变量,作为所要求的问题的解,我们称它为无偏估计量。

建立各种估计量,相当于对模拟实验的结果进行考察和登记,从中得到问题的解。

(二)8PSK的原理

对于一个通信系统来说,相移键控(QPSK)是一个数字频率调制技术,用于发送数据通过同轴电缆网络。

在数字通信的三种调制方式(ASK、FSK、PSK)中,就频带利用率和抗噪声性能(或功率利用率)两个方面来看,理论上都是PSK系统最佳。

所以PSK在中、高速数据传输中得到了广泛的应用。

但是由于实际信道传输数字信号时,不可避免地会产生误码。

因此我们需要借助于MATLAB这个工具模拟出这种在信号传送过程中加入噪声信号,并进行通信调制模拟出蒙特卡罗图形,解调8PSK并画出眼图。

从而用物理可实现的系统去逼近8PSK通信系统的蒙特卡罗仿真特性,从而获得较好的效果。

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

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

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

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

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

图18PSK调制

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

图28PSK解调

8PSK调制是利用载波的8种不同相位(或相位差)来表征数字信息的调制方式,和二进制调制一样,8PSK调制也分为绝对调相和相对调相。

它把输入的二进制信号序列经过串并变换,每次把一个3位的码组映射为一个符号的相位,映射星座按自然码或者格雷码(文中采用自然码),符号速率是比特速率的1/3,在8PSK调制方式中,输入的串行二进制序列经串并转换,每次产生3位并行码组b1b2b3。

b1和b3分别决定I路的极性和幅度,b2和b3分别决定Q路的极性和幅度,星座图如图3

图38PSK星座图

(三)眼图

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

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

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

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

图4 眼图模型图

图6 仿真模型

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

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

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

三、详细设计步骤

1、产生等概率且相互独立的二进制序列;

经过分析题意,可以得到此程序:

source=randsrc(numSymb,1,[0:

M-1]);

从而产生了25个伪随机码。

2、产生均值为0,方差为1的加性高斯随机噪声;

经过分析题意,可以得到此程序:

n=randn(1,100)*sqrt

(1);从而产生高斯白噪声。

3、进行8PSK调制,由MPSK的表述:

对于矩形包络的MPSK,已调信号的时域表达式:

分析题意得到如下程序:

function[opsk,bit]=epsk(g,f)

ifnargin>2

error('Toomanyinputarguments');

elseifnargin==1

f=1;

end

iff<1;

error('Frequencymustbebiggerthan1');

end

%*-*-*-*-*-*

l=length(g);

r=l/3;

re=ceil(r);

val=re-r;

ifval~=0;

error('Pleaseinsertavectordivisiblefor3');

end

%*-*-*-*-*-*

 

t=0:

2*pi/149:

2*pi;

cp=[];sp=[];

mod=[];mod1=[];bit=[];

forn=1:

3:

length(g);

ifg(n)==0&&g(n+1)==1&&g(n+2)==1

die=cos(pi/8)*ones(1,150);

die1=sin(pi/8)*ones(1,150);

se=[zeros(1,50)ones(1,50)ones(1,50)];

elseifg(n)==0&&g(n+1)==1&&g(n+2)==0

die=cos(3*pi/8)*ones(1,150);

die1=sin(3*pi/8)*ones(1,150);

se=[zeros(1,50)ones(1,50)zeros(1,50)];

elseifg(n)==0&&g(n+1)==0&&g(n+2)==0

die=cos(5*pi/8)*ones(1,150);

die1=sin(5*pi/8)*ones(1,150);

se=[zeros(1,50)zeros(1,50)zeros(1,50)];

elseifg(n)==0&&g(n+1)==0&&g(n+2)==1

die=cos(7*pi/8)*ones(1,150);

die1=sin(7*pi/8)*ones(1,150);

se=[zeros(1,50)zeros(1,50)ones(1,50)];

elseifg(n)==1&&g(n+1)==0&&g(n+2)==1

die=cos(-7*pi/8)*ones(1,150);

die1=sin(-7*pi/8)*ones(1,150);

se=[ones(1,50)zeros(1,50)ones(1,50)];

elseifg(n)==1&&g(n+1)==0&&g(n+2)==0

die=cos(-5*pi/8)*ones(1,150);

die1=sin(-5*pi/8)*ones(1,150);

se=[ones(1,50)zeros(1,50)zeros(1,50)];

elseifg(n)==1&&g(n+1)==1&&g(n+2)==0

die=cos(-3*pi/8)*ones(1,150);

die1=sin(-3*pi/8)*ones(1,150);

se=[ones(1,50)ones(1,50)zeros(1,50)];

elseifg(n)==1&&g(n+1)==1&&g(n+2)==1

die=cos(-pi/8)*ones(1,150);

die1=sin(-pi/8)*ones(1,150);

se=[ones(1,50)ones(1,50)ones(1,50)];

end

c=cos(f*t);

s=sin(f*t);

cp=[cpdie];%Amplitudecosino

sp=[sp-die1];%Amplitudesino

mod=[modc];%cosinocarrier(Q)

mod1=[mod1s];%sinocarrier(I)

bit=[bitse];

end

opsk=cp.*mod+sp.*mod1;

4、进行蒙特卡罗分析,通过题意,可以得到以下程序:

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);

5、解调8PSK,画出眼图,根据题意,可以得到以下程序:

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

%计算互相关度

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);

%对第i个符号进行判决

c_max=max([c000c001c010c011c100c101c110c111]);

if(c000==c_max)

decis1(i)=0;

decis2(i)=0;

decis3(i)=0;

elseif(c001==c_max)

decis1(i)=0;

decis2(i)=0;

decis3(i)=1;

elseif(c010==c_max)

decis1(i)=0;

decis2(i)=1;

decis3(i)=0;

elseif(c011==c_max)

decis1(i)=0;

decis2(i)=1;

decis3(i)=1;

elseif(c100==c_max)

decis1(i)=1;

decis2(i)=0;

decis3(i)=0;

elseif(c101==c_max)

decis1(i)=1;

decis2(i)=0;

decis3(i)=1;

elseif(c110==c_max)

decis1(i)=1;

decis2(i)=1;

decis3(i)=0;

else

decis1(i)=1;

decis2(i)=1;

decis3(i)=1;

end

end

%映射成多进制信号

fori=1:

length(u)

if((decis1(i)==0)&(decis2(i)==0)&(decis3(i)==0))

channelout(i)=0;

elseif((decis1(i)==0)&(decis2(i)==0)&(decis3(i)==1))

channelout(i)=1;

elseif((decis1(i)==0)&(decis2(i)==1)&(decis3(i)==0))

channelout(i)=2;

elseif((decis1(i)==0)&(decis2(i)==1)&(decis3(i)==1))

channelout(i)=3;

elseif((decis1(i)==1)&(decis2(i)==0)&(decis3(i)==0))

channelout(i)=4;

elseif((decis1(i)==1)&(decis2(i)==0)&(decis3(i)==1))

channelout(i)=5;

elseif((decis1(i)==1)&(decis2(i)==1)&(decis3(i)==0))

channelout(i)=6;

else

channelout(i)=7;

end

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

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

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

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