• Регистрация
Grisha2018
Grisha2018 0.00
н/д

Уровень боковых лепестков для метода сканирования

20.01.2021
Добрый день!Сделал сообственный метод сканирования для пеленгования сигнала! Но уровень боковых лепестков разрешающей функции получается неверный, не знаю в чем может быть ошибка, может кто знает? Ниж...

Добрый день!

Сделал сообственный метод сканирования для пеленгования сигнала! Но уровень боковых лепестков разрешающей функции получается неверный, не знаю в чем может быть ошибка, может кто знает? Ниже код программы и разрешающие функции получившиеся по написанному коду и с помощью phased.BeamscanEstimator2D.

clear all
close all
f1=20e6;%частота 
%Первый сигнал
t=linspace(0,0.3,300)';
L=length(t);
x1=sin(2*pi*f1*t);
P=mean(x1.^2);%мощность сигнала
inputAngle=[180;0];%входящий угол

%Создание КФАР
ula=phased.UCA;%кольцевой массив
ula.NumElements=16;%количество элементов
ula.Radius =27;%радиус КФАР
fc =f1;%рабочая частота
y= collectPlaneWave(ula,x1,inputAngle,fc);%волновой фронт с сигналом
%Внутренний шум
SNR=3;
rng default
nk=10^(SNR/10);
npower=P/nk;
noise=sqrt(npower)*(randn(size(y)) + 1i*randn(size(y)));%формирование шума
y = y + noise;%добавление шума
y=y';
Rxx=y*y';

%МЕТОД СКАНИРОВАНИЯ
k=0:0.1:360;
lambda=physconst('LightSpeed')/fc;
r=ula.Radius;
M=ula.NumElements;%кол-во элементов АР

for N=1:1:M
et(N,:)=exp(1i*2*pi*r*cosd(360*(N-1)/(M)-k+11.25)*cosd(0)/lambda);%16 элементов
end
for jj=1:length(k)
a_idx=et(:,jj);
SBEAM(jj)=a_idx'*Rxx*a_idx;
end
figure(10)
plot(k,abs(SBEAM./max(SBEAM)))
grid on
xlabel('Азимут')
title ('Метод сканирования')

Как видно из рисунков, уровень боковых лепестков с помощью функции phased.BeamscanEstimator2D выше.

Теги

      20.01.2021

      Комментарии