for j=m*500+1:(m+1)*500;
at(1,j)=0;
end
else
for j=m*500+1:(m+1)*500;
at(1,j)=1;
end
end end; subplot(313); plot(t,at); axis([0,5,-1,2]); title('抽样判决后波形')
五、实验报告要求:
1.根据实验仿真结果,画出相应波形图 2. 对仿真结果加以分析说明
实验四 2PSK数字调制与解调
一、实验目的:
1. 用MATLAB仿真技术实现数字调制与解调、基带数字调制与解调。 2. 掌握用键控法产生2PSK信号的方法;
3. 了解2PSK信号的频谱与数字基带信号频谱之间的关系。
二、实验仪器:
安装Matlab软件的PC机一台
三、实验原理:
本次设计所用流程图如图2-17所示。
s(t)乘法器++乘法器低通滤波器抽样判决器 cosctn(t) cosct
图 2-17 2PSK调制解调框图
1. PSK调制原理
在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号。2PSK信号调制有两种方法,即模拟调制法和键控法。通常用已调信号载波的 0°和 180°分别表示二进制数字基带信号的 1 和 0,模拟调制法用两个反相的载波信号进行调制。2PSK以载波的相位变化作为参考基准的,当基带信号为0时相位相对于初始相位为0°,当基带信号为1时相对于初始相位为180°。
键控法,是用载波的相位来携带二进制信息的调制方式。通常用0°和180°来分别代表0和1。其时域表达式为:
e2PSKang(tnTs)cosct
n其中,2PSK的调制中an必须为双极性码。本次设计中采用模拟调制法。两种方法原理图分别如图2-18和图2-19所示。
图 2-18 模拟调制法原理图
图 2-19 键控法原理图
2. PSK解调原理
由于2PSK的幅度是恒定的,必须进行相干解调。经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1,负抽样值判为0。2PSK信号的相干解调原理图如图2-20所示,各点的波形如图2-21所示。
由于2PSK信号的载波回复过程中存在着180°的相位模糊,即恢复的本地载波与所需相干载波可能相同,也可能相反,这种相位关系的不确定性将会造成解调出的数字基带信号与发送的基带信号正好相反,即“1”变成“0”吗“0”变成“1”,判决器输出数字信号全部出错。这种现象称为2PSK方式的“倒π”现象或“反相工作”。但在本次仿真中是直接给其同频同相的载波信号,所以不存在此问题。
e2PSK(t)带通滤波器a相乘器c低通滤波器d抽样判决器定时脉冲e输出cosctb
图 2-20 2PSK的相干解调原理图 10011atTsbtctdte10011t
图 2-21 相干解调中各点波形图
四、实验步骤:
通过编写M文件程序(见附录),产生随机信号,按流程图2-17所示顺序对每一模块编程后。程序中注有需注意语句及解释。运行程序,实现2PSK的调制与解调过程。
2PSK调制解调程序及注释 clear all close all i=10; j=5000; fc=4;%载波频率 fm=i/5;%码元速率 B=2*fm; t=linspace(0,5,j); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%产生基带信号 a=round(rand(1,i));%随机序列,基带信号 figure(3); stem(a); st1=t; for n=1:10
if a(n)<1;
for m=j/i*(n-1)+1:j/i*n
st1(m)=0;
end
else
for m=j/i*(n-1)+1:j/i*n
st1(m)=1;
end
end end figure(1); subplot(411); plot(t,st1); title('基带信号st1'); axis([0,5,-1,2]); %%%%%%%%%%%&&&&&&%%%%%%%%%%%%%%%%%基带信号求反
%由于PSK中的是双极性信号,因此对上面所求单极性信号取反来与之一起构成双极性码 st2=t;
for k=1:j;
if st1(k)>=1;
st2(k)=0;
else
st2(k)=1;
end end; subplot(412); plot(t,st2); title('基带信号反码st2'); axis([0,5,-1,2]); st3=st1-st2; subplot(413); plot(t,st3); title('双极性基带信号st3'); axis([0,5,-2,2]); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%载波信号 s1=sin(2*pi*fc*t); subplot(414); plot(s1); title('载波信号s1'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调制 e_psk=st3.*s1; figure(2); subplot(511); plot(t,e_psk); title('e_2psk'); noise=rand(1,j); psk=e_psk+noise;%加入噪声 subplot(512); plot(t,psk); title('加噪后波形'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%相干解调 psk=psk.*s1;%与载波相乘 subplot(513); plot(t,psk); title('与载波s1相乘后波形'); [f,af] = T2F(t,psk);%%%%%%%%%%%通过低通滤波器 [t,psk] = lpf(f,af,B); subplot(514); plot(t,psk); title('低通滤波后波形'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%抽样判决 for m=0:i-1;
if psk(1,m*500+250)<0;
for j=m*500+1:(m+1)*500;
psk(1,j)=0;
end
else
for j=m*500+1:(m+1)*500;
psk(1,j)=1;
end
end end subplot(515); plot(t,psk); axis([0,5,-1,2]); title('抽样判决后波形')
五、实验报告要求:
1.根据实验仿真结果,画出相应波形图 2. 对仿真结果加以分析说明
附录
实验
二、
三、四
用到的傅立叶T2F函数
%利用FFT计算信号的频谱并与信号的真实频谱的抽样比较。 %脚本文件T2F.m定义了函数T2F,计算信号的傅立叶变换。 function [f,sf]= T2F(t,st) %This is a function using the FFT function to calculate a signal's Fourier %Translation
%Input is the time and the signal vectors,the length of time must greater %than 2
%Output is the frequency and the signal spectrum dt = t(2)-t(1); T=t(end); df = 1/T; N = length(st); f=-N/2*df:df:N/2*df-df;
sf &#