本文主要是介绍课程学习——2PSK,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.调制:
2PSK是指在二进制中,正弦载波的相位随着二进制数字基带信号离散变化而产生的信号。其中已调载波可以用“0”和“兀”来表示二进制基带信号的“0”和“1”。
如果源信号不是双极性不归零的话,则要对其转成双极性不归零码以后与本地载波相乘即可调制成2PSK信号。
相位键控选择法是通过电子开关来实现的,当双极性不归零码通过电子开关时,遇到低电平就以180度相移的本地载波相乘输出,遇到高电平,电子开关则连通没相移的本地载波上然后输出。
2.解调:
解调通常采用的是相干解调法,整个过程需要用到与接收的2PSK信号同频同相的相干载波相乘,然后通过低通滤波器,在进行抽样判决恢复数据。
实验结果:
实验1分析:
调制:
首先由matlab产生随机的二值信号,因为其2PSK的双极性不归零码,所以要将其转换为双机型的基带信号。
接下来对双极性信号进行调制,然后对调制后的信号进行加噪,最后对加噪后的信号与本地载波进行相乘,上面整个过程成串到一起就是调制的过程。
解调:
首先对于上面生成的信号采用低通滤波器进行滤波,接下来对其采用抽样判决的方法,最终生成的信号就是恢复出来的原信号,上面整个过程串到一起就是解调的过程。
相干解调是指利用乘法器,输入一路与载频相干(同频同相)的参考信号与载频相乘。
抽样判决:在不同的时刻的一些离散的值,但是,由于在信号的传输过程中有各种干扰(噪声和码间串扰),不同时刻的值跟原先实际的不一定相同,比如在第一个时刻抽样得到的是0.9(这样就进行所谓的“判决”,可以发现此时的值很接近1,因此,此时的信号的值就当成1,从而得到1,同样在其它的时候得到不同的抽样值根据情况判断此处原来的值到底是0还是1),利用这种方式就可以将原来的基带信号恢复或者再生。这就是所谓的“抽样判决器”。
实验代码:
i=10;%基带信号码元数
j=5000;
t=linspace(0,5,j);%0-5之间产生5000个点行矢量,即将[0,5]分成5000份
fc=5;%载波频率
fm=i/5;%码元速率
B=2*fm;%信号带宽%产生基带信号
a=round(rand(1,i));%随机序列,基带信号
%figure(3);stem(a);
st1=t;
for n=1:10if a(n)<1for m=j/i*(n-1)+1:j/i*nst1(m)=0;endelsefor m=j/i*(n-1)+1:j/i*nst1(m)=1;endend
end
figure(1);
subplot(411);
plot(t,st1);
title('基带信号st1');
axis([0,5,-1,2]);%基带信号求反
%由于PSK中的是双极性信号,因此对上面所求单极性信号取反来与之一起构成双极性码
st2=t;
for k=1:jif st1(k)>=1st2(k)=0;elsest2(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-1if psk(1,m*500+250)<0for j=m*500+1:(m+1)*500psk(1,j)=0;endelsefor j=m*500+1:(m+1)*500psk(1,j)=1;endend
end
subplot(515);
plot(t,psk);
axis([0,5,-1,2]);
title('抽样判决后波形');
少年不被楼层误,余生不羁尽自由。
加油,加油!
这篇关于课程学习——2PSK的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!