通信原理第七章大作业.docx

上传人:b****7 文档编号:10435797 上传时间:2023-02-11 格式:DOCX 页数:16 大小:141.81KB
下载 相关 举报
通信原理第七章大作业.docx_第1页
第1页 / 共16页
通信原理第七章大作业.docx_第2页
第2页 / 共16页
通信原理第七章大作业.docx_第3页
第3页 / 共16页
通信原理第七章大作业.docx_第4页
第4页 / 共16页
通信原理第七章大作业.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

通信原理第七章大作业.docx

《通信原理第七章大作业.docx》由会员分享,可在线阅读,更多相关《通信原理第七章大作业.docx(16页珍藏版)》请在冰豆网上搜索。

通信原理第七章大作业.docx

通信原理第七章大作业

 

通信原理

第七章仿真作业

 

2DPSK调制信号分别采用相干解调及差分相干解调解调方式时性能

一、仿真要求

试编写程序,仿真2DPSK调制信号在高斯信道下分别采用相干解调及差分相干解调两种解调方式时的性能,并与理论分析结果相比较。

(1)每种解调方式下画出两条性能曲线,一条是根据理论平均错误概率画出,另一条是仿真曲线;

(2)程序的基本流程:

信源产生信息比特、2DPSK调制、将调制信号送入信道(产生高斯白噪声的程序)、接收端检测、将检测结果与信源原始信息比较计算误比特率;

(3)在给定信噪比下,第二步需多次重复,以得到一个平均错误概率;

如采用复基带信号进行仿真,相干解调时的仿真结果如下所示:

2DPSK基本原理:

传输系统中要保证信息的有效传输就必须要有较高的传输速率和很低的误码率!

为了后的较低的误码率,就得让传输的信号又较低的误码率。

在传输信号中,2PSK信号和2ASK及2FSK信号相比,具有较好的误码率性能,但是,在2PSK信号传输系统中存在相位不确定性,并将造成接收码元“0”和“1”的颠倒,产生误码。

为了保证2PSK的优点,又不会产生误码,将2PSK体制改进为二进制差分相移键控(2DPSK),及相对相移键控。

2DPSK方式即是利用前后相邻码元的相对相位值去表示数字信息的一种方式。

现假设用Φ表示本码元初相与前一码元初相之差,并规定:

Φ=0表示0码,Φ=π表示1码。

在这种绝对移相方式中,发送端是采用某一个相位作为基准,所以在系统接收端也必须采用相同的基准相位。

如果基准相位发生变化,则在接收端回复的信号将与发送的数字信息完全相反。

所以在实际过程中一般不采用绝对移相方式,而采用相对移相方式。

定义∆Φ为本码元初相与前一码元初相之差,假设:

∆Φ=0→数字信息“0”;

∆Φ=π→数字信息“1”。

则数字信息序列与2DPSK信号的码元相位关系可举例表示如下:

数字信息:

1011011101

DPSK信号相位:

(0)ππ0ππ0π00π

或:

(π)00π00π0ππ0

采用π相位后,若已接收2DPSK序列为π0πππ0ππ0,则经过解调后和逆码变换后可得基带信号,这一过程如下:

2DPSK信号:

(0)π0πππ0ππ0(π)0π000π00π

∆Φ:

πππ00ππ0ππππ00ππ0π

变换后序列:

(0)101110110(π)010001001(相对码)

基带信号:

111001101111001101(绝对码)

虽然相同信噪比2DPSK信号的比2PSK稍高一点,但比2PSK要稳定得多。

三、仿真结果及分析

对2DPSK信号进行仿真,调制后的信号如下图:

在接收端采用相干解调时低通滤波器输出为:

同时在接收端采用相干解调的性能如下图:

在接收端采用非相干解调时低通滤波器输出为:

在接收端采用非相干解调的性能如下图:

结果分析:

由于采样点数不够多,而且低通滤波器设计的不够理想,所以计算结果和理想值有些偏差,但数值大小接近,而且趋势相同。

程序代码:

相干解调

clearall;clc;closeall;

A=1;fc=5;Ns=8;

N=500;Ts=1;%1Bd/s100ÂëÔª

dt=Ts/fc/Ns;

t=0:

dt:

N*Ts-dt;

Lt=length(t);

S=sign(randn(1,N));

SS=sigexpand(S,fc*Ns);

gt=ones(1,fc*Ns);

%figure

(1)

%subplot(221);

S_gt=conv(SS,gt);

S_gt1=S_gt(1:

length(SS));

