2PSK数字信号地调制与解调分享版Word格式.docx
《2PSK数字信号地调制与解调分享版Word格式.docx》由会员分享,可在线阅读,更多相关《2PSK数字信号地调制与解调分享版Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。
在2PSK中,通常用初始相位0和π分别表示二进制“1”和“0”。
因此,2PSK信号的时域表达式为
(t)=Acos
t+
)
其中,
表示第n个符号的绝对相位:
=
因此,上式可以改写为
图22PSK信号波形
解调原理
2PSK信号的解调方法是相干解调法。
由于PSK信号本身就是利用相位传递信息的,所以在接收端必须利用信号的相位信息来解调信号。
下图2-3中给出了一种2PSK信号相干接收设备的原理框图。
图中经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。
判决器是按极性来判决的。
即正抽样值判为1,负抽样值判为0.
2PSK信号相干解调各点时间波形如图3所示.当恢复的相干载波产生180°
倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号全部出错.
图32PSK信号相干解调各点时间波形
这种现象通常称为"
倒π"
现象.由于在2PSK信号的载波恢复过程中存在着180°
的相位模糊,所以2PSK信号的相干解调存在随机的"
现象,从而使得2PSK方式在实际中很少采用。
2PSK的基本原理:
在2PSK中,通常用初始相位为0和π表示二进制的“1”和“0”。
因此2PSK的信号的时域表达式为:
e2psk(t)=Acos(ωct+φn)
其中,φn表示第n个符号的绝对相位:
0发送“0”时
φn=
π发送“1”时
因此,上式可改写为
Acosωct概率为P
e2psk(t)=
-Acosωct概率为1-P
图42PSK信号的时间波形
由于表示信号的两种码元的波形相同,记性相反,鼓2PSK信号一般可以表述为一个双极性全占空矩形脉冲序列与一个正弦载波相乘,即
e2psk(t)=s(t)cosωct
其中
s(t)=∑ang(t-nTs)
这里,g(t)是脉宽为Ts的单个矩形脉冲,而an得统计特性为
1概率为P
an=
-1概率为1-P
即发送二进制符号“0”时(an取+1),e2psk(t)取0相位;
发送二进制符号“1”时(an取-1),e2psk(t)取π相位。
2PSK相干解调系统
但是由于2PSK信号的载波回复过程中存在着180°
的相位模糊,即恢复的本地载波与所需相干载波可能相同,也可能相反,这种相位关系的不确定性将会造成解调出的数字基带信号与发送的基带信号正好相反,即“1”变成“0”吗“0”变成“1”,判决器输出数字信号全部出错。
这种现象称为2PSK方式的“倒π”现象或“反相工作”。
图52PSK信号的解调器波形图
2PSK信号在一个码元的持续时间Ts内可以表示为
u1T(t)发送“1”时
ST(t)=
uoT(t)=-u1T(t)发送“0”时
期中Acosωct0<
t<
Ts
u1T(t)=
0其他
设发送端发出的信号如上式所示,则接收端带通滤波器输出波形y(t)为
[a+nc(t)]cosωct-ns(t)sinωct发送“1”时
y(t)=
[-a+nc(t)]cosωct-ns(t)sinωct发送“0”时
y(t)经过想干解调(相乘—低通)后,送入抽样判决器的输入波形为
a+nc(t)发送“1”时
x(t)=
-a+nc(t)发送“0”时
由于nc(t)是均值为0,方差为σ2的高斯噪声,所以x(t)的一维概率密度函数为
f1(x)=exp发送“1”时
f2(x)=exp发送“0”时
由最佳判决门限分析可知,在发送“1”和“0”概率相等时,即P
(1)=P(0)时,最佳门限b*=0.此时,发“1”而错判为“0”的概率为
P(0/1)=P(x≦0)=∫0-∞f1(x)dx=1/2erfc(
式中:
r=a2/2σ2n
同理,发“0而错判为“1”的概率为
P(1/0)=P(x>0)=∫0-∞f0(x)dx=1/2erfc(
2PSK信号的调制器键控法原理方框图如图:
图62PSK信号的调制器原理方框图
说明:
2psk调制器可以采用相乘器,也可以采用相位选择器就模拟调制法而言,与产生2ASK信号的方法比较,只是对s(t)要求不同,因此2PSK信号可以看作是双极性基带信号作用下的DSB调幅信号。
而就键控法来说,用数字基带信号s(t)控制开关电路,选择不同相位的载波输出,这时s(t)为单极性NRZ或双极性NRZ脉冲序列信号均可。
2PSK信号属于DSB信号,它的解调,不再能采用包络检测的方法,只能进行相干解调。
2PSK信号的解调通常采用相干解调法原理框图如图:
图72PSK信号的相干解调原理方框图
图中,假设相干载波的基准相位与2PSK信号的基准一致(通常默认为0相位)。
由于PSK信号的功率谱中五载波分量,所以必须采用相干解调的方式。
在相干解调中,如何得到同频同相的本地载波是个关键问题。
只有对PSK信号进行非线性变换,才能产生载波分量。
2PSK信号经过带通滤波器得到有用信号,经相乘器与本地载波相乘再经过低通滤波器得到低频信号v(t),再经抽样判决得到基带信号。
2PSK相干解调系统性能原理框图如图:
图82PSK相干解调系统性能原理方框图
由最佳判决门限分析可知,在发送“1”符号和发送“0”符号概率相等时,最佳判决门限b*=0。
此时,发“1”而错判为“0”的概率为
同理,发送“0”而错判为“1”的概率为
故2PSK信号相干解调时系统的总误码率为
在大信噪比条件下,上式可近似为
三、实验过程。
根据代码即可实现全部过程,图形如下:
代码如下:
clc;
clearall;
closeall;
max=15;
s=randint(1,max);
%长度为max的随机二进制序列?
Sinput=[];
forn=1:
length(s);
ifs(n)==0;
A=zeros(1,2000);
elses(n)==1;
A=ones(1,2000);
end
Sinput=[SinputA];
end
figure
(1);
subplot(211);
plot(Sinput);
gridon
axis([02000*length(s)-22]);
title('
输入信号波形'
);
Sbianma=encode(s,7,4,'
hamming'
%汉明码编码后序列?
a1=[];
b1=[];
f=1000;
t=0:
2*pi/1999:
2*pi;
length(Sbianma);
ifSbianma(n)==0;
B=zeros(1,2000);
%每个值2000个点?
?
elseSbianma(n)==1;
B=ones(1,2000);
a1=[a1B];
%s(t),码元宽度2000?
c=cos(2*pi*f*t);
%载波信号?
b1=[b1c];
%与s(t)等长的载波信号,变为矩阵形式?
figure
(2);
subplot(211)
plot(a1);
gridon;
axis([02000*length(Sbianma)-22]);
编码后二进制信号序列'
a2=[];
b2=[];
C=ones(1,2000);
%每个值2000点?
d=cos(2*pi*f*t);
C=ones(1,2000);
d=cos(2*pi*f*t+pi);
a2=[a2C];
%s(t),码元宽度2000?
b2=[b2d];
%与s(t)等长的载波信号?
tiaoz=a2.*b2;
%e(t)调制?
figure(3);
plot(tiaoz);
2psk已调制信号'
subplot(212);
plot(abs(fft(a1)));
axis([02000*length(Sbianma)0400]);
编码后二进制信号序列频谱'
plot(abs(fft(tiaoz)));
2psk信号频谱'
)
%-----------------带有高斯白噪声的信道----------------------?
tz=awgn(tiaoz,10);
%信号tiaoz加入白噪声,信噪比为10?
figure(4);
plot(tz);
通过高斯白噪声后的信号'
plot(abs(fft(tz)));
axis([02000*length(Sbianma)0800]);
加入白噪声的2psk信号频谱'
%-------------------同步解调-----------------------------?
jiet=2*b1.*tz;
%同步解调?
figure(5);
plot(jiet);
相乘后的信号波形'
plot(abs(fft(jiet)));
相乘后的信号频率'
%----------------------低通滤波器---------------------------
fp=500;
fs=700;
rp=3;
rs=20;
fn=11025;
ws=fs/(fn/2);
wp=fp/(fn/2);
%计算归一化角频率?
[n,wn]=buttord(wp,ws,rp,rs);
%计算阶数和截止频率?
[b,a]=butter(n,wn);
%计算H(z)?
figure(6);
freqz(b,a,1000,11025);
axis([040000-1003])
lpf频谱图'
jt=filter(b,a,jiet);
figure(7);
plot(jt);
axis([02000*length(Sbianma)-22]);
经低通滤波器后的信号波形'
plot(abs(fft(jt)));
title('
经低通滤波器后的信号频率'
%-----------------------抽样判决--------------------------?
form=1:
2000*length(Sbianma);
ifjt(m)<
0;
jt(m)=1;
elsejt(m)>
jt(m)=0;
figure(8);
plot(jt)
经抽样判决后信号jt(t)波形'
经抽样判决后的信号频谱'
n=500:
2000:
a5=[];
a5=[a5jt(n)];
s1=decode(a5,7,4,'
a6=[];
length(s1);
ifs1(n)==0;
G=zeros(1,2000);
elses1(n)==1;
G=ones(1,2000);
a6=[a6G];
plot(a6);
汉明码译码后的波形'
%------------------2psk误码率仿真-------------------------?
snrdB_min=-10;
snrdB_max=10;
snrdB=snrdB_min:
1:
snrdB_max;
Nsymbols=200;
snr=10.^(snrdB/10);
h=waitbar(0,'
SNR?
Iteration'
len_snr=length(snrdB);
forj=1:
len_snr
waitbar(j/len_snr);
sigma=sqrt(1/(2*snr(j)));
error_count=0;
fork=1:
Nsymbols
d=round(rand
(1));
%随即数据?
x_d=2*d-1;
%0,1分别转化为-1,1?
n_d=sigma*randn
(1);
%加噪
y_d=x_d+n_d;
%加噪后接收?
ify_d>
d_est=1;
else
d_est=0;
if(d_est~=d)
error_count=error_count+1;
errors(j)=error_count;
ber_sim=errors/Nsymbols;
ber_theor=(erfc(sqrt(snr))).*(1-0.5*erfc(sqrt(snr)));
figure(9);
semilogy(snrdB,ber_theor,'
-'
snrdB,ber_sim,'
*'
axis([snrdB_minsnrdB_max0.00011]);
xlabel('
信噪比'
ylabel('
误码率'
2psk信噪比误码率关系图'
legend('
理论值'
'
实际值'