MATLAB 2psk通信系统仿真报告

合集下载
  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°倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号全部出错.

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

这种现象通常称为"倒π"现象.由于在2PSK 信号的载波恢复过程中存在着180°的相位模糊,所以2PSK 信号的相干解调存在随机的"倒π"现象,从而使得2PSK 方式在实际中很少采用.

三 仿真方真

四 程序源代码

clear all; close all; clc;

max = 15;

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

产生随机n 位二进制码元 汉 明 码

编 码

2PSK 调制

信 道

加性AWGN

相 干

解 调

低 通 滤 波

低 通

滤 波

抽 样

判 决

输 出

2PSK 误码率 仿真

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

相关文档
最新文档