日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

阵元间隔为半波长的均匀分布16元线阵

發布時間:2025/4/5 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 阵元间隔为半波长的均匀分布16元线阵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

% %陣元間隔為半波長的均勻分布16元線陣,預成指向士arcsin((2i-1)/16)(i=l,2,…,16)的16個均勻加權常規波束,遠場有5個互
% 不相關的目標源發射信號,每個源相對于基陣的方位為30和33,且每個信號源到達基陣的信噪比相同,均為10DB,快拍數為1000.進行波
%束域方法和陣元域方法的比較。
clear all
close all
C=340; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%%聲速
num=16; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %% 陣元數
k=1000; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %% 快拍數
Bearings=[-5]; ? ? ? ? ? ? ? ? ? ? ? ? ? %入射信號方位角
d=length(Bearings); ? ? ? ? ? ? ? ? ? ? ? ? %%聲源數
D=0.1; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%陣元間距
fc=1000; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%信號頻率
fs=2*fc; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%采樣頻率
snr=10; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%信噪比
e_position=[0:num-1]';
s_position=[0:d-1]';

%%波束形成
as=-1/16:1/8:3/16; ? ? ? ? ? ? ? ? ? ? ? ? ?%波束指向角
as=asin(as);
vs=exp(j*2*pi*fc*e_position*D*sin(as)/C);
w=1/num*vs'; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%波束形成矩陣

%%入射信號
aa=90*[-1:0.002:1]; ? ? ? ? ? ? ? ? ? ? ? ? %從-90到90采樣1001個點
s=exp(j*pi*[1:d].'*sin(aa/180*pi)); ?
% % s=exp(j*pi*sin(aa/180*pi));?
% % s=repmat(s,[d 1]); ? ? ? ? ? ? ? ? ? ? ? ? ?%聲源信號

%%方向向量
Bearings=Bearings*pi/180;
TimeDelay=D*[0:num-1].'*sin(Bearings)/C; ? ?%線陣的延遲
A=exp(sqrt(-1)*2*pi*fc*TimeDelay); ? ? ? ? ?%方向向量

%%基陣接收信號
X=A*s; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%陣列輸出信號
X=awgn(X,snr); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%加噪聲

%%陣元域MUSIC算法
Rxx=(X*X')/k; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %協方差矩陣 ?
[EigenVectors,EigenValues]=eig(Rxx);
Lemda=diag(EigenValues); ? ? ? ? ? ? ? ? ? ?%計算矩陣特征值
[SortedLemda,Index]=sort(Lemda);
Index=flipud(Index); ? ? ? ? ? ? ? ? ? ? ? ?%將特征值降序排列
NoiseSubspace_Z(1:num,1:num-d)=EigenVectors(1:num,Index(d+1:num));%把噪聲空間分成兩部分,分別為加入信號空間的一部分和噪聲

%%在-150到150之間進行搜索
for ?i=-900:900
? ? ?az=exp(sqrt(-1)*2*pi*fc*D*[0:num-1]'*sin(i/10*pi/180)/C);
? ? ?MUSIC_Spec_Z(i+901)=az'*az/(az'*NoiseSubspace_Z*NoiseSubspace_Z'*az);
end

%波束輸出
Y=w*X; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%方位估計

%%波束域MUSIC算法
B=3; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?%波束數
Ryy=(Y*Y')/k; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %協方差矩陣
[EigenVectors,EigenValues]=eig(Ryy);
Lemda=diag(EigenValues); ? ? ? ? ? ? ? ? ? ?%計算矩陣特征值
[SortedLemda,Index]=sort(Lemda);
Index=flipud(Index); ? ? ? ? ? ? ? ? ? ? ? ?%將特征值降序排列
NoiseSubspace(1:B,1:B-d)=EigenVectors(1:B,Index(d+1:B));%把噪聲空間分成兩部分,分別為加入信號空間的一部分和噪聲

%%在20到50之間進行搜索
for i=-150:1:50
? ? a=exp(sqrt(-1)*2*pi*fc*D*[0:num-1]'*sin((i/10)*pi/180)/C);

? ? MUSIC_Spec_B(i+151)=a'*w'*w*a/(a'*w'*NoiseSubspace*(w'*NoiseSubspace)'*a);

end

figure(1);
MUSIC_B=abs(MUSIC_Spec_B)/max(abs(MUSIC_Spec_B));
Delta1=[-15:0.1:5];
plot(Delta1,10*log10(MUSIC_B),'r'); %NonNormative ?Spatial Spectrum
xlabel('角度(度)'),ylabel('空間方位譜(DB)');
hold on
Delta=[-90:0.1:90];
MUSIC_Z=abs(MUSIC_Spec_Z)/max(abs(MUSIC_Spec_Z));
plot(Delta,10*log10(MUSIC_Z));
axis([-15 5 -60 0]);
grid on

%%畫波束
% figure(2);
% ss=exp(j*pi*e_position*sin(aa/180*pi)); ?%% ?入射信號
% plot(aa,20*log10(abs(w*ss))),xlabel('角度(度)'),ylabel('波束(DB)');
% axis([-90 90 -40 0]);

?

總結

以上是生活随笔為你收集整理的阵元间隔为半波长的均匀分布16元线阵的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。