%特征值
%信噪比从-20~0(噪声功率固定0dB,信号功率从-20~0dB)
%psk
clear all;
M=16;
%fc=500;%载波,MHz
fr=1280; %抽样频率
t0=3.2; %OFDM符号长度,us
%pan=0;%噪声功率(dB)
ofsln=16384;
%虚警率为0.01
z=10;
lk=100;%检测率统计次数
lm=5;%smoothing factor
jet=10;%节点数
hsl=5;%历史次数
%matlabpool open
%par
for sn=1:7
pas=2*sn-20;%信号功率(dB)
ps=10^(pas/20);%信号幅度
m2=0;
jet1=jet;
p=0;
for i=1:hsl
kss(i)=0;
end
for ii=1:jet
m3(ii)=0;
m4(ii)=0;
end
for kz=1:lk
for ii=1:jet %4个周期的OFDM信号
m(ii)=10000;
m1=0;
kz1=kz+(ii-1)*lk;
rand('state',kz1);
ch_n=ceil(100*rand);%信道样本编号
pan=4*(rand-0.5);%噪声功率(dB)
fc=500;
x=randsrc(1,M);%input signal x(M)
for j=0:15
for i=1:1024
x1(i+1024*j)=x(j+1);
end
end
for j1=1:ofsln
Cosfc(j1)=cos(2*pi*fc/fr*j1);
end
si=ps*Cosfc*(sqrt(ofsln)/norm(Cosfc));%功率归一化
n_ai=wgn(1,ofsln,pan,'real');%加性高斯噪声
ri=si+n_ai;
for l=1:lm
for k=1:(ofsln-lm+1)
rie(l,k)=ri(k+l-1);
end
end
re=(rie*rie')/(ofsln-lm+1);
eigenvalu=eig(re);
ntamin=min(eigenvalu);
ntamax=max(eigenvalu);
ns=ofsln-lm+1;
nta=(sqrt(ns)+sqrt(lm))^2/((sqrt(ns)-sqrt(lm))^2)*(1+(sqrt(ns)+sqrt(lm))^(-2/3)*2.02/(ns*lm)^(1/6));
out=0.5*erfc(0.01/sqrt(2));
ntap=ntamax/ntamin;
if ntap>=nta
di(ii)=1;
p=p+1;
else
di(ii)=0;
end
end
[dfc,kss]=fuse(di,jet1,hsl,kz,kss);
if dfc==1
m2=m2+1;
end
for ii=1:jet
if di(ii)==dfc
m3(ii)=m3(ii)+1;
else
m4(ii)=m4(ii)+1;
end
pdi(ii)=m3(ii)/kz;
pfi(ii)=m4(ii)/kz;
Pii(ii)=z*pfi(ii);
m1=m1+Pii(ii);
end
ppi=m1/jet;
jet1=0;
for ii=1:jet
if ppi<=Pii(ii)
jet1=jet1+1;
di(jet1)=di(ii);
end
end
end
re1p(sn)=p;
re2m(sn)=m2;
re3j(sn)=jet1;
end
re1p
re2m
re3j