MATLAB2psk通信系统仿真报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 2PSK调制数字通信系统

一实验题目

设计一个采用2PSK调制的数字通信系统

设计系统整体框图及数学模型;

产生离散二进制信源.进行信道编码(汉明码).产生BPSK信号;

加入信道噪声(高斯白噪声);

BPSK信号相干解调.信道解码;

系统性能分析(信号波形、频谱.白噪声的波形、频谱.信道编解

二实验基本原理

数字信号的传输方式分为基带传输和带通传输.在实际应用中.大多数信道具有带通特性而不能直接传输基带信号。为了使数字信号在带通信道中传输.必须使用数字基带信号对载波进行调制.以使信号与信道的特性相匹配。这种用数字基带信号控制载波.把数字基带信号变换为数字带通信号的过程称为数字调制。

数字调制技术的两种方法:①利用模拟调制的方法去实现数字式调制.

即把数字调制看成是模拟调制的一个特例.把数字基带信号当做模拟信号的特殊情况处理;②利用数字信号的离散取值特点通过开关键控载波.从而实现数字调制。这种方法通常称为键控法.比如对载波的相位进行键控.便可获得相移键控(PSK)基本的调制方式。

图1 相应的信号波形的示例

1 0 1

调制原理

数字调相:如果两个频率相同的载波同时开始振荡.这两个频率同时达到正最大值.同时达到零值.同时达到负最大值.它们应处于"同相"状态;如果其中一个开始得迟了一点.就可能不相同了。如果一个达到正最大值时.另一个达到负最大值.则称为"反相"。一般把信号振荡一次(一周)作为360度。如果一个波比另一个波相差半个周期.我们说两个波的相位差180度.也就是反相。当传输数字信号时."1"码控制发0度相位."0"码控制发180度相位。载波的初始相位就有了移动.也就带上了信息。

相移键控是利用载波的相位变化来传递数字信息.而振幅和频率保持不变。在2PSK中.通常用初始相位0和π分别表示二进制“1”和“0”。因此.2PSK 信号的时域表达式为(t)=Acos t+)

其中.表示第n个符号的绝对相位:

=

因此.上式可以改写为

图2 2PSK信号波形

解调原理

2PSK信号的解调方法是相干解调法。由于PSK信号本身就是利用相位传递信息的.所以在接收端必须利用信号的相位信息来解调信号。下图2-3中给出了一种2PSK信号相干接收设备的原理框图。图中经过带通滤波的信号在相乘器中与本地载波相乘.然后用低通滤波器滤除高频分量.在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1.负抽样值判为0.

2PSK 信号相干解调各点时间波形如图 3 所示. 当恢复的相干载波产生180°倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号全部出错.

图 3

2PSK 信号相干解调各点时间波形

这种现象通常称为"倒π"现象.由于在2PSK 信号的载波恢复过程中存

在着180°的相位模糊,所以2PSK 信号的相干解调存在随机的"倒π"现象,从而使得2PSK 方式在实际中很少采用.

三 仿真方真

四 程序源代码

产生随机n 位二进汉 明 码 编 码

2PSK 调制

信 道

加性AWGN

相 干 解 调

低 通

滤 波

低 通 滤 波

抽 样 判 决

输 出

2PSK 误码率

clear all;

close all;

clc;

max = 15;

s=randint(1,max);%长度为max的随机二进制序列Sinput=[];

for n=1:length(s);

if s(n)==0;

A=zeros(1,2000);

else s(n)==1;

A=ones(1,2000);

end

Sinput=[Sinput A];

end

figure(1);

subplot(211);

plot(Sinput);

grid on

axis([0 2000*length(s) -2 2]);

title('输入信号波形');

Sbianma=encode (s,7,4,'hamming');%汉明码编码后序列a1=[];

b1=[];

f=1000;

t=0:2*pi/1999:2*pi;

for n=1:length(Sbianma);

if Sbianma(n)==0;

B=zeros(1,2000);%每个值2000个点

else Sbianma(n)==1;

B=ones(1,2000);

end

a1=[a1 B];%s(t),码元宽度2000

c=cos(2*pi*f*t);%载波信号

b1=[b1 c];%与s(t)等长的载波信号.变为矩阵形式

end

figure(2);

subplot(211)

plot(a1);

grid on;

axis([0 2000*length(Sbianma) -2 2]);title('编码后二进制信号序列'); a2=[];

b2=[];

for n = 1:length(Sbianma);

if Sbianma(n) == 0;

C = ones(1,2000);%每个值2000点

d = cos(2*pi*f*t);%载波信号

else Sbianma(n) == 1;

C = ones(1,2000);

d = cos(2*pi*f*t+pi);%载波信号

end

a2 = [a2 C];%s(t).码元宽度2000

b2 = [b2 d];%与s(t)等长的载波信号

end

tiaoz = a2.*b2;%e(t)调制

相关文档
最新文档