2psk信号调制解调
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、2psk信号调制解调
2psk信号的调制不能采用包络检测的方法,只能进行相干解调,其原理框图如下:
不考虑噪声时,带通滤波器输出可以表示为
y(t)=cos(wct+Φn)
式中Φn为2psk信号某一码元的初相。Φn=0时,代表数字“0”,Φn=π时,代表数字“1”。与同步载波COSwct相乘后,输出为
Z(t)=COS(wct+Φn) COSwct=1/2cosΦn+1/2cos(2wct+Φn)
经过低通滤波器滤除高频分量,得解调输出为
根据发送端产生2psk信号时Φn代表数字信息1或0的规定,以及接收端x(t)与Φn 的关系特性,抽样判决器的判决准则为
其中,x为x(t)在抽样时刻的值。
2psk信号相干解调的过程实际上就是输入已调信号与本地载波信号进行极性比较的过程,故常称为极性比较解调。
Matlab程序实现
clear ;
close all;
fs=8e5; %抽样频率
fm=20e3; %基带频率
n=2*(6*fs/fm);
final=(1/fs)*(n-1);
fc=2e5; % 载波频率
t=0:1/fs:(final);
Fn=fs/2; %耐奎斯特频率
%用正弦波产生方波
twopi_fc_t=2*pi*fm*t;
A=1;
phi=0;
x = A * cos(twopi_fc_t + phi);
% 方波
am=1;
x(x>0)=am;
x(x<0)=-1;
figure(1)
subplot(321);
plot(t,x);
axis([0 2e-4 -2 2]);
title('基带信号');
grid on
car=sin(2*pi*fc*t); %载波
ask=x.*car; %载波调制
subplot(322);
plot(t,ask);
axis([0 200e-6 -2 2]);
title('PSK信号');
grid on;
%===================================================== vn=0.1;
noise=vn*(randn(size(t))); %产生噪音
subplot(323);
plot(t,noise);
grid on;
title('噪音信号');
axis([0 .2e-3 -1 1]);
askn=(ask+noise); %调制后加噪
subplot(324);
plot(t,askn);
axis([0 200e-6 -2 2]);
title('加噪后信号');
grid on;
%带通滤波
fBW=40e3;
f=[0:3e3:4e5];
w=2*pi*f/fs;
z=exp(w*j);
BW=2*pi*fBW/fs;
a=.8547; %BW=2(1-a)/sqrt(a) p=(j^2*a^2);
gain=.135;
Hz=gain*(z+1).*(z-1)./(z.^2-(p));
subplot(325);
plot(f,abs(Hz));
title('带通滤波器');
grid on;
Hz(Hz==0)=10^(8); %avoid log(0) subplot(326);
plot(f,20*log10(abs(Hz)));
grid on;
title('Receiver -3dB Filter Response'); axis([1e5 3e5 -3 1]);
%滤波器系数
a=[1 0 0.7305]; %[1 0 p]
b=[0.135 0 -0.135]; %gain*[1 0 -1] faskn=filter(b,a,askn);
figure(2)
subplot(321);
plot(t,faskn);
axis([0 100e-6 -2 2]);
title('通过带通滤波后输出');
grid on;
cm=faskn.*car; %解调
subplot(322);
plot(t,cm);
axis([0 100e-6 -2 2]);
grid on;
title('通过相乘器后输出');
%低通滤波器
p=0.72;
gain1=0.14;%gain=(1-p)/2
Hz1=gain1*(z+1)./(z-(p));
subplot(323);
Hz1(Hz1==0)=10^(-8);%avoid log(0)
plot(f,20*log10(abs(Hz1)));
grid on;
title('LPF -3dB response');
axis([0 5e4 -3 1]);
%滤波器系数
a1=[1 -0.72]; %(z-(p))
b1=[0.14 0.14]; %gain*[1 1]
so=filter(b1,a1,cm);
so=so*10; %add gain
so=so-mean(so); %removes DC component subplot(324);
plot(t,so);
axis([0 8e-4 -3.5 3.5]);
title('通过低通滤波器后输出');
grid on;
%比较器
High=2.5;
Low=-2.5;
vt=0; %设立比较标准
error=0;
len1=length(so);
for ii=1:len1
if so(ii) >= vt
Vs(ii)=High;
else
Vs(ii)=Low;
end
end
Vo=Vs;
subplot(325);
plot (t,Vo), title('解调后输出信号'), axis([0 2e-4 -5 5])
grid on;
xlabel('时间 (s)'), ylabel('幅度(V)')