1、基于matlab的2PSK的系统仿真基于matlab的2PSK的系统仿真 摘要:Simulink是Mathworks公司推出的基于Matlab平台的著名仿真环境Simulin作为一种专业和功能强大且操作简单的仿真工具,目前已被越来越多的工程技术人员所青睐,它搭建积木式的建模仿真方式既简单又直观,而且已经在各个领域得到了广泛的应用。本次课程设计是基于MATLAB的2PSK和2DPSK仿真,通过系统分析,步骤来完成本次设计任务。通过课程设计从理论学习的轨道逐步引向实际应用,把理论上熟悉的定性分析、定量计算逐步和工程估算、实验调整等手段结合起来,掌握工程设计的步骤和方法,了解科学实验的程序和实施方法
2、,为以后毕业设计和从事信息处理技术的实际工作打下基础。关键词:MATLAB;2PSK,2DPSK;仿真1.二进制相移键控设计流程图如图2-1所示。图 2-1 2PSK调制解调框图1.1 PSK调制原理在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号。2PSK信号调制有两种方法,即模拟调制法和键控法。通常用已调信号载波的 0和 180分别表示二进制数字基带信号的 1 和 0,模拟调制法用两个反相的载波信号进行调制。2PSK以载波的相位变化作为参考基准的,当基带信号为0时相位相对于初始相位为0,当基带信号为1时相对于初始相位为180。键控法,
3、是用载波的相位来携带二进制信息的调制方式。通常用0和180来分别代表0和1。其时域表达式为:其中,2PSK的调制中an必须为双极性码。本次设计中采用模拟调制法。两种方法原理图分别如图2-2和图2-3所示。图 2-2 模拟调制法原理图图 2-3 键控法原理图2PSK信号的时间波形1.2 PSK解调原理由于2PSK的幅度是恒定的,必须进行相干解调。经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1,负抽样值判为0。2PSK信号的相干解调原理图如图2-4所示,各点的波形如图2-5所示。由于2PSK信号的载波回复过程中存在
4、着180的相位模糊,即恢复的本地载波与所需相干载波可能相同,也可能相反,这种相位关系的不确定性将会造成解调出的数字基带信号与发送的基带信号正好相反,即“1”变成“0”吗“0”变成“1”,判决器输出数字信号全部出错。这种现象称为2PSK方式的“倒”现象或“反相工作”。但在本次仿真中是直接给其同频同相的载波信号,所以不存在此问题。图 2-4 2PSK的相干解调原理图图 2-5 相干解调中各点波形图图中,假设相干载波的基准相位与2PSK信号的基准一致(通常默认为0相位)。但是由于2PSK信号的载波回复过程中存在着180的相位模糊,即恢复的本地载波与所需相干载波可能相同,也可能相反,这种相位关系的不确
5、定性将会造成解调出的数字基带信号与发送的基带信号正好相反,即“1”变成“0”吗“0”变成“1”,判决器输出数字信号全部出错。这种现象称为2PSK方式的“倒”现象或“反相工作”。 2PSK信号在一个码元的持续时间Ts内可以表示为 u1T(t) 发送“1”时 ST(t)= uoT(t)=- u1T(t) 发送“0”时期中 Acosct 0 t 1)的条件下,上式可近似为 Pee-r/22.基于matlab的2PSK的系统仿真通过编写M文件程序:2PSK调制解调程序及注释clear allclose alli=10;j=5000;fc=4; %载波频率fm=i/5; %码元速率B=2*fm;t=li
6、nspace(0,5,j);a=round(rand(1,i); %随机序列,基带信号figure(3);stem(a);st1=t;for n=1:10 if a(n)=1; st2(k)=0; else st2(k)=1; endend;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
7、);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:
8、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 endendsubplot(515);plot(t,psk);axis(0,5,-1,2);title(抽样判决后波形)2DPSK调制解调程序及注释clear allclose alli=10;j=5000;fc=4; %载波频率fm=i/5; %码元速率B=2*fm;t=linspace(0,5,j);a=round(rand(1,i);figure(4);stem(
9、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); endendst1=t;for n=1:10 if b(n)=1; st2(k)=0; else st2(k)=1; endend;subplot(324);plot(t,st2);title(相对码反码st2);axis(0,5,-1,2);s1=sin(2*pi*fc*t);subplot(325);plot(s1);title(载波信号s1);s2=sin(2*pi*fc*t+pi);subplot(326);plot
10、(s2);title(载波信号s2);d1=st1.*s1;d2=st2.*s2;figure(2);subplot(411);plot(t,d1);title(st1*s1);subplot(412);plot(t,d2);title(st2*s2);e_dpsk=d1+d2;subplot(413);plot(t,e_dpsk);title(调制后波形);noise=rand(1,j);dpsk=e_dpsk+noise; %加入噪声subplot(414);plot(t,dpsk);title(加噪声后信号);dpsk=dpsk.*s1; %与载波s1相乘figure(3);subplo
11、t(411);plot(t,dpsk);title(与载波相乘后波形);f,af=T2F(t,dpsk); %通过低通滤波器t,dpsk=lpf(f,af,B);subplot(412);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,j)=1; end endendsubpl
12、ot(413);plot(t,dpsk);axis(0,5,-1,2);title(抽样判决后波形)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; endendst=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 endendsubplot(414);plot(t,st);axis(0,5,-1,2);title
13、(码反变换后波形);%利用FFT计算信号的频谱并与信号的真实频谱的抽样比较。%脚本文件T2F.m定义了函数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 signal vectors,the length of time must greater%than 2%Output is the frequency and the signal spe
14、ctrumdt = t(2)-t(1);T=t(end);df = 1/T;N = length(st);f=-N/2*df:df:N/2*df-df; sf = fft(st);sf = T/N*fftshift(s);用到的低通滤波器函数function t,st=lpf(f,sf,B)%This function filter an input data using a lowpass filter%Inputs: f: frequency samples% sf: input data spectrum samples% B: lowpasss bandwidth with a rec
15、tangle lowpass%Outputs: t: time samples% st: output datas time samplesdf = 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);用到的反傅立叶函数%脚本文件F2T.m定义了函数F2T,计算信号的反傅立叶变换。function t,st=F2T(f,sf)%This fu
16、nction calculate the time signal using ifft function for the input%signals spectrum df = f(2)-f(1);Fmx = ( f(end)-f(1) +df);dt = 1/Fmx;N = length(sf);T = dt*N;%t=-T/2:dt:T/2-dt;t = 0:dt:T-dt;sff = fftshift(sf);st = Fmx*ifft(sff);产生随机信号,按流程图2-1所示顺序对每一模块编程后。程序中注有需注意语句及解释。运行程序,实现2PSK的调制与解调过程。本次设计采用模拟调制法和相干解调法。参考文献1 李白萍,吴冬梅.通信原理与技术M.北京:人民邮电出版社,20032 樊昌信,曹丽娜.通信原理M.北京:国防工业出版社,20013 曹志刚,钱亚生.现代通信原理M.北京:清华大学出版社,19924 李明明,李白萍.电子信息类专业MATLAB实验教程M.北京:北京大学出版社,20115 刘学勇.详解MATLAB/Simulink通信系统建模与仿真M.北京:电子工业出版社,2011
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1