课 程 设 计 任 务 书
学生班级: 学生姓名: 学号:
设计名称: 8PSK 通信系统的蒙特卡罗仿真分析
起止日期: 2009.6.20-2009.7.3 指导教师:
设计要求:
8PSK 通信系统的蒙特卡罗仿真分析
1、 产生等概率且相互独立的二进制序列,画出波形;
2、产生均值为 0,方差为 1 的加性高斯随机噪声;
3、进行 8PSK 调制,画出波形;
4、进行蒙特卡罗分析;
5、解调 8PSK,画出眼图。
课 程 设 计 学 生 日 志
时间
设计内容
2009.6.20
查阅相关资料,确定方案
2009.6.22
设计总体方案
2009.6.24
查看 8PSK 的相关资料
2009.6.27
查阅 MATLAB 的各种算法及命令
2009.6.28
编写相应的子程序
2009.6.30
编写程序并进行调试
2009.7.01
设计 8PSK 通信系统的蒙特卡罗仿真并得出相关的结论
2009.7.03
填写课程设计的报告进行总结并进行答辩
课 程 设 计 考 勤 表
周
星期一
星期二
星期三
星期四
星期五
课 程 设 计 评 语 表
指导教师评语:
成绩: 指导教师:
年 月 日
8PSK 通信系统的蒙特卡罗仿真分析
一、 设计目的和意义
1、产生等概率且相互独立的二进制序列,画出波形;
2、产生均值为 0,方差为 1 的加性高斯随机噪声;
3、进行 8PSK 调制,画出波形;
4、进行蒙特卡罗分析;
5、解调 8PSK,画出眼图。
意义:使我们掌握利用信号分析的软件来完成数值计算、通信过程分析的可
视化建模及仿真调试,培养我们的主动获取知识和独立解决问题的能力,加强通
信原理的基本概念、基本原理和基本分析方法。巩固已经学过的知识,加深对知
识的理解和应用,加强学科间的横向联系。
二、 设计原理
对于一个通信系统来说,相移键控(QPSK)是一个数字频率调制技术,用
于发送数据通过同轴电缆网络。在数字通信的三种调制方式(ASK、FSK、PSK)
中, 就频带利用率和抗噪声性能(或功率利用率)两个方面来看,理论上
都是 PSK 系统最佳。所以 PSK 在中、高速数据传输中得到了广泛的应用。但
是由于实际信道传输数字信号时,不可避免地会产生误码。因此我们需要借
助于 MATLAB 这个工具模拟出这种在信号传送过程中加入噪声信号,并进
行通信调制模拟出蒙特卡罗图形,解调 8PSK 并画出眼图。从而用物理可实
现的系统去逼近 8PSK 通信系统的蒙特卡罗仿真特性,从而获得较好的效果。
8PSK 的调制原理图如下图所示:
三、 详细设计步骤
1、产生等概率且相互独立的二进制序列;
经过分析题意,可以得到此程序:source=randsrc(numSymb,1,[0:M-1]);
从而产生了 25 个伪随机码。
2、产生均值为 0,方差为 1 的加性高斯随机噪声;
经过分析题意,可以得到此程序:n=randn(1,100)*sqrt(1);从而产生高斯白噪
声。
3、进行 8PSK 调制,由 MPSK 的表述:对于矩形包络的 MPSK,已调信号
的时域表达式:
)](cos[)(
2
)(
8
ntnTtret
T
E
tS
cS
n
S
S
PSK
��
���
�
分析题意得到如下程序:
function [opsk,bit]=epsk(g,f)
if nargin > 2
error('Too many input arguments');
elseif nargin==1
f=1;
end
if f<1;
error('Frequency must be bigger than
1');
end
%*-*-*-*-*-*
l=length(g);
r=l/3;
re=ceil(r);
val=re-r;
if val~=0;
error('Please insert a vector divisible
for 3');
end
%*-*-*-*-*-*
t=0:2*pi/149:2*pi;
cp=[];sp=[];
mod=[];mod1=[];bit=[];
for n=1:3:length(g);
if g(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)];
elseif g(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)];
elseif g(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)];
elseif g(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)];
elseif g(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)];
elseif g(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)];
elseif g(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)];
elseif g(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=[cp die]; %Amplitude cosino
sp=[sp -die1]; %Amplitude sino
mod=[mod c]; %cosino carrier
(Q)
mod1=[mod1 s]; %sino carrier
(I)
bit=[bit se];
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=[1 0];
s001=[cos(pi/4) sin(pi/4)];
s011=[0 1];
s010=[cos(3*pi/4) sin(3*pi/4)];
s110=[-1 0];
s111=[cos(5*pi/4) sin(5*pi/4)];
s101=[0 -1];
s100=[cos(7*pi/4) sin(7*pi/4)];
for i=1:N,
temp=rand;
评论2