2DPSK调制与解调系统的仿真.docx
- 文档编号:9208274
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:29
- 大小:362.51KB
2DPSK调制与解调系统的仿真.docx
《2DPSK调制与解调系统的仿真.docx》由会员分享,可在线阅读,更多相关《2DPSK调制与解调系统的仿真.docx(29页珍藏版)》请在冰豆网上搜索。
2DPSK调制与解调系统的仿真
2DPSK调制与解调系统的仿真
摘要:
二进制差分相移键控简称二进制相对调相,记作2DPSK。
它是数据通信中最长用的一种调制方式,这种方式的优点最简单,易于实现。
与2PSK的波形不同,2DPSK波形的同一相位并不对应相同的数字信号符号,而前后码元的相对相位财位以确定信息符号。
为了使数字信号在带通信道中传输,必须用数字基带信号对载波进行调制,以是信号与信道特性相匹配。
调制解调技术是实现现代通信的重要手段,研究数字通信调制解调理论,提供有效的调制方式,有着重要的意义。
MATLAB中得通信工具箱可以用来进行通信领域的研究,开发,系统设计和仿真。
关键词:
MATLABSimulink2DPSK调制,解调。
1.设计原理
1.12DPSK信号原理
2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。
现假设用Φ表示本码元初相与前一码元初相之差,并规定:
Φ=0表示0码,Φ=π表示1码。
则数字信息序列与2DPSK信号的码元相位关系可举例表示如2PSK信号是用载波的不同相位直接去表示相应的数字信号而得出的,在接收端只能采用相干解调,它的时域波形图如图2.1所示。
在这种绝对移相方式中,发送端是采用某一个相位作为基准,所以在系统接收端也必须采用相同的基准相位。
如果基准相位发生变化,则在接收端回复的信号将与发送的数字信息完全相反。
所以在实际过程中一般不采用绝对移相方式,而采用相对移相方式。
定义DF为本码元初相与前一码元初相之差,假设:
DF=0→数字信息“0”;
DF=p→数字信息“1”。
则数字信息序列与2DPSK信号的码元相位关系可举例表示如下:
数字信息:
1011011101
DPSK信号相位:
0ππ0ππ0π00π
或:
π00π00π0ππ0
1.22DPSK信号的调制原理
一般来说,2DPSK信号有两种调试方法,即模拟调制法和键控法。
2DPSK信号的的模拟调制法框图如图2.2.1所示,其中码变换的过程为将输入的单极性不归零码转换为双极性不归零码。
图1模拟调制法
2DPSK信号的的键控调制法框图如图2.2.2所示,其中码变换的过程为将输入的基带信号差分,即变为它的相对码。
选相开关作用为当输入为数字信息“0”时接相位0,当输入数字信息为“1”时接pi。
图2键控法调制原理图
1.32DPSK信号的解调原理
2DPSK信号最常用的解调方法有两种,一种是极性比较和码变换法,另一种是差分相干解调法。
1.3.12DPSK信号解调的极性比较法
1、它的原理是2DPSK信号先经过带通滤波器,去除调制信号频带以外的在信道中混入的噪声,再与本地载波相乘,去掉调制信号中的载波成分,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决的到基带信号的差分码,再经过逆差分器,就得到了基带信号。
它的原理框图如图2.3.1所示。
延迟T
图3极性比较解调原理图
2、误码率计算
这时由抽样判决器输出数字信号(相对码)的误码率为
大信噪比时,即
的情况下,上式可进一步整理为
1.3.22DPSK信号解调的差分相干解调法
差分相干解调的原理是2DPSK信号先经过带通滤波器,去除调制信号频带以外的在信道中混入的噪声,此后该信号分为两路,一路延时一个码元的时间后与另一路的信号相乘,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决,抽样判决器的输出即为原基带信号。
它的原理框图如图2.3.2所示。
图4差分相干解调原理图
此时,系统总的误码率为
2.实现方法
2.1建立模型
2.1.1差分和逆差分变换模型
差分变换模型的功能是将输入的基带信号变为它的差分码。
逆码变换器原理图3.1.1如下:
图5原理图
2.1.2带通滤波器和低通滤波器的模型
带通滤波器模型的作用是只允许通过(fl,fh)范围内的频率分量、但将其他范围的频率分量衰减到极低水平。
低通滤波器模型的作用是只允许通过(0,fh)范围内的频率分量,并且将其他范围的频率分量衰减到极低水平。
在Matlab中带通滤波器和低通滤波器的模型可以用编写程序来模拟。
2.1.3抽样判决器模型
抽样判决器的功能是根据位同步信号和设置的判决电平来还原基带信号。
在Matlab中抽样判决器可以用simulink中的模块来模拟。
它的模型框图如图所示,它的内部结构图如图3.1.3所示。
图6抽样判决器
2.1.4系统结构图
图7系统结构图
2.1.52DPSK调制与解调总原理框图
图82DPSK调制与解调总原理框图
1调制系统设计
1)产生基带信号
本例中使用matlab中的rand函数随机产生10个随机数,并采用就近取整的办法使其值为0、1.此过程产生的码为绝对码。
并且,每个值需要分配一定的长度。
代码如下:
clearall
closeall
i=10;%码元的个数
j=5000;
fc=4;
fm=i/5;
B=2*fm;
t=linspace(0,5,j);%将0-5区间平均分为j份
%%%%%%%%%%%%%产生基带信号%%%%%%%%%%%%%%%%
a=round(rand(1,i));%产生10个随机码,记为a
st1=t;
forn=1:
10
ifa(n)<1;
form=j/i*(n-1)+1:
j/i*n%j/i为每个码元的
st1(m)=0;
end
else
form=j/i*(n-1)+1:
j/i*n
st1(m)=1;
end
end
end
2)相对码产生
根据相对码的原理,源码中1的值对应相位改变π,源码中0的值对应相位不改变。
将π变为1,0仍为0,则形成相对码。
代码如下
b=zeros(1,i);
b
(1)=a
(1);
forn=2:
10
ifa(n)>=1;
ifb(n-1)>=1
b(n)=0;
else
b(n)=1;
end
else
b(n)=b(n-1);
end
end
st1=t;
forn=1:
10
ifb(n)<1;
form=j/i*(n-1)+1:
j/i*n
st1(m)=0;
end
else
form=j/i*(n-1)+1:
j/i*n
st1(m)=1;
end
end
end
subplot(412);
plot(t,st1);
title('相对码');
axis([0,5,-1,2]);
st2=t;
fork=1:
j;
ifst1(k)>=1;
st2(k)=0;
else
st2(k)=1;
end
end;
st1即为相对码,st2为相对码的反码,在调制中使用。
3)产生载波信号
代码:
s1=sin(2*pi*fc*t);
4)调制
按图一中所示,相对码及其反码分别和载波相乘再相加,即得到调制信号。
d1=st1.*s1;
d2=st2.*(-s1);%相移180
figure
(2);
subplot(4,1,1);
plot(t,d1);
title('st1*s1');
subplot(4,1,2);
plot(t,d2);
title('st2*s2');
e_dpsk=d1+d2;
图9码元产生
图10调制信号
2传输系统设计
传输系统设计比较简答,只需加入信道噪声即可。
代码:
noise=rand(1,j);
dpsk=e_dpsk+0.5*noise;%加入噪声
效果如图6所示
3解调系统设计
解调系统中,极性比较法和差分相干法有很多部分相同,可以用相同设计。
相同部分设计。
1)带通滤波器
在仿真过程省略。
2)乘法器
由于是仿真,可直接相乘。
3)低通滤波器
设计为只允许基频信号通过。
代码:
[f,af]=T2F(t,dpsk);
[t,dpsk]=lpf(f,af,B);
所用函数代码:
T2F子函数
function[f,sf]=T2F(t,st)
%ThisisafunctionusingtheFFTfunctiontocalculateasignal'sFourier
%Translation
%Inputisthetimeandthesignalvectors,thelengthoftimemustgreater
%than2
%Outputisthefrequencyandthesignalspectrum
dt=t
(2)-t
(1);
T=t(end);
df=1/T;
N=length(st);
Lpf子函数
f=-N/2*df:
df:
N/2*df-df;
sf=fft(st);
sf=T/N*fftshift(sf);
function[t,st]=lpf(f,sf,B)
%Thisfunctionfilteraninputdatausingalowpassfilter
%Inputs:
f:
frequencysamples
%sf:
inputdataspectrumsamples
%B:
lowpass'sbandwidthwitharectanglelowpass
%Outputs:
t:
timesamples
%st:
outputdata'stimesamples
df=f
(2)-f
(1);
T=1/df;
hf=zeros(1,length(f));
bf=[-floor(B/df):
floor(B/df)]+floor(length(f)/2);
hf(bf)=1;
yf=hf.*sf;
[t,st]=F2T(f,yf);
st=real(st);
4)抽样判决器
抽样判决器就是过零检测。
代码:
st=zeros(1,i);
form=0:
i-1;
ifdpsk(1,m*500+250)<0;
st(m+1)=0;
forj=m*500+1:
(m+1)*500;
dpsk(1,j)=0;
end
else
forj=m*500+1:
(m+1)*500;
st(m+1)=1;
dpsk(1,j)=1;
end
end
end
两种解调方式不同之处在于延迟单元和码(反)变换器。
5)延迟单元
延迟一个码元长度,第一个码元长度的内容根据编码规则,抽样判决。
代码:
ifdpsk(65)<0
dpsk_delay(1:
j/i)=dpsk(1:
j/i);
else
dpsk_delay(1:
j/i)=-dpsk(1:
j/i)
end
dpsk_delay(j/i+1:
j)=dpsk(1:
j-j/i);
6)码(反)变换器
将相对码变换为绝对码,与编码器正好相反。
代码:
dt=zeros(1,i);
dt
(1)=st
(1);
forn=2:
10;
if(st(n)-st(n-1))<=0&&(st(n)-st(n-1))>-1;
dt(n)=0;
else
dt(n)=1;
end
end
st=t;
forn=1:
10
ifdt(n)<1;
form=j/i*(n-1)+1:
j/i*n
st(m)=0;
end
else
form=j/i*(n-1)+1:
j/i*n
st(m)=1;
end
end
end
4极性比较法解调结果结果
如图,可见解调结果与源码完全一致。
图11极性比较法解调结果
图12源码
5差分相干法解调结果
如图,解调结果与源码完全一致。
图13差分相干法解调结果
图14源码
程序源码
1极性比较法DPSK.m
clearall
closeall
i=10;%码元的个数
j=5000;
fc=4;
fm=i/5;
B=2*fm;
t=linspace(0,5,j);%将0-5区间平均分为j份
%%%%%%%%%%%%%产生基带信号%%%%%%%%%%%%%%%%
a=round(rand(1,i));%产生10个随机码,记为a
st1=t;
forn=1:
10
ifa(n)<1;
form=j/i*(n-1)+1:
j/i*n%j/i为每个码元的
st1(m)=0;
end
else
form=j/i*(n-1)+1:
j/i*n
st1(m)=1;
end
end
end
figure
(1);
subplot(411);
plot(t,st1);
title('绝对码');
axis([0,5,-1,2]);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%差分变换
b=zeros(1,i);
b
(1)=a
(1);
forn=2:
10
ifa(n)>=1;
ifb(n-1)>=1
b(n)=0;
else
b(n)=1;
end
else
b(n)=b(n-1);
end
end
st1=t;
forn=1:
10
ifb(n)<1;
form=j/i*(n-1)+1:
j/i*n
st1(m)=0;
end
else
form=j/i*(n-1)+1:
j/i*n
st1(m)=1;
end
end
end
subplot(412);
plot(t,st1);
title('相对码');
axis([0,5,-1,2]);
st2=t;
fork=1:
j;
ifst1(k)>=1;
st2(k)=0;
else
st2(k)=1;
end
end;
subplot(413)
plot(t,st2)
title('相对码的反码')
axis([05-12])
%%%%%%%%%%%%载波信号%%%%%%%%%%%%%%%%%
s1=sin(2*pi*fc*t);
subplot(414);
plot(s1);
title('载波信号');
%%%%%%%%%%%%%%调制%%%%%%%%%%%%%%%%%%%%%%
d1=st1.*s1;
d2=st2.*(-s1);%相移180
figure
(2);
subplot(4,1,1);
plot(t,d1);
title('st1*s1');
subplot(4,1,2);
plot(t,d2);
title('st2*s2');
e_dpsk=d1+d2;
subplot(4,1,3);
plot(t,e_dpsk);
title('调制后波形');
noise=rand(1,j);
dpsk=e_dpsk+0.5*noise;%加入噪声
subplot(4,1,4);
plot(t,dpsk);
title('加噪声信号');
%%%%%%%%%%%%%与载波相乘%%%%%%%%%%%%%%%%%%%%%
dpsk=dpsk.*sin(2*pi*fc*t);%与载波相乘
figure
subplot(4,1,1);
plot(t,dpsk);
title('与载波相乘后波');
%%%%%%%%%%%%%低通滤波%%%%%%%%%%%%%%%%%%%%%%%%
[f,af]=T2F(t,dpsk);%通过低通滤波器
[t,dpsk]=lpf(f,af,B);
subplot(4,1,2);
plot(t,dpsk);
title('通过低通滤波器波形');
%%%%%%%%%%%%%%%抽样判决%%%%%%%%%%%%%%%%%%%%
st=zeros(1,i);
form=0:
i-1;
ifdpsk(1,m*500+250)<0;
st(m+1)=0;
forj=m*500+1:
(m+1)*500;
dpsk(1,j)=0;
end
else
forj=m*500+1:
(m+1)*500;
st(m+1)=1;
dpsk(1,j)=1;
end
end
end
subplot(4,1,3);
plot(t,dpsk);
axis([0,5,-1,2]);
title('抽样判决后波形')
%%%%%%%%%%%%%%码反变换%%%%%%%%%%%%%%%%%%
dt=zeros(1,i);
dt
(1)=st
(1);
forn=2:
10;
if(st(n)-st(n-1))<=0&&(st(n)-st(n-1))>-1;
dt(n)=0;
else
dt(n)=1;
end
end
st=t;
forn=1:
10
ifdt(n)<1;
form=j/i*(n-1)+1:
j/i*n
st(m)=0;
end
else
form=j/i*(n-1)+1:
j/i*n
st(m)=1;
end
end
end
subplot(4,1,4);
plot(t,st);
title('码反变换后波形');
axis([0,5,-1,2]);
2差分相干法DPSK1.m
clearall
closeall
i=10;%码元的个数
j=5000;
fc=4;
fm=i/5;
B=2*fm;
t=linspace(0,5,j);%将0-5区间平均分为j份
%%%%%%%%%%%%%产生基带信号%%%%%%%%%%%%%%%%
a=round(rand(1,i));%产生10个随机码,记为a
st1=t;
forn=1:
10
ifa(n)<1;
form=j/i*(n-1)+1:
j/i*n%j/i为每个码元的
st1(m)=0;
end
else
form=j/i*(n-1)+1:
j/i*n
st1(m)=1;
end
end
end
figure
(1);
subplot(411);
plot(t,st1);
title('绝对码');
axis([0,5,-1,2]);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%差分变换
b=zeros(1,i);
b
(1)=a
(1);
forn=2:
10
ifa(n)>=1;
ifb(n-1)>=1
b(n)=0;
else
b(n)=1;
end
else
b(n)=b(n-1);
end
end
st1=t;
forn=1:
10
ifb(n)<1;
form=j/i*(n-1)+1:
j/i*n
st1(m)=0;
end
else
form=j/i*(n-1)+1:
j/i*n
st1(m)=1;
end
end
end
subplot(412);
plot(t,st1);
title('相对码');
axis([0,5,-1,2]);
st2=t;
fork=1:
j;
ifst1(k)>=1;
st2(k)=0;
else
st2(k)=1;
end
end;
subplot(413)
plot(t,st2)
title('相对码的反码')
axis([05-12])
%%%%%%%%%%%%载波信号%%%%%%%%%%%%%%%%%
s1=sin(2*pi*fc*t);
subplot(414);
plot(s1);
title('载波信号');
%%%%%%%%%%%%%%调制%%%%%%%%%%%%%%%%%%%%%%
d1=st1.*s1;
d2=st2.*(-s1);%相移180
figure
(2);
subplot(4,1,1);
plot(t,d1);
title('st1*s1');
subplot(4,1,2);
plot(t,d2);
title('st2*s2');
e_dpsk=d1+d2;
subplot(4,1,3);
plot(t,e_dpsk);
title('调制后波形');
noise=rand(1,j);
dpsk=e_dpsk+0.5*noise;%加入噪声
subplot(4,1,4);
plot(t,dpsk);
title('加噪声信号');
%%%%%%%%%%%%延迟单元%%%%%%%%%%%%%%%%%%%%
ifdpsk(65)<0
dpsk_delay(1:
j/i)=dpsk(1:
j/i);
else
dpsk_delay(1:
j/i)=-dpsk(1:
j/i)
end
dpsk_delay(j/i+1:
j)=dpsk(1:
j-j/i);
%%%%%%%%%%%%与未延迟信号相乘%%%%%%%%%%%%%%
dpsk=dpsk.*dpsk_delay;
figure
subplot(3,1,1)
plot(t,dpsk);
title('延迟相乘后波形');
%%%%%%%%%%%%%低通滤波%%%%%%%%%%%%%%%%%%%%%%%%
[f,af]=T2F(t,dpsk);%通过低通滤波器
[t,dpsk]=lpf(f,af,B);
subplot(3,1,2);
plot(t,dpsk);
title('通过低通滤波器波形');
%%%%%%%%%%%%%%%抽样判决%%%%%%%%%%%%%%%%%%%%
st=zeros(1,i);
form=0:
i-1;
ifdpsk(1,m*500+250)<0;
st(m+1)=0;
forj=m*500+1:
(m+1)*500;
dpsk(1,j)=1;
end
else
forj=m*500+1:
(m+1)*500;
st(m+1)=1;
dpsk(1,j)=0;
end
end
end
subplot(3,1,3);
plot(t,dpsk);
axis([0,5,-1,2]);
title('抽样判决后波形')
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DPSK 调制 解调 系统 仿真