%plot(t,S_gt1);

%%%%%cos%%%%

ht=sin(2*pi*fc*t);

%%%%%2PSK%%%%%%%%%%%

S_2PSK=S_gt1.*ht;

%figure

(2)

%plot(t,S_2PSK);

%%%%%change2PSKto2DPSK%%%%%%%%%%%%%%%

Ref=-1;

S_gt2=1:

length(S_gt1);

if(S

(1)==1)

S2

(1)=-Ref;

else

S2

(1)=Ref;

end

fori=2:

N

ifS(i)==1

S2(i)=-S2(i-1);

else

S2(i)=S2(i-1);

end

end

SS2=sigexpand(S2,fc*Ns);

S2_gt=conv(SS2,gt);

S2_gt1=S2_gt(1:

length(SS2));

S_2DPSK=S2_gt1.*ht;

%figure

(1);plot(t,S_2DPSK);holdon;title('2DPSKmodulationsignal')

%fori=2:

N

%if(S_gt1((i-1)*Ns*fc+1)==1)

%S_gt2(((i-1)*Ns*fc+1):

i*Ns*fc)=-S_gt1((i-2)*Ns*fc+1);

%else

%S_gt2(((i-1)*Ns*fc+1):

i*Ns*fc)=S_gt1((i-2)*Ns*fc+1);

%end

%end

%%%%%%%%%%%%%%%signalchannel%%%%%%%%%%%%%%%%%%%%%%

ENdB=-8:

0.5:

16;

EN=10.^(ENdB/10);

E=1;

N0=10.^(-ENdB/10);

r=N0;

r_dB=10*log10(r);

E_a=zeros(50,length(r));

%sigma=1./(2*r);%theactualerrorrate

sigma=r/2

forrm=1:

size(E_a,1)%%Loopoutside=50

forrn=1:

length(r)%%Loopinside=length(r)

No=randn(1,length(S_2DPSK))*sqrt(sigma(rn));

R=No+S_2DPSK;

%%%%%%%%%%%receive%%%%%%%%%%%%%%%%

%%%%%%%%%Ïà¸É%%%%%%%%%%%%%%

R_ht=sin(2*pi*fc*t);

R_mt=R.*R_ht;

%%%%%%%idealLPF%%%%%%%%

wc=1*(2*pi);%howtochoosethewc1Hz?

M=1;

t0=-M:

0.1:

M-0.1;

%t0=t00+eps;

hdn=sin(wc*(t0))./(pi*(t0));hdn(M*10+1)=(hdn(M*10)+hdn(M*10))/2;

%plot(t0,hdn);

R_lpf0=conv(hdn,R_mt);

%plot();

R_lpf=R_lpf0(M*10:

length(R_mt)+M*10-1);

%figure

(2),plot(t,R_lpf);

%%%%%%%%%%%decideatcerterntime%%%%%%%%%%%%%%

R_s=zeros(1,N);

select=Ns*fc/2:

Ns*fc:

Ns*fc*N-Ns*fc/2;

fori=1:

N

ifR_lpf(select(i))>0

R_s0(i)=1;

else

R_s0(i)=-1;

end

end

%%%%%%%%%codeinversetransformation%%%%%%%%%%%%%%%%

R_s1=zeros(1,N);

ifR_s0

(1)==Ref

R_s1

(1)=-1;

else

R_s1

(1)=1;

end

fori=2:

N

ifR_s0(i)==R_s0(i-1)

R_s1(i)=-1;

else

R_s1(i)=1;

end

end

%

%po=find(S2~=R_s0);

%error0=length(po)

po1=find(S~=R_s1);

error1=length(po1);

E_a(rm,rn)=error1/N;

end

end

E_a1=sum(E_a)/size(E_a,1);

E_adB=10*log10(E_a1);

%%%%%%%%%%%thetheoraticalerrorrate%%%%%%%%%%%%%%

E_rate_th=10*log10(1./sqrt(pi*EN).*exp(-EN));

figure

plot(ENdB,E_rate_th,'rd-');gridon;holdon;

plot(ENdB,E_adB,'b*-');legend('ÀíÂÛ¼ÆËã½á¹û','·ÂÕæ½á¹û');xlabel('E/n0');ylabel('Errorrate');

非相干解调:

clearall;clc;closeall;

A=1;fc=2;Ns=8;

N=10;Ts=1;%1Bd/s100ÂëÔª

dt=Ts/fc/Ns;

t=0:

dt:

N*Ts-dt;

Lt=length(t);

S=sign(randn(1,N));

SS=sigexpand(S,fc*Ns);

gt=ones(1,fc*Ns);

%figure

(1)

%subplot(221);

S_gt=conv(SS,gt);

S_gt1=S_gt(1:

length(SS));

%plot(t,S_gt1);

%%%%%cos%%%%

ht=sin(2*pi*fc*t);

%%%%%2PSK%%%%%%%%%%%

S_2PSK=S_gt1.*ht;

%figure

(2)

%plot(t,S_2PSK);

%%%%%change2PSKto2DPSK%%%%%%%%%%%%%%%

Ref=-1;

S_gt2=1:

length(S_gt1);

if(S

(1)==1)

S2

(1)=-Ref;

else

S2

(1)=Ref;

end

fori=2:

N

ifS(i)==1

S2(i)=-S2(i-1);

else

S2(i)=S2(i-1);

end

end

SS2=sigexpand(S2,fc*Ns);

S2_gt=conv(SS2,gt);

S2_gt1=S2_gt(1:

length(SS2));

%%%%%%%%%%%addthereferencesignal%%%%%%%%%%%%%%%

%S2_gt2=[ones(1,Ns*fc)*Ref,S2_gt1];

S_2DPSK0=S2_gt1.*ht;

S_2DPSK=[ones(1,Ns*fc)*Ref.*ht(1:

Ns*fc),S_2DPSK0];

t1=[-Ts:

dt:

-dt,t];

%figure

(1);plot(t1,S_2DPSK);holdon;

%fori=2:

N

%if(S_gt1((i-1)*Ns*fc+1)==1)

%S_gt2(((i-1)*Ns*fc+1):

i*Ns*fc)=-S_gt1((i-2)*Ns*fc+1);

%else

%S_gt2(((i-1)*Ns*fc+1):

i*Ns*fc)=S_gt1((i-2)*Ns*fc+1);

%end

%end

%%%%%%%%%%%%%%%signalchannel%%%%%%%%%%%%%%%%%%%%%%

ENdB=-8:

0.5:

16;

EN=10.^(ENdB/10);

E=1;

N0=10.^(-ENdB/10);

r=N0;

r_dB=10*log10(r);

E_a=zeros(50,length(r));

%sigma=1./(2*r);%theactualerrorrate

sigma=r/2

forrm=1:

size(E_a,1)%%Loopoutside=50

forrn=1:

length(r)%%Loopinside=length(r)

No=randn(1,length(S_2DPSK))*sqrt(sigma(rn));

R=No+S_2DPSK;

%%%%%%%%%%%receive%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%noncoherentdemodulation%%%%%%%%%%

R1=R(Ns*fc+1:

end);%usefulsignal

R2=R(1:

end-Ns*fc);

R_nd=R1.*R2;

%%%%%%%idealLPF%%%%%%%%

wc=1.5*(2*pi);%howtochoosethewc

t0=-4:

0.1:

4-0.1;

%t0=t00+eps;

hdn=sin(wc*(t0))./(pi*(t0));hdn(21)=(hdn(20)+hdn(22))/2;

%plot(t0,hdn);

R_lpf0=conv(hdn,R_nd);

%plot();

R_lpf=R_lpf0(40:

length(R_nd)+40-1);

%figure

(2),plot(t,R_lpf);

%%%%%%%%%%%decideatcerterntime%%%%%%%%%%%%%%

R_s=zeros(1,N);

select=Ns*fc/2:

Ns*fc:

Ns*fc*N-Ns*fc/2;

fori=1:

N

ifR_lpf(select(i))>0

R_s0(i)=1;

else

R_s0(i)=-1;

end

end

%%%%%%%%%%%%andchange1to00to1%%%%%%%%%%%%%%%

R_s1=R_s0;

po1=find(R_s0==1);

po0=find(R_s0==-1);

R_s1(po1)=-1;

R_s1(po0)=1;

pos=find(S~=R_s1);

E_a(rm,rn)=length(pos);

end

end

E_a1=sum(E_a)/size(E_a,1);

E_adB=10*log10(E_a1);

%%%%%%%%%%%thetheoraticalerrorrate%%%%%%%%%%%%%%

E_rate_th=10*log10(1/2*exp(-EN));

figure

plot(ENdB,E_rate_th,'rd-');gridon;holdon;

plot(ENdB,E_adB,'b*-');legend('ÀíÂÛ¼ÆËã½á¹û','·ÂÕæ½á¹û');xlabel('E/n0');ylabel('Errorrate');

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1