MATLAB2psk通信系统仿真报告.docx
《MATLAB2psk通信系统仿真报告.docx》由会员分享,可在线阅读,更多相关《MATLAB2psk通信系统仿真报告.docx(15页珍藏版)》请在冰豆网上搜索。
MATLAB2psk通信系统仿真报告
MATLAB-2psk通信系统仿真报告
LT
图32PSK信号相干解调各点时间波形
这种现象通常称为"倒π"现象.由于在2PSK信号的载波恢复过程中存在着180°的相位模糊,所以2PSK信号的相干解调存在随机的"倒π"现象,从而使得2PSK方式在实际中很少采用.
三仿真方真
四程序源代码
clearall;
closeall;
clc;
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;
forn=1:
length(Sbianma);
ifSbianma(n)==0;
B=zeros(1,2000);%每个值2000个点
elseSbianma(n)==1;
B=ones(1,2000);
end
a1=[a1B];%s(t),码元宽度2000
c=cos(2*pi*f*t);%载波信号
b1=[b1c];%与s(t)等长的载波信号,变为矩阵形式
end
figure
(2);
subplot(211)
plot(a1);
gridon;
axis([02000*length(Sbianma)-22]);title('编码后二进制信号序列');
a2=[];
b2=[];
forn=1:
length(Sbianma);
ifSbianma(n)==0;
C=ones(1,2000);%每个值2000点
d=cos(2*pi*f*t);%载波信号
elseSbianma(n)==1;
C=ones(1,2000);
d=cos(2*pi*f*t+pi);%载波信号
end
a2=[a2C];%s(t),码元宽度2000
b2=[b2d];%与s(t)等长的载波信号
end
tiaoz=a2.*b2;%e(t)调制
figure(3);
subplot(211);
plot(tiaoz);
gridon;
axis([02000*length(Sbianma)-22]);
title('2psk已调制信号');
figure
(2);
subplot(212);
plot(abs(fft(a1)));
axis([02000*length(Sbianma)0400]);
title('编码后二进制信号序列频谱');
figure(3);
subplot(212);
plot(abs(fft(tiaoz)));
axis([02000*length(Sbianma)0400]);
title('2psk信号频谱')
%-----------------带有高斯白噪声的信道----------------------
tz=awgn(tiaoz,10);%信号tiaoz加入白噪声,信噪比为10
figure(4);
subplot(211);
plot(tz);
gridon
axis([02000*length(Sbianma)-22]);
title('通过高斯白噪声后的信号');
figure(4);
subplot(212);
plot(abs(fft(tz)));
axis([02000*length(Sbianma)0800]);
title('加入白噪声的2psk信号频谱');
%-------------------同步解调-----------------------------
jiet=2*b1.*tz;%同步解调
figure(5);
subplot(211);plot(jiet);
gridon
axis([02000*length(Sbianma)-22]);title('相乘后的信号波形')
figure(5);
subplot(212);
plot(abs(fft(jiet)));
axis([02000*length(Sbianma)0800]);
title('相乘后的信号频率');
%----------------------低通滤波器---------------------------
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);
subplot(211);
axis([040000-1003])
title('lpf频谱图');
jt=filter(b,a,jiet);
figure(7);
subplot(211);
plot(jt);
gridon
axis([02000*length(Sbianma)-22]);
title('经低通滤波器后的信号波形');
figure(7);
subplot(212);
plot(abs(fft(jt)));
axis([02000*length(Sbianma)0800]);
title('经低通滤波器后的信号频率');
%-----------------------抽样判决--------------------------
form=1:
2000*length(Sbianma);
ifjt(m)<0;
jt(m)=1;
elsejt(m)>0;
jt(m)=0;
end
end
figure(8);
subplot(211);
plot(jt)
gridon
axis([02000*length(Sbianma)-22]);
title('经抽样判决后信号jt(t)波形')
figure(8);
subplot(212);
plot(abs(fft(jt)));
axis([02000*length(Sbianma)0800]);
title('经抽样判决后的信号频谱');
gridon;
n=500:
2000:
2000*length(Sbianma);
a5=[];
a5=[a5jt(n)];
s1=decode(a5,7,4,'hamming');
a6=[];
forn=1:
length(s1);
ifs1(n)==0;
G=zeros(1,2000);
elses1(n)==1;
G=ones(1,2000);
end
a6=[a6G];
end
figure
(1);
subplot(212);
plot(a6);
gridon
axis([02000*length(s)-22]);
title('汉明码译码后的波形')
gridon
%------------------2psk误码率仿真-------------------------
snrdB_min=-10;
snrdB_max=10;
snrdB=snrdB_min:
1:
snrdB_max;
Nsymbols=200;
snr=10.^(snrdB/10);
h=waitbar(0,'SNRIteration');
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>0
d_est=1;
else
d_est=0;
end
if(d_est~=d)
error_count=error_count+1;
end
end
errors(j)=error_count;
end
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('误码率');
title('2psk信噪比误码率关系图');
legend('理论值','实际值')、
五实验结果及分析
图1.随机产生的15位二进制序列波形
图2.汉明码编码后的序列波形极其频谱
由图2可看出输入信号经过汉明码编码后的波形与理论推出的序列相同
图3.经过2psk调制后的信号波形及其频谱
图3中显示的2psk由于显示幅度限制已叠在一起,放大看可得到以理论相同的正弦波波形,在0,1变换出有π的相位变化,并且信号的频谱图符合信号频率被载波搬移的解释。
图4.信号通过信道加入白噪声后的波形极其频谱
图4所示是信号加入高斯白噪声后的波形,其中信噪比可调,实验中信噪比为10dB。
在频谱图下方可以看到高斯白噪声的频谱密度,和理论的高斯白噪声频谱密度相同。
图5.经过相干解调后的信号波形及其频谱
经过调制的2psk信号只能通过相干解调。
实验中当信号与载波相乘后与实验原理中的推导相符。
图6.经过低通滤波器后的信号波形及其频谱
经过低通滤波后,除去信号中的高频成分和大部分高斯白噪声
图7.低通滤波器的传输函数的频谱及相谱图
图8.经过抽样判决后的信号极其频谱
经过抽样判决后输出的波形与编码后的波形一致
图9.判决后的信号经过汉明码译码后的波形
将上一步中的信号经过汉明码译码后得到与输入波形相同的信号。
可得出这个2psk通信系统可实现。
图10.2psk信噪比与误码率关系图
六心得体会
通过这次通信原理实验,我发现自己的基础知识和应用能力都很差。
刚拿到题目时,在如何实现汉明码编码处就卡住,再后来的译码,由于程序有问题,每次都进入死循环。
最后通过各种网上的资料解决了种种问题。
通过了这次实验,我加深了课堂上所学的理论知识,提高了知识的应用能力。
熟悉了MATLAB的运行环境,掌握了一些MATLAB语言和函数的调用,很大程度上提高了自己的能力。