• Регистрация
Grisha2018
Grisha20180.00
н/д
  • Написать
  • Подписаться

Корреляционный метод пеленгования

Добрый день, у меня возник вопрос

Моделирую метод сканирования в матлабе. 
Существует в phased array toolbox встроенная функция для метода сканирования. Я решил сравнить ее с собственно написанной. Получается, что разрешающие функции немного отличаются, а именно уровень боковых лепестков. Помогите найти ошибку

Код с собственной функцией

clear all
close all
f1=30e6;%частота 1 сигнала
%Первый сигнал
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
% SBEAM=real(sum((et'*Rxx).*et.',2));
figure(10)
plot(k,abs(SBEAM./max(SBEAM)))
grid on
xlabel('Азимут')
title ('Метод сканирования')

Собственный алгоритм

Встроенный алгоритм

 

Теги

      21.12.2020

      Ответы