Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Методичка_ДЗ_01122016(1)(1).DOCX
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Автокомпенсация активных помех

Автокомпенсация это один из способов борьбы с мощными активными помехами действующими в зоне работы РЛС. С системах с цифровым диаграмообразованием способ реализуется за счет формирования провалов в направлении действия помехи. При этом снижается коэффициент усиления антенны и ухудшается разрешающая способность по угловым координатам. В случае, если параметры диаграммы направленности основной антенны изменить нельзя (например, для зеркальных антенн), то ее дополняют группой ненаправленных компенсационных антенн с коэффициентом усиления ненамного превышающим уровень боковых лепестков диаграммы направленности основной антенны. Идея компенсации при этом заключается в установлении корреляционных связей между сигналом в основном и компенсационных каналов. Тогда мощная помеха, действующая в основном канале может быть скомпенсирована сигналом из компенсационного канала с некоторым коэффициентом K .

Компенсацию помехи по заднему лепестку можно осуществить по следующему алгоритму:

u

(t )=F

0

(Θ(п))⋅u

вх

(t)

(20)

0

β

u1 (t)=F1 (Θ(βз))⋅uвх(t)

(21)

Оглавление

А.Н. Семёнов

Методические указания к домашнему заданию по курсу

«РАДИОЛОКАЦИОННЫЕ ИНФОРМАЦИОННЫЕ И ИЗМЕРИТЕЛЬНЫЕ КОМПЛЕКСЫ»

20

uвых (t)=u0 (t )−K⋅u1 (t )

(22)

K =γ0⋅

M {u1 (t)⋅u0 (t)}

(23)

1+γ0⋅M {

u1 (t)}

где γ0=10

,

u0 (t ) - сигнал через передний лепесток

диаграммы

направленности,

u1 (t) - сигнал

через задний лепесток диаграммы направленности,

F0 (Θβ) - ДН

переднего лепестка, F1 (Θβ) - ДН заднего лепестка, М {x }

- оператор математического

ожидания,

x

- среднее значение случайной величины.

Диаграммы направленности заднего и переднего лепестка неявно присутствуют в записанном сигнале. В первом приближении можно предположить, что ненаправленная диаграмма является суперпозицией отражений по выбранным угловым направлениям и

отличается на некоторый коэффициент усиления, например на K комп=−13,3 Дб

, тогда

Θ=−π/2

u1 (t)=F1 (Θ(βз))⋅uвх(t)=Kкомп⋅ ∑

F0 (Θβ(п)−Θ)⋅uвх (t )

(24)

Θ=−3 π /2

Для реализации процедуры автокомпенсации применим ООП подход. Создадим класс AKP (файл AKP.m), описывающий блок автокомпенсации сигнала. Формирование карты будем осуществлять через скрипт (файл main.m).

Файл AKP.m

classdef AKP < handle

%AKP осуществляет автокомпенсацию активных помех

properties

%определяем параметры автокомпенсации

wnd

= 30

%число отсчетов для оценки коэфф. компенсации

g =

10

%коэффициент компенсации

th_shift = 5000; %смещение для заднего лепестка 5000 = -180 гр

k_back = 10^(-13.3/20); %коэффициент усиления компенсационной антенны

akp_data

akp_ang

%выходной массив данных

%выходной массив кодов углов данных

end

methods

function compensate(obj,hInData,hInAng) %компенсация данных

obj.akp_data = []; %удаляем результаты прошлых вычислений obj.akp_ang = [];

%вычисляем сигнал действующий на входе

a = (hInAng - obj.th_shift)>1;

[~,col] = find(a > 0,1,'first');

for ii = col:length(hInAng)

u0 = hInData(:,ii); %Формула 20

angIdx = ii-obj.th_shift:ii-1;

angIdx(angIdx < 1) = [];

u1 = sum(hInData(:,angIdx),2)*obj.k_back; %формула 21 и 24

K = obj.g*sum(u0(end-obj.wnd:end).*u1(end-obj.wnd:end),1)/...

(1+obj.g*sum(u1(end-obj.wnd:end).^2,1));%формула 23

obj.akp_data = [obj.akp_data (u0 - K*u1)];%Формула 22

obj.akp_ang = [obj.akp_ang hInAng(ii)];

end

end

Оглавление

А.Н. Семёнов

Методические указания к домашнему заданию по курсу

«РАДИОЛОКАЦИОННЫЕ ИНФОРМАЦИОННЫЕ И ИЗМЕРИТЕЛЬНЫЕ КОМПЛЕКСЫ»

21

function show(obj,hInData,hInAng)

figure;

%сырые данные

subplot(1,2,1);

temp = abs(hInData(:));

q = quantile(temp,0.9);

idxAng = (hInAng - obj.th_shift) > 1;

imagesc(abs(hInData(:,idxAng)),[0 q]);

xlabel('Угол, отс');

ylabel('Дальность, отс');

subplot(1,2,2);

%данные после компенсации

imagesc(abs(obj.akp_data),[0 q]);

xlabel('Угол, отс');

ylabel('Дальность, отс');

end

function Kp = calc_kp(obj,r,a,hInData)

%оценка коэффициента подавления в выбранной точке

Kp = 20*log10(abs(obj.akp_out)/abs(hInData(r,a)));

end

end

end

Файл main.m

fnames = dir('files');

%создаем объект класса RawData

rlsdata = RawData([fnames(21).folder '\'],fnames(21).name); %выполняем метод класса для рафинирования rlsdata.rafinate(20);

rlsdata.show;

%создаем объект класса AKP

akp = AKP;

%осуществляем компенсацию

akp.compensate(rlsdata.raw,rlsdata.angles);

akp.show(rlsdata.raw,rlsdata.angles);

До автокомпенсации

После автокомпенсации

Рисунок 7 — Результаты автокомпенсации сигнала

Оглавление

А.Н. Семёнов

Методические указания к домашнему заданию по курсу

«РАДИОЛОКАЦИОННЫЕ ИНФОРМАЦИОННЫЕ И ИЗМЕРИТЕЛЬНЫЕ КОМПЛЕКСЫ»

22

Пороговая обработка сигналов

Для обнаружения сигнала, отраженного от подвижной цели, используется задача обнаружения полностью известного сигнала с неизвестной постоянной начальной фазой и

амплитудой. Для этого необходимо задаться Fлт=10−4 на один элемент разрешения радиолокационного объема и вероятностью правильного обнаружения D=0,5 . Тогда можно оценить порог для заданной системы по формуле:

  • пор=√ −2⋅ln(F лт)⋅σ2ш

где σ2ш - дисперсия шума.

Данные прошедшие процедуру автокомпенсации, согласованной обработки и селекции движущейся цели сравниваются с рассчитанным порогом. Превышение его будет означать присутствие цели в текущем элементе разрешения.

Для реализации процедуры пороговой обработки применим ООП подход. Создадим класс Detector (файл Detector.m), описывающий блок вычисления порога и обнаружения целей. Данные на вход Detector будем подавать через скрипт (файл main.m).

Файл Detector.m

classdef Detector < handle

%Detector осуществляет обнаружение целей

properties

%определяем параметры детектора

thr %порог обнаружения

Fa %вероятность ложных тревог

detections

%выходной массив данных

end

methods

function obj = Detector(fa)

obj.Fa = fa;

end

function detect(obj,inData,r,a) %обнаружение целей

%вычисляем порог в заданной области свободной от целей r - a temp = abs(inData(r,a));

s2 = var(temp(:));

obj.thr = 2.5*sqrt(-2*log(obj.Fa)*s2);

obj.detections = inData > obj.thr;

end

function show(obj,hInData)

figure;

%сырые данные

subplot(1,2,1);

temp = abs(hInData(:));

q = quantile(temp,0.9);

imagesc(abs(hInData),[0 q]);

xlabel('Угол, отс');

ylabel('Дальность, отс');

if ~isempty(obj.detections)

subplot(1,2,2);

%данные после порога

imagesc(abs(obj.detections),[0 1]);

xlabel('Угол, отс');

ylabel('Дальность, отс');

end

end

end

end

Оглавление

А.Н. Семёнов

Методические указания к домашнему заданию по курсу

«РАДИОЛОКАЦИОННЫЕ ИНФОРМАЦИОННЫЕ И ИЗМЕРИТЕЛЬНЫЕ КОМПЛЕКСЫ»

23

Файл main.m

fnames = dir('files');

%создаем объект класса RawData

rlsdata = RawData([fnames(21).folder '\'],fnames(21).name);

rlsdata.rafinate(20); %выполняем метод класса для рафинирования

akp = AKP; %создаем объект класса AKP

akp.compensate(rlsdata.raw,rlsdata.angles); %осуществляем компенсацию

convdata = ConvData(akp); %создаем объект класса ConvData

convdata.convole_time('ski'); %выполняем метод свертки во временной области

sdcdata = SDC(convdata); %создаем объект класса SDC

sdcdata.chpk1; %выполняем операцию СДЦ

detector = Detector(1e-4); %создаем объек класса Detector

detector.detect(sdcdata.sdc_data(2000:end,:),13000:14000,1:length(sdcdata.sdc_ang)); detector.show(sdcdata.sdc_data(2000:end,:))

%отображение в полярных координатах

figure;

a = double(rlsdata.angles(sdcdata.sdc_ang));

z = double(detector.detections(1:3000,:));

polarplot3d(z,...

'AngularRange',[min(a) max(a)]*pi/5000,'RadialRange',[2000 5000]*0.375); view(2);

axis off;

axis equal;

До порогового обнаружения

После порогового обнаружения

Рисунок 8 — Результаты обнаружения целей

Оглавление

А.Н. Семёнов

Методические указания к домашнему заданию по курсу

«РАДИОЛОКАЦИОННЫЕ ИНФОРМАЦИОННЫЕ И ИЗМЕРИТЕЛЬНЫЕ КОМПЛЕКСЫ»

24

Рисунок 9 — Результаты обнаружения в полярной системе координат