《2022年2022年基于MATLAB的DPSK信号仿真》由会员分享,可在线阅读,更多相关《2022年2022年基于MATLAB的DPSK信号仿真(19页珍藏版)》请在金锄头文库上搜索。
1、基于 MATLAB 的 2DPSK 信号的调制与解调仿真西安电子科技大学张* 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 1 目录一 题目要求二 关于 2DPSK 1 基础知识 _2 2 2DPSK的调制原理 _2 3 2DPSK的解调原理 _3 三 调制系统仿真1 调制系统设计_4 1) 产生基带信号 _ 4 2) 产生相对码 _5 3) 产生载波信号 _6 4) 调制 _6 2 传输系统设计_7 3 解调系统设计_7
2、1) 带通滤波器 _7 2) 乘法器 _8 3) 低通滤波器 _8 4) 抽样判决器 _9 5) 延迟单元 _9 6) 码(反)变换器_9 4 极性比较法结果_10 5 差分相干法结果_11 四完整程序源码1 极性比较法程序DPSK.m_12 2 差分相干法DPSK1.m_15 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 2 一 题目要求产生 2DPSK 信号,画出时域波形和频谱,分别用极性比较法和差分相干法解调。二 关于
3、 2DPSK 1 基础知识2DPSK 即二进制差分相移键控(2DPSK) 二进制差分相移键控常简称为二相相对调相,记作 2DPSK 。它不是利用载波相位的绝对数值传送数字信息,而是用前后码元的相对载波相位值传送数字信息。所谓相对载波相位是指本码元初相与前一码元初相之差。数字信息“ 0” ;数字信息“ 1” 。则数字信息序列与2DPSK信号的码元相位关系可举例表示如下:数字信息:1 0 1 1 0 1 1 1 0 1 DPSK信号相位:或:0 2 2DPSK 的调制原理一般来说, 2DPSK信号有两种调试方法,即模拟调制法和键控法。2DPSK信号的的模拟调制法框图如图1 所示,其中码变换的过程为
4、将输入的单极性不归零码转换为双极性不归零码。图 1 模拟调制法2DPSK信号的的键控调制法框图如图2 所示,其中码变换的过程为将输入的基带信号差分,即变为它的相对码。选相开关作用为当输入为数字信息“0” 时接相位0,当输入数字信息为“ 1”时接 pi。码变换相乘载波s(t) eo(t) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 3 图 2 键控调制3 2DPSK 的解调原理2DPSK 信号最常用的解调方法有两种,一种是
5、极性比较法 ,另一种是 差分相干法 。差分相干法:2DPSK 信号先经过带通滤波器,去除调制信号频带以外的在信道中混入的噪声,此后该信号分为两路,一路延时一个码元的时间后与另一路的信号相乘,再经过低通滤波器去除高频成分,得到包含基带信号的低频信号,将其送入抽样判决器中进行抽样判决,抽样判决器的输出即为原基带信号。它的原理框图如图图 3 差分相干法法极性比较法: 2DPSK 信号经过带通滤波器,滤掉信道中产生的噪声,再与本地载波相乘,经过低通滤波器,得到包含基带信号的低频信号,将其送入抽样判决器得到相对码,再经过码(反)变换器得到基带信号。原理图如下所示2DPSK 码(反)变换器延迟 T 相乘器
6、低通滤波器抽样判决器带通滤波器名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 4 图 4 极性比较法法三 仿真程序设计1 调制系统设计1)产生基带信号本例中使用matlab 中的 rand 函数随机产生10 个随机数,并采用就近取整的办法使其值为0、1.此过程产生的码为绝对码。并且,每个值需要分配一定的长度。代码如下:clear all close all i=10; %码元的个数j=5000; fc=4; fm=i/5; B
7、=2*fm; t=linspace(0,5,j); % 将0-5 区间平均分为 j 份% 产生基带信号 % a =round(rand(1,i); %产生10个随机码,记为 a st1=t; for n=1:10 if a(n)=1; if b(n-1)=1 b(n)=0; else b(n)=1; end else b(n)=b(n-1); end end st1=t; for n=1:10 if b(n)=1; st2(k)=0; else st2(k)=1; end 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心
8、整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 6 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; 00
9、.511.522.533.544.55-1012绝 对 码00.511.522.533.544.55-1012相 对 码00.511.522.533.544.55-1012相 对 码 的 反 码0500100015002000250030003500400045005000-101载 波 信 号名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - 7 图 5 码元产生图 6 调制信号2 传输系统设计传输系统设计比较简答,只需加入信道
10、噪声即可。代码:noise=rand(1,j); dpsk=e_dpsk+0.5*noise;%加入噪声效果如图 6 所示3 解调系统设计解调系统中,极性比较法和差分相干法有很多部分相同,可以用相同设计。相同部分设计。1)带通滤波器在仿真过程省略。00.511.522.533.544.55-101st1*s100.511.522.533.544.55-101st2*s200.511.522.533.544.55-101调 制 后 波 形00.511.522.533.544.55-202加 噪 声 信 号名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
11、 - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - 8 2)乘法器由于是仿真,可直接相乘。3)低通滤波器设计为只允许基频信号通过。代码:f,af = T2F(t,dpsk); t,dpsk = lpf(f,af,B); 所用函数代码:T2F子函数function f,sf= T2F(t,st) %This is a function using the FFT function to calculate a signals Fourier %Translation %Input is the time and the s
12、ignal 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); 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) %This function filter an input data using a lowpass
13、 filter %Inputs: f: frequency samples % sf: input data spectrum samples % B: lowpasss bandwidth with a rectangle lowpass %Outputs: t: time samples % st: output datas time samples 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
14、=hf.*sf; t,st=F2T(f,yf); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页 - - - - - - - - - 9 st = real(st); 4)抽样判决器抽样判决器就是过零检测。代码:st=zeros(1,i); for m=0:i-1; if dpsk(1,m*500+250)0; st(m+1)=0; for j=m*500+1:(m+1)*500; dpsk(1,j)=0; end else for j=m*500+1:(m+1
15、)*500; st(m+1)=1; dpsk(1,j)=1; end end end 两种解调方式不同之处在于延迟单元和码(反)变换器。5)延迟单元延迟一个码元长度,第一个码元长度的内容根据编码规则,抽样判决。代码:if dpsk(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); for n=2:10; i
16、f (st(n)-st(n-1)-1; dt(n)=0; else 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 19 页 - - - - - - - - - 10 dt(n)=1; end end st=t; for n=1:10 if dt(n)1; for m=j/i*(n-1)+1:j/i*n st(m)=0; end else for m=j/i*(n-1)+1:j/i*n st(m)=1; end end end 4 极性比较法解调结果结果如图,可见解调结
17、果与源码完全一致。00.511.522.533.544.55-202与 载 波 相 乘 后 波00.511.522.533.544.55-101通 过 低 通 滤 波 器 波 形00.511.522.533.544.55-1012抽 样 判 决 后 波 形00.511.522.533.544.55-1012码 反 变 换 后 波 形图 7 极性比较法解调结果00.511.522.533.544.55-1012绝对码00.511.522.533.544.55-1012相对码名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整
18、理 - - - - - - - 第 11 页,共 19 页 - - - - - - - - - 11 图 7 源码5 差分相干法解调结果如图,解调结果与源码完全一致。00.511.522.533.544.55-505延 迟 相 乘 后 波 形00.511.522.533.544.55-101通 过 低 通 滤 波 器 波 形00.511.522.533.544.55-1012抽 样 判 决 后 波 形图 8 差分相干法解调结果00.511.522.533.544.55-1012绝 对 码00.511.522.533.544.55-1012相 对 码00.511.522.533.544.55-1
19、012相 对 码 的 反 码0500100015002000250030003500400045005000-101载 波 信 号图 9 源码名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 19 页 - - - - - - - - - 12 程序源码1 极性比较法 DPSK.m clear all close all i=10; %码元的个数j=5000; fc=4; fm=i/5; B=2*fm; t=linspace(0,5,j); % 将0-5 区间平均分为 j
20、份% 产生基带信号 % a =round(rand(1,i); %产生 10个随机码,记为 a st1=t; for n=1:10 if a(n)=1; if b(n-1)=1 b(n)=0; else b(n)=1; end 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 19 页 - - - - - - - - - 13 else b(n)=b(n-1); end end st1=t; for n=1:10 if b(n)=1; st2(k)=0; else st2
21、(k)=1; end end; subplot(413) plot(t,st2) title(相对码的反码 ) axis(0 5 -1 2) % 载波信号 % 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); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
22、- - - - - 第 14 页,共 19 页 - - - - - - - - - 14 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
23、); 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); for m=0:i-1; if dpsk(1,m*500+250)0; st(m+1)=0; for j=m*500+1:(m+1)*500; dpsk(1,j)=0; end else for j=m*500+1:(m+1)*500; st(m+1)=1; dpsk(1
24、,j)=1; end end end subplot(4,1,3); plot(t,dpsk); axis(0,5,-1,2); title(抽样判决后波形 ) % 码反变换 % 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 19 页 - - - - - - - - - 15 dt=zeros(1,i); dt(1)=st(1); for n=2:10; if (st(n)-st(n-1)-1; dt(n)=0; else dt(n)=1; end end st=t;
25、 for n=1:10 if dt(n)1; for m=j/i*(n-1)+1:j/i*n st(m)=0; end else for m=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 clear all close all i=10; %码元的个数j=5000; fc=4; fm=i/5; B=2*fm; t=linspace(0,5,j); % 将0-5 区间平均分为 j 份% 产生基带信号 % a =r
26、ound(rand(1,i); %产生 10个随机码,记为 a st1=t; for n=1:10 if a(n)=1; if b(n-1)=1 b(n)=0; else b(n)=1; end else b(n)=b(n-1); end end st1=t; for n=1:10 if b(n)=1; st2(k)=0; else st2(k)=1; end end; subplot(413) plot(t,st2) title(相对码的反码 ) axis(0 5 -1 2) % 载波信号 % s1=sin(2*pi*fc*t); subplot(414); plot(s1); title(
27、载波信号 ); % 调制 % 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(加噪声信号 ); % 延迟
28、单元 % if dpsk(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); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 19 页 - - - - - - - - - 18 % 与未延迟信号相乘 % dpsk=dpsk.*dpsk_delay; figure subplot(3,1,1) plot(
29、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); for m=0:i-1; if dpsk(1,m*500+250)0; st(m+1)=0; for j=m*500+1:(m+1)*500; dpsk(1,j)=1; end else for j=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(抽样判决后波形 ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 19 页 - - - - - - - - -