当前位置:文档之家› 基于MATLAB通信系统的设计仿真

基于MATLAB通信系统的设计仿真

西安电子科技大学

通信系统仿真课程实验报告实验名称利用matlab仿真通信系统

通信工程学院 1501012 班Array姓名陈韬学号 150********

同作者

实验日期 2018 年 5 月 30 日

一、基本原理

1、通信系统仿真的一般步骤

通信系统仿真一般分成3个步骤,即仿真建模、仿真实验和仿真分析。应该注意的是,通信系统仿真是一个螺旋式发展的过程,因此,这3个步骤可能需要循环多次才能达到想要的结果。

研究方式图示

2.数字通信系统

数字通信系统(Digital Communication System,DCS )是利用数字信号来传递信息的通信系统,如图3所示。

数字通信所涉及的技术问题很多,其中主要有信源编码与译码、信道编码与译码、数字调制与解调、同步以及加密与解密等。

数字通信系统模型

与模拟通信相比,数字通信具有许多优良的特性:

(1)抗干扰能力强,且噪声不积累。数字通信系统中传输的是离散取值的数字波形,接收端的目标不是精确的还原被传输的波形,而是从收到噪声干扰的信号中判

决出发送端所发送的是哪一个波形。

(2)传输差错可控。在数字同喜系统中,可以通过信道编码技术进行检错与纠错,降低误码率,提高传输质量。

(3)便于用现代数字信号处理技术对数字信息进行处理、变换、存储。这种数字处理的灵活性表现为可以将来自不同信源的信号综合到一起传输。

(4)易于集成,使通信设备微型化,重量轻。

(5)易于加密处理,且保密性好。

数字通信的缺点是,一般需要较大的传输带宽,设备复杂。近年来,随着大规模集成电路的出现,数字系统的设备复杂程度和技术难度大大降低了,数字传输方式日益受到欢迎。数字处理的灵活性使得数字传输系统中传输的数字信息既可以来自计算机、电传机等数据终端的各种数字代码,也可以来自模拟信号经过数字化处理后的脉冲编码(PCM)信号等。原理上,数字信息可以直接用数字代码序列表示和传输,但在世纪传输中,视系统的要求和信道情况,一般需要进行不同形式的编码,并且选用一组取值有限的离散波形来表示,这些取值离散的波形可以是未经调制的电信号,也可以是调制后的信号。未经调制的数字信号所占据的频谱是从零频或很低频率开始,称为数字基带信号

注:数字频带传输系统

在数字基带传输系统中,为了使数字基带信号能够在信道中传输,要求信道应具有低通形式的传输特性。然而,在实际信道中,大多数信道具有带通传输特性,数字基带信号不能直接在这种带通传输特性的信道中传输。必须用数字基带信号对载波进行调制,产生各种已调数字信号。

注:PSK数字调制原理

在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号. 通常用已调信号载波的0°和180°分别表示二进制数字基带信号的1 和0。

2PSK原理图

2PSK信号的解调原理图

二、数字通信2PSK系统建模

1、建模基本步骤

通信系统仿真的基本步骤如下:

(1)建立数学模型:根据通信系统的基本原理,确定总的系统功能,并将各部分功能模块化,找出各部分之间的关系。

(2)仿真系统:根据建立的模型按系统流程框图模型连接,组建要仿真的通信系统模型。

(3)设置、调整参数:参数设置包括运行系统参数设置和功能模块运行参数设置。

(4)设置观察窗口,分析仿真数据和波形:在系统模型的关键点处设置观测输出模块,用于观测仿真系统的运行情况,以便及时调整参数,分析结果。

2、系统仿真的软件实现

在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号. 在此用已调信号载波的 0°和 180°分别表示二进制数字基带信号的 1 和 0.用两个反相的载波信号进行调制,其方框图如下:

SCOPE产生波形自上至下顺序分别为:sine wave、伯努利发生信号、反向载波、PSK波形

其中元件图与元件参数设置分别如下:

A.正弦载波

B.正弦反向载波

C.带通滤波器

D.信号发生器

E.误码计算器

F.乘法器

G.误码显示器

整体模块图:

发射模块加入高斯白噪声:

三、仿真源代码

a=[1 1 0 0 1 1 0 0]

l=linspace(0,2*pi,50);

f=sin(2*l);

t=linspace(0,10*pi,400);

out=1:400;

b=1:400;

d=1:400;

c=1:7;

w=1:400;

for i=1:7

if a(i)==0

for j=1:50

out(j+50*(i-1))=f(j);

end

else

for j=1:50

out(j+50*(i-1))=-f(j);

end

end

end

for i=1:7

for j=1:50

m=0;n=0;

if out(j+50*(i-1))-f(j)==0

m=m+1;

end

if out(j+50*(i-1))+f(j)==0

n=n+1;

end

end

if m>n

c(i)=0;

else

c(i)=1;

end

end

c

for i=1:7

for j=1:50

b(j+50*(i-1))=a(i);

d(j+50*(i-1))=c(i);

w(j+50*(i-1))=f(j);

end

end

subplot(3,1,1),plot(t,b),axis([0 10*pi -0.2 1.2]), xlabel('t'),ylabel('调制信号'); subplot(3,1,2),plot(t,w),axis([0 10*pi -1.2 1.2]), xlabel('t'),ylabel('载波'); subplot(3,1,3),plot(t,out),axis([0 10*pi -1.2 1.2]),xlabel('t'),ylabel(' PSK波形');

运行波形:

function[r,x,y]=raychan(n)

t=1; v=50; lamda=1/3;

alpha=rand(1,n);

phi=2*pi*rand(1,n);

theta=2*pi*rand(1,n);

s=alpha.*(exp(j.*(phi+2*pi*v*t/lamda*cos(theta))))*ones(1,n)';

x=real(s);

y=imag(s);

r=sqrt(x^2+y^2);

end

解调模块:

a=[1 1 0 0 1 1 0 0]

b=-pi:0.1*pi: pi*10

t=pskmod(a,2);%t=pskmod(a,8,ini_phase)

plot(t,b),axis([0 10*pi -0.2 1.2]), xlabel('t'),ylabel('已调信号');

figure

z=pskdemod(t,2);%z=pskdemod(t,8,ini_phase)

plot(z,b),axis([0 10*pi -0.2 1.2]), xlabel('t'),ylabel('还原信号');

hold off

四、总结与分析

通过本选修课通信系统仿真,我学会了通过matlab仿真一个通信系统,对matlab中的simulink模块有了系统的认识和学习,基本学会了simulink的使用,完成了一个通信系统的仿真与学习。本课程老师讲述的matlab知识对我帮助很大,在此对老师表示感谢

五、参考文献

《通信系统中MATLAB基础仿真与应用》(西安电子科技大学出版社)

相关主题
文本预览
相关文档 最新文档