⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wide5fbss.m

📁 采用前后向平滑以及最小冗余线阵的宽带源DOA估计仿真
💻 M
字号:
%加上冗余线阵
clear all
clc
N=1024;
d=5;
M=4;
a=[50,70,90,110,130];
f=1/20; 
h=[0,1,3,4];

%SOI signal
for k=1:d
      s1=randsn1(N);   
   for n=1:N
      ss(k,n)=s1(n)*cos(2*pi*f*n);          %BPSK
   end
end

SS=zeros(M,N);
for k=1:d
   S{k}=zeros(M,N);
      mov=zeros(M,1);
      for m=1:M
          mov(m,1)=floor(h(m)/(2*f)*cos(a(k)*pi/180));
      end
    
   for i=1:M
     if mov(i,1)>=0 
        for n=1:N-mov(i,1) 
            S{k}(i,n)=ss(k,n+mov(i,1));
        end
     else 
        for n=-mov(i,1)+1:N
             S{k}(i,n)=ss(k,n+mov(i,1));
        end
     end 
   end
SS=SS+S{k};   
end
W=normrnd(0,0.1,M,N);
X=SS+W;

b=2*f;   %cyclic frequency
LL=20;
R=zeros(9,LL);
R0=zeros(9,1);
for t=1:LL
     for p=1:M
         for q=1:M
             i=h(p)+h(q)+1;
           for n=1:N-t 
              R(i,t)=R(i,t)+X(p,n)*(X(q,(n+t)))*exp(-j*2*pi*b*(n));
           end
        R(i,t)=R(i,t)/N;
        R0(i,1)=R0(i,1)+R(i,t);
         end
     end 
 end
 R0=R0/LL;
 

 mm=6; %mm reprents the size of subarray
L=10-mm;    %L reprents the number of subarray
RCCf=zeros(mm,mm);   
for l=1:L
   RCCf=RCCf+R0(l:l+mm-1)*(R0(l:l+mm-1))'
end
   RCCf=RCCf/L;
J=rot90(eye(mm,mm));
RCC=(RCCf+J*conj(RCCf)*J)/2;
%end


%eigen decomposition
[U,V,uu]=svd(RCC);
abs(V)
Un=U(:,[d+1:mm]);

%谱峰搜索
    dtheta=0.1;   %搜索步长
     n=[1:dtheta:180];
for i=1:length(n)
     aa=zeros(mm,1);
      for m=1:mm
      aa(m,1)=exp(j*(m-1)*pi*cos(n(i)*pi/180));
      end      
    P(i)=-10*log(abs(aa'*Un*Un'*aa));
end
i=1:length(n);
figure(1)
plot(n(i),P(i)),grid on;
xlabel('来波方向角')
ylabel('P(dB)')

zoom on
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -