MATLAB_2psk通信系统仿真报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一2PSK调制数字通信系统
实验题目
设计一个采用2PSK调制的数字通信系统
设计系统整体框图及数学模型;
产生离散二进制信源,进行信道编码(汉明码),产生BPSK信号;
加入信道噪声(高斯白噪声);
BPSK B号相干解调,信道解码;
系统性能分析(信号波形、频谱,白噪声的波形、频谱,信道编解
实验基本原理
数字信号的传输方式分为基带传输和带通传输,在实际应用中,大
多数信道具有带通特性而不能直接传输基带信号。为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。
数字调制技术的两种方法:①利用模拟调制的方法去实现数字式调制,即把数字调制看成是模拟调制的一个特例,把数字基带信号当做模拟信号的特殊情况处理;②利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制。这种方法通常称为键控法,比如对载波的相位进行键控,便可获得相移键控(PSK)基本的调制方式。
图1相应的信号波形的示例
调制原理
数字调相:如果两个频率相同的载波同时开始振荡,这两个频率同时达到正
最大值,同时达到零值,同时达到负最大值,它们应处于"同相"状态;如果其中一个开始得迟了一点,就可能不相同了。如果一个达到正最大值时,另一个达到负最大值,则称为"反相"。一般把信号振荡一次(一周)作为360度。如果一个波比另一个波相差半个周期,我们说两个波的相位差180度,也就是反相。当传输数字信号时,"1"码控制发0度相位,"0"码控制发180度相位。载波的初始相位就有了移动,也就带上了信息。
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。在2PSK中,通常用初始相位0和n分别表示二进制1”和0”。因此,2PSK信号的时域表达式为匚爭x (t)=Acos :[叫丄+仁)其中,也r表示第n个符号的绝对相位:
.(0发送©时U发送T
时
因此,上式可以改写为
(Acosw c t 概率为P
曲)仏叫mi-p
图2 2PSK信号波形
9(0 t _____ 1 。比「
解调原理
2PSK信号的解调方法是相干解调法。由于PSK信号本身就是利用相位传递信息的,所以在接收端必须利用信号的相位信息来解调信号。下图2-3中给出了一种2PSK信号相干接收设备的原理框图。图中经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1 ,负抽样值判为0.
2PSK信号相干解调各点时间波形如图3所示.当恢复的相干载波产生180。
倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号全部出错•
1 1 1 O Q I Q O
/YWW\ ’ ■ - /V\_________________ _
「\AAAZ
£I______ □□___________ Q
图3 2PSK信号相干解调各点时间波形
这种现象通常称为"倒n"现象•由于在2PSK信号的载波恢复过程中存在着180。的相位模糊,所以2PSK信号的相干解调存在随机的"倒n"现象,从而使得2PSK方式在实际中很少采用.
三仿真方真
四程序源代码
clear all;
close all;
clc;
max = 15;
s=randint(1,max);%长度为max的随机二进制序列
Si nput=[];
for n=1:le ngth(s);
if s(n)==0;
A=zeros(1,2000);
else s(n)==1;
A=o nes(1,2000);
end
Si nput=[S in put A];
end
figure(1);
subplot(211);
plot(Si nput);
grid on
axis([0 2000*length(s) -2 2]);
title('输入信号波形');
Sbia nma=e ncode (s,7,4,'hammi ng');% 汉明码编码后序列
a仁[];
b1=[];
f=1000;
t=0:2*pi/1999:2*pi;
for n=1:le ngth(Sbia nm a);
if Sbia nma(n)==0;
B=zeros(1,2000);% 每个值2000 个点
else Sbia nma(n)==1;
B=o nes(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(al);
grid on;
axis([0 2000*le ngth(Sbia nma) -2 2]);title(' 编码后二进制信号序列'); a2=[];
b2=[];
for n = 1:le ngth(Sbia nm a);
if Sbia nma(n) == 0;
C = ones(1,2000);% 每个值2000 点
d = cos(2*pi*f*t);% 载波信号
else Sbia nma(n) == 1;
C = on es(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) 调制
figure(3);
subplot(211);
plot(tiaoz);
grid on;
axis([0 2000*le ngth(Sbia nma) -2 2]);
title('2psk已调制信号');
figure(2);
subplot(212);
plot(abs(fft(a1)));
axis([0 2000*le ngth(Sbia nma) 0 400]);
title('编码后二进制信号序列频谱');
figure(3);