这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 线阵的波束形成

共2条 1/1 1 跳转至

线阵的波束形成

菜鸟
2012-03-02 11:54:38     打赏

clc;
clear;
%%  参数
c=1500;
f0=1.5e3;
fs=150e3;
T=50e-3;
SNR=20;
lamda=c./f0;
D=lamda./2;
N=21;
maxdelay=(N-1).*D./c;
Nmaxdelay=round(maxdelay.*fs);
alpha=(-90:90)*pi./180;
px=(0:N-1).*D;
theta0=0*pi./180;
N_delay0=D.*sin(theta0)./c.*fs;
Wn=2*[1000 2000]/fs;                              
bb=fir1(128,Wn,'bandpass');                          %带通滤波器系数
%% 信号模型
t=0:1./fs:T;
sig00=sqrt(2).*cos(2.*pi.*f0.*t);
for mm=1:N;
    N0=round(N_delay0.*(mm-1));
    sig0(mm,:)=[zeros(1,Nmaxdelay.*2-N0) sig00 zeros(1,Nmaxdelay.*1+N0)];
end

len=length(sig0(1,:));
for mm=1:N;
    NN=normrnd(0,1,1,len);                            %% 加噪声
    noise=filter(bb,1,NN);                               
    noise=noise/std(noise);                                 %噪声能量归一化
    noise=noise/10^(SNR/20);                                %噪声与信噪比的转化
    sig(mm,:)=sig0(mm,:)+noise;
end

%% 时域波束形成
% tt=(0:len-1)./fs;
% tt1=(Nmaxdelay+1:len-1-Nmaxdelay)./fs;
% for mm=1:length(alpha);
%     for nn=1:N;
%         tc0=(nn-1).*D.*sin(alpha(mm))./c;
%         ss(nn,:)=interp1(tt,sig0(nn,:),tt1-tc0);
%     end
%     sss(mm,:)=sum(ss,1);
% %     sss1(mm,:)=sum(ss(1:20,:),1);
% %     sss2(mm,:)=sum(ss(2:21,:),1);
%     sout(mm)=std(sss(mm,:));
% %     mm
% end
% figure
% plot(alpha.*180./pi,20.*log10(sout./max(sout)))
% xlabel('方位角/度')
% ylabel('波束输出/分贝')
% title('时域波束形成')
% grid on
%%  频域波束形成
% vscan=exp(-j*2*pi*f0/c*px'*sin(alpha));
% for ii=1:N
%     Sf=fft(sig(ii,:),fs);
%     R1(ii)=Sf(f0+1);
% end
% R0=R1*vscan;
% yy=abs(real(R0));
% yy=yy./max(yy);
% figure
% plot(alpha.*180./pi,20.*log10(yy))
% xlabel('方位角/度')
% ylabel('波束输出/分贝')
% title('频域波束形成')
% grid on

%%  DFT波束形成
for ii=1:N
    Sf=fft(sig(ii,:),fs);
    R1(ii)=Sf(f0+1);
end
nfft=1024;
Beam_DFT=fftshift(abs(fft(R1,nfft)));  
Beam_DFT=20*log10(Beam_DFT./max(Beam_DFT));
nn1=[nfft/2+1:nfft,1:nfft/2];
angle = asin(lamda/D*[-nfft/2:nfft/2-1]/nfft)*180/pi;
figure
plot(angle,Beam_DFT)
xlabel('方位角/度')
ylabel('波束输出/分贝')
title('DFT波束形成')
grid on




关键词: 线阵     波束     形成    

助工
2012-05-06 14:50:57     打赏
2楼
好复杂。。。。。。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]