?? untitled.m
字號:
clear
for k=1:10000
ss(k)=rand(1)>0.5;
end
s1=zeros(1,10000);
for n=1:10000
s1(n)=ss(n);
end
for h=0:25
for count=1:100
b0=1;
for n=1:5000
%***************系統信號調制*********
if (s1(b0)==0)&&(s1(b0+1)==0)
s(n)=-0.7071-0.7071i;
elseif (s1(b0)==0)&&(s1(b0+1)==1)
s(n)=-0.7071+0.7071i;
elseif (s1(b0)==1)&&(s1(b0+1)==0)
s(n)=0.7071-0.7071i;
else
s(n)=0.7071+0.7071i;
end
b0=b0+2;
end
s2=zeros(1,5000);
s2(1)=s(1);
for n=2:5000
m=n-1;
s2(n)=s(n)+0.5*s(m);
end
c=awgn(s2,h);
c0=awgn(s,h);
b1=1;
for k=1:5000
%***************延時系統解調************
d1=abs(c(k)+0.7070+0.7071i);
d2=abs(c(k)+0.7070-0.7071i);
d3=abs(c(k)-0.7070+0.7071i);
d4=abs(c(k)-0.7070-0.7071i);
dmin1=min(d1,d2);
dmin2=min(d3,d4);
dmin=min(dmin1,dmin2);
if dmin==d1
code(b1)=0;
code(b1+1)=0;
elseif dmin==d2
code(b1)=0;
code(b1+1)=1;
elseif dmin==d3
code(b1)=1;
code(b1+1)=0;
else
code(b1)=1;
code(b1+1)=1;
end
%*****************無延時系統解調*****
dd1=abs(c0(k)+0.7070+0.7071i);
dd2=abs(c0(k)+0.7070-0.7071i);
dd3=abs(c0(k)-0.7070+0.7071i);
dd4=abs(c0(k)-0.7070-0.7071i);
ddmin1=min(dd1,dd2);
ddmin2=min(dd3,dd4);
ddmin=min(ddmin1,ddmin2);
if ddmin==dd1
code0(b1)=0;
code0(b1+1)=0;
elseif ddmin==d2
code0(b1)=0;
code0(b1+1)=1;
elseif ddmin==d3
code0(b1)=1;
code0(b1+1)=0;
else
code0(b1)=1;
code0(b1+1)=1;
end
b1=b1+2;
end
errnum=0;
errnum0=0;
for n=1:length(s1)
if code(n)~=s1(n)
errnum=errnum+1;
end
if code0(n)~=s1(n)
errnum0=errnum0+1;
end
end
err(count)=errnum;
err0(count)=errnum0;
end
errnum=mean(err);
errnum0=mean(err0);
ratio(h+1)=errnum/10000;
ratio0(h+1)=errnum0/10000;
end
x=0:25;
semilogy(x,ratio,'r',x,ratio0,'b--');
s-s2
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -