基于蒙特卡罗法2ASK系统抗噪声性能仿真

基于蒙特卡罗法2ASK系统抗噪声性能仿真
基于蒙特卡罗法2ASK系统抗噪声性能仿真

通信原理

课程设计报告

题目:基于蒙特卡罗法2ASK系统抗噪声性能仿真院系:自动化学院与信息工程学院

专业:

班级:

学号:

姓名:

指导教师:

职称:

一、实验要求

编写MATLAB的M文件,用该文件的采用包络检测法解调的

2ASK系统的抗噪性能进行1000个符号的蒙特卡罗法仿真,画出误码率与信噪比之间的关系曲线,其中信噪比的取值为r=0dB、2dB、4dB、6dB…20dB,同时画出误码率与信噪比的理论曲线,其中信噪比的取值为r=0dB、0.1dB、0.2dB…20dB。

分步实施:

1)熟悉2ASK系统调制解调,熟悉蒙特卡洛法;熟悉误码率计算;

2)编写主要程序;

3)画出系统仿真误码率曲线的系统理论误码率曲线。

二、实验原理

1、蒙特卡罗思想概述

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

蒙特卡罗方法可以解决各种类型的问题,但总的来说,视其是否涉及随机过程的性态和结果,该方法处理的问题可以分为两类:第一类是确定性的数学问题,首先建立一个与所求解有关的概率模型,使所求的解就是我们所建立模型的概率分布或数学期望;然后对其进行随机抽样观察,即产生随机变量;最后用其算术平均值作为所求解的近似估计值。第二类是随机性问题,被考察的元素更多的受到随机性的影响,一般情况下采用直接模拟方法,即根据实际物理情况的概率法则,用电子计算机进行抽样试验。

在应用蒙特卡罗方法解决实际问题的过程中,大体有如下几个内容:

(1)对求解的问题建立简单而又便于实现的概率统计模型,使所求的解恰好是所建立模型的概率分布或数学期望。

(2)根据概率统计模型的特点和计算实践的需要,尽量改进模型,以便减小方差和费用,提高计算效率。

(3)建立对随机变量的抽样方法,其中包括建立产生伪随机数的方法和建立对所遇到的分布产生随机变量的随机抽样方法。

(4)给出获得所求解的统计估计值及其方差或标准误差的方法。

2、2ASK系统调制解调原理

在幅度键控中载波幅度随调制信号而变化,也就是载波的幅度随着数字信号1和0在两个电平之间转换。

设信源发出的是二进制符号0、1组成的序列,且假定0符号的出现概率是P,1符号出现的概率是1-P,则一个二进制的振幅键控信号可以表示成一个单极性矩

形脉冲与一个正弦载波脉冲序列与一个正弦型载波的相乘,即:

00()[()]cos n S e t a g t nT t ω=-∑

这里g(t)是持续时间为S T 的矩形脉冲,而n a 为0的概率为P ,为1的概率为1-P 通常2ASK 的调制有两种方法: 1、相乘法

2、开关法

当基带信号A (t )为高电平时,开关电路如图所示,当基带信号A (t )为低电平时,开关处于断开状态,二进制振幅键控信号状态为零,此时二进制振幅键控信号又常称为通-断键控信号(OOK 信号)。

2ASK 的解调系统的基本解调方法也是有两种:非相干解调(包络检波法)和相干解调法(同步检测法)。相应的解调系统如下所示:

(1)非相干解调(包络检波法)

(2)相干解调法(同步检测法)

3、2ASK 的抗噪声性能

通信系统的抗噪声性能是指系统克服加性噪声影响的能力。在数字通信系统中,加性噪声可能使传输码元产生错误。其错误程度一般用误码率来衡量。 (1) 非相干解调的误码率

非相干接收时的误码率为:)

/41

1

22

2

r e P erfc

r e -=+,

其中22/2r A σ= 为解调器的输入信噪比。当信噪比r >>1时,/4r e P r

π-=。

(2)相干解调的误码率

相干接收时的误码率为:)

1

22

e P erfc

r =,其中22/2r A σ=为解调器的

输入信噪比。当信噪比r >>1时,上式变成/4r e P r

π-=

三、设计流程

利用matlab 对2ASK 进行仿真,在2ASK 调制后对信号加入不同信噪比的高斯噪声,然后进行解调,计算出误码率。

程序流程图如下:

四、程序运行结果

产生数字基带信号

2ASK调制

加入高斯白噪声

2ASK解调

计算误码率

结果分析:图中实线是理论上的信噪比与误码率关系曲线,☆则是进行2ASK调制解调后的仿真分析。由图可见随着信噪比的增大,理论计算与实际仿真得到的误码率均在下降,但是由于仿真码元数目比较少,误码率只能达到接近4

10 。

五、实验源程序

见附录

六、总结与体会

2ASK是一种最早的数字调制方式,最早用于电报传输,由于其误码率较高,现在已经比较少使用,但是由于其调制方式简单,其抗噪声性能分析方法具有普遍意义,对于理解数字调制以及抗噪分析很用帮助,可以作为学习其他调制方式的基础。通过这次通信原理课程设计实践,我复习了MATLAB编程语言的基本概念、语法、语义和数据类型的使用特点,加深了对课堂所学理论知识的理解,掌握了运用结构化程序设计的基本思想和方法,更重要的是培养了自己的自学能力。

我用了三天时间,完成了程序的编写、改错,但我立刻发现尽管程序能够正常运行,部分功能却不完善,甚至不能实现。经过一次又一次调试、修改又修改,一点一点发现问题并改正,我才真正发现编程远没有想象中的简单。它需要的不仅是清晰地编程思路、编程技巧,还需要有耐心有毅力,不要放弃。在编程过程中,我遇到了许多问题,通过查找资料也未能找到原因,每次我想老师请教,老师总能不厌其烦地一点点讲解。在编程过程中,我与我组成员共同讨论,为对方查找错误,提示建议,在这个过程中我收获甚多,也培养了自己的合作精神。

七、参考文献

[1] 樊昌信等编著.通信原理(第5版).国防工业出版社。

[2] 曹志刚等编著.现代通信原理。清华大学出版社

[3] 车晴编著。电子系统仿真与MATLAB。北京广播学院出版社

[4] Izzo L,Tanda M.Weaksignal Diversity Detection in Narrowband Nongaussian Noise[J]. Information Theory Proceedings, IEEE International Symposium on,1997,196现代电子技术

[5] 沈振元.通信系统原理.西安电子科技大学出版社

附录(源程序)

主程序:

SNRa=0:1:20; %每1dB计算误码率从1—20dB SNRb=0:0.1:20;

for i=1:length(SNRa)

[ps]=askmoto(SNRa(i)); %蒙特卡罗法仿真

wumalv(i)=ps;

end;

for i=1:length(SNRb)

SNR=10^(SNRb(i)/10); %信噪比dB转化为数值

theo_err_prb(i)=(1/2)*erfc(sqrt(SNR)/2)+(1/2)*exp(-SNR/4);%计算理论值end;

semilogy(SNRa,wumalv,'p'); %仿真结果,用☆画出

hold

semilogy(SNRb,theo_err_prb); %理论曲线

用蒙特卡罗法进行仿真:

function[ps]=askmoto(snr_in_dB)

N=1000; %进行1000个符号的蒙特卡罗法仿真

E=1; %一个信号能量为1

snr=10^(snr_in_dB/10); %将信噪比转化为数值大小

sgma=sqrt((E/snr)/2); %计算噪声的标准差

n=0; %初始化各个参数

s0=0;

s1=1;

for i=1:N, %由随机数产生输入的0 1 序列共1000个temp=rand;

if(temp<0.5) %小于0.5输入为0

dsource1(i)=0;

else

dsource1(i)=1; %大于0.5输入为1

end;

end;

numofsymbolerror=0; %误码数初始为0

for i=1:N,

n=gngauss(0,sgma); %产生高斯分布变量

if(dsource1(i)==0),

r=s0+n; %输入信号加入高斯白噪声else

r=s1+n;

end;

%输出信号判断——加入噪声后判断输出信号是0还是1 %

if(r>1)

if(r-1

decis1=1;

else

decis1=0;

end;

elseif(r<0)

if(1-r>0-r)

decis1=0;

else

decis1=1;

end;

else

if(1-r>r-0)

decis1=0;

else

decis1=1;

end;

end;

if(decis1~=dsource1(i)), %如果输出信号与输入不同,误码数加一numofsymbolerror=numofsymbolerror+1;

end;

end;

ps=numofsymbolerror/(N); %计算误码率

高斯随机数产生函数:

function grsv=gngauss(m,sgma) %gngauss产生均值为m,标准偏差

%sgma的,相互独立的高斯随机过程。u=rand; %在区间(0,1)内的均匀随机变量

z=sgma*(sqrt(2*log(1/(1-u)))); % 瑞利分布随机变量

u=rand; %在区间(0,1)内的均匀随机变量

grsv=m+z*cos(2*pi*u); %由瑞利分布和高斯分布的关系产生高斯分布

相关主题
相关文档
最新文档