Карта местности и классификация зон
Карта статистических параметров может быть сформирована на основе как «сырых» данных с выхода РЛС, так и на основе нулевых каналов после применения процедуры СДЦ, за N периодов обзора пространства по следующим рекуррентным соотношениям:
^ | N −1 | ^ | , | (17) | |||||||||||||||||
m[ j]= | N | m[ j−1 | ]+ | N | A[ j] | ||||||||||||||||
^ | N−1^ | ^ | , | (18) | |||||||||||||||||
D [ j]= | D [ j−1]+ | ( A[ j]−m | [ j]) | ||||||||||||||||||
N | N | ||||||||||||||||||||
где | m[ j−1] | - оценка среднего значения амплитуды (модуля квадратур) с предыдущего | |||||||||||||||||||
^ | |||||||||||||||||||||
шага | j−1 | ; | N - | ширина | окна, по | которому | рассчитывается | оценка ; | A [ j]- | ||||||||||||
амплитуда | эхосигнала | с текущего | шага | с выхода | согласованного | фильтра | (модуль | ||||||||||||||
квадратуры сигнала); | ^ | - оценка дисперсии с предыдущего шага. | |||||||||||||||||||
D [ j−1] |
Для классификации зон на карте местности необходимо знать мощность шумов приёмника, которая может быть оценена, например, как среднее значение на некотором участке карты местности свободном от местных отражений по следующей формуле
Ns | ||||
Dnprm= | ∑ D [i] , | (19) | ||
Ns i=1 | ||||
где Ns - объем выборки из карты местности дисперсий | D [i]. |
В зависимости от того, какой уровень отражений присутствует в элементах разрешения, на карте местности выделяют три области.
a) Теневая область m[i]≤k1⋅√Dnprm , где m[i] - элемент карты местности
математических ожиданий, а Dnprm - оценка дисперсии шума приёмника, причем
минимальная ширина зоны тени должна быть согласована с шириной окна накопления сигнала N (числом периодов обзора в обработке). Если число подряд идущих отсчетов
меньше ширины окна N , то его необходимо расширить. В этой области обнаружение цели происходит по классическим соотношениям на фоне белого гауссовского шума.
Оглавление
А.Н. Семёнов
Методические указания к домашнему заданию по курсу
«РАДИОЛОКАЦИОННЫЕ ИНФОРМАЦИОННЫЕ И ИЗМЕРИТЕЛЬНЫЕ КОМПЛЕКСЫ»
б) Область отражений от стационарных объектов | m[i]>k ⋅ | , где m[i] - | |||
D [i] | |||||
√ | |||||
элемент карты местности математических ожиданий, а | D [i] | - | дисперсий. В этой |
области эффективна селекция малоподвижных целей.
в) Область отражений от флуктуирующих объектов, все оставшееся. В этой области
эффективны процедуры когерентной и некогерентной СДЦ.
Для реализации процедуры формирования карты местности применим ООП подход. Создадим класс Map (файл Map.m), описывающий блок формирования карты статистических параметров элементов разрешения. Формирование карты будем осуществлять через скрипт (файл main.m).
Файл Map.m
classdef Map < handle
%Map осуществляет формирование карты местных отражений
properties | ||
%параметры карты | %массив дальностей | |
ranges | ||
angles | %массив кодов углов | |
wndSz | %число накапливаемых периодов |
data_m %карта местности мат ожиданий
data_s %карта местности дисперсий
shadowZone | %карта тени | |
k1 = 6; | %карта медленных флуктуации | |
slowmotionZone | ||
k2 = 10; | %карта быстрых флуктуаций | |
sdcZone | ||
%параметры карты | %число использованных периодов при построении карты | |
used_periods | ||
mapFormedFlag | %признак сформированной карты | |
end |
methods
function obj = Map(hRIn,hAIn,nWnd,iR) %конструктор объекта obj.wndSz = nWnd;
obj.ranges = iR;
obj.angles = 1:10000;
obj.data_m = [];
obj.data_s = single(zeros(length(obj.ranges),length(obj.angles)));
obj.shadowZone = [];
obj.slowmotionZone = [];
obj.sdcZone = [];
obj.used_periods = 0; %число использованных периодов при построении карты obj.mapFormedFlag = 0; %признак сформированной карты
obj.update(hRIn,hAIn);
end
function update(obj,dataIn,angIn) %формировние карты местности МО %приведение данных к формату карты по дальности
temp = abs(dataIn(obj.ranges,:));
tempA = zeros(length(obj.ranges),length(obj.angles));
angIn(angIn == 0) = 1;
tempA(:,angIn) = temp;
if isempty(obj.data_m)
obj.data_m = 1/obj.wndSz*tempA;
obj.data_s = 1/obj.wndSz*(tempA-obj.data_m).^2;
else
obj.data_m = (obj.wndSz-1)/obj.wndSz*obj.data_m+...
1/obj.wndSz*tempA;
obj.data_s = (obj.wndSz-1)/obj.wndSz*obj.data_s+...
Оглавление
А.Н. Семёнов
Методические указания к домашнему заданию по курсу
«РАДИОЛОКАЦИОННЫЕ ИНФОРМАЦИОННЫЕ И ИЗМЕРИТЕЛЬНЫЕ КОМПЛЕКСЫ»
1/obj.wndSz*(tempA-obj.data_m).^2;
end
obj.used_periods = obj.used_periods + 1;
if obj.used_periods > obj.wndSz
obj.mapFormedFlag = 1;
end
if mod(obj.used_periods,obj.wndSz) == 0
%сгладить все данные
z = 5001+(-500:500); %азимутальные каналы (параметры системы) mask = zeros(1,10000);
mask(z) = hamming(length(z));
for ii = 1:length(obj.ranges)
temp = fftshift(fft(obj.data_m(ii,:)));
obj.data_m(ii,:) = ifft(ifftshift(temp.*mask));
temp = fftshift(fft(obj.data_s(ii,:)));
obj.data_s(ii,:) = ifft(ifftshift(temp.*mask));
end
end
end
function show(obj)
figure;
if ~isempty(obj.data_m)
%вывод мат ожиданий
subplot(1,2,1);
temp = obj.data_m(obj.data_m ~= 0);
q_m = quantile(temp(:),0.9);
imagesc(obj.data_m,[0 abs(q_m)]);
title('Карта МО');
xlabel('Угол, отс');
ylabel('Дальность, отс');
colorbar;
subplot(1,2,2);
%вывод дисперсий
temp = obj.data_s(obj.data_s ~= 0);
q_s = quantile(temp(:),0.9);
imagesc(obj.data_s,[0 abs(q_s)]);
title('Карта дисперсий');
xlabel('Угол, отс');
ylabel('Дальность, отс');
colorbar;
end
end
function classificate(obj,r,a) %классификация зон
if obj.used_periods < obj.wndSz
fprintf(2,'Недостаточно данных\n');
return
end
sigma2 = obj.data_s(r,a);
sigma2 = mean(sigma2(:));
obj.shadowZone = obj.k1*sqrt(sigma2) > obj.data_m; obj.slowmotionZone = obj.k2*sqrt(obj.data_s) < obj.data_m; obj.sdcZone = ~or(obj.shadowZone,obj.slowmotionZone);
end
function show_types(obj)
figure;
if ~isempty(obj.data_m)
%вывод теневой области
subplot(1,3,1);
imagesc(obj.shadowZone);
title('Теневая область');
xlabel('Угол, отс');
ylabel('Дальность, отс');
subplot(1,3,2);
%вывод области слабых флуктуаций
imagesc(obj.slowmotionZone);
title('Область слабых флуктуаций');
xlabel('Угол, отс');
ylabel('Дальность, отс');
subplot(1,3,3);
%вывод области сильных флуктуаций
imagesc(obj.sdcZone);
title('Область сильных флуктуаций');
xlabel('Угол, отс');
ylabel('Дальность, отс');
end
end
end
end
Оглавление
А.Н. Семёнов
Методические указания к домашнему заданию по курсу
«РАДИОЛОКАЦИОННЫЕ ИНФОРМАЦИОННЫЕ И ИЗМЕРИТЕЛЬНЫЕ КОМПЛЕКСЫ»
Файл main.m
fnames = dir('files');
%создаем объект класса RawData
rlsdata = RawData([fnames(21).folder '\'],fnames(21).name); %выполняем метод класса для рафинирования rlsdata.rafinate(20);
rlsdata.show;
%создаем объект класса Map
rawmap = Map(rlsdata.raw,rlsdata.angles,17,1001:2000);
for ii = 22:38 %накапливаем карту
rlsdata.open([fnames(ii).folder '\'],fnames(ii).name);
rlsdata.rafinate(20);
rawmap.update(rlsdata.raw,rlsdata.angles);
end
%отображаем результаты
rawmap.show;
%проводим классификацию областей
rawmap.classificate(1:250,1500:2000);
rawmap.show_types;
Мат. ожидания | Дисперсии | ||
Рисунок 5 — Карты мат. Ожиданий и дисперсий в зоне 2
Оглавление
А.Н. Семёнов
Методические указания к домашнему заданию по курсу
«РАДИОЛОКАЦИОННЫЕ ИНФОРМАЦИОННЫЕ И ИЗМЕРИТЕЛЬНЫЕ КОМПЛЕКСЫ»
Теневая область | Область медленных Область быстрых флуктуаций |
флуктуаций
Рисунок 6 — Классификация областей на зоны