exponenta event banner

Доплеровский сдвиг и импульсно-доплеровская обработка

Поддержка импульсно-доплеровской обработки

Относительное движение между источником сигнала и приемником производит сдвиги частоты принятого сигнала. Измерение этого доплеровского сдвига дает оценку относительной радиальной скорости движущейся цели.

Для узкополосного сигнала, распространяющегося со скоростью света, односторонний доплеровский сдвиг в герцах равен:

Δf = ±

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

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

Преобразовать скорость в доплеровский сдвиг

Предположим, что цель приближается к стационарному приемнику с радиальной скоростью 23,0 м/с. Мишень отражает узкополосную электромагнитную волну с частотой 1 ГГц. Оцените односторонний доплеровский сдвиг.

freq = 1e9;
v = 23.0;
lambda = physconst('LightSpeed')/freq;
dopplershift = speed2dop(v,lambda)
dopplershift = 76.7197

Односторонний доплеровский сдвиг составляет приблизительно 76,72 Гц. Поскольку цель приближается к приемнику, доплеровский сдвиг является положительным.

Перевести доплеровский сдвиг в скорость

Предположим, что вы наблюдаете доплеровский сдвиг 400,0 Гц для формы сигнала с частотой 9 ГГц. Определите радиальную скорость цели.

freq = 9e9;
df = 400.0;
lambda = physconst('LightSpeed')/freq;
speed = dop2speed(df,lambda)
speed = 13.3241

Целевая скорость составляет примерно 13,32 м/с.

Импульсно-доплеровская обработка медленных данных

Общей методикой оценки радиальной скорости движущейся цели является импульсно-доплеровская обработка. При импульсно-доплеровской обработке берется дискретное преобразование Фурье (DFT) медленных данных из ячейки диапазона, содержащей цель. Если частота повторения импульсов достаточно высока по отношению к скорости цели, цель располагается в одном и том же бункере диапазона для ряда импульсов. Соответственно, медленные данные, соответствующие этому бункеру диапазона, содержат информацию о доплеровском сдвиге, вызванном движущейся целью, которую можно использовать для оценки радиальной скорости цели.

Данные замедленного времени дискретизируются на частоте повторения импульсов (PRF), и, следовательно, DFT данных замедленного времени для данного бина диапазона дает оценку доплеровского спектра от [-PRF/2, PRF/2] Гц. Поскольку медленные данные являются комплексно-значимыми, величины ДПФ не обязательно являются четной функцией доплеровской частоты. Это устраняет неоднозначность между доплеровским сдвигом, соответствующим приближению (положительному доплеровскому сдвигу), или отступлением (отрицательному доплеровскому сдвигу) цели. Разрешение в доплеровской области - PRF/N, где N - число медленных отсчетов. Для интерполяции частотной сетки DFT и улучшения обнаружения пиков спектральная оценка медленных данных может быть вставлена нулями, но это не улучшает доплеровское разрешение.

Типичный рабочий процесс импульсно-доплеровской обработки включает в себя:

  • Обнаружение цели в измерении дальности (быстрые выборки). Это дает ячейку диапазона для анализа в измерении медленного времени.

  • Вычисление DFT отсчетов медленного времени, соответствующих указанному диапазону bin. Определите значительные пики в спектре величин и преобразуйте соответствующие доплеровские частоты в скорости.

Диапазон и скорость с использованием импульсно-доплеровской обработки

Этот пример иллюстрирует импульсно-доплеровскую обработку с использованием системы фазированной решетки Toolbox™. Предположим, что имеется стационарный моностатический радар, расположенный в глобальной точке (0,0,0). Радар состоит из одного изотропного антенного элемента. Имеется мишень с неплавающим сечением РЛС (RCS) 1 квадратный метр, первоначально расположенная на (1000,1000,0) м и движущаяся с постоянной скоростью (-100, -100,0) м/с. Антенна работает на частоте 1 ГГц и освещает цель 10 прямоугольными импульсами при PRF 10 кГц.

Примечание.Этот пример выполняется только в R2016b или более поздних версиях. При использовании более ранней версии замените каждый вызов функции эквивалентным step синтаксис. Например, заменить myObject(x) с step(myObject,x).

Определите системные объекты, необходимые для этого примера, и задайте их свойства. Начальное значение генератора случайных чисел для phased.ReceiverPreamp Система object™ для получения воспроизводимых результатов.

waveform = phased.RectangularWaveform('SampleRate',5e6,...
    'PulseWidth',6e-7,'OutputFormat','Pulses',...
    'NumPulses',1,'PRF',1e4);
target = phased.RadarTarget('Model','Nonfluctuating',...
    'MeanRCS',1,'OperatingFrequency',1e9);
targetpos = phased.Platform('InitialPosition',[1000; 1000; 0],...
    'Velocity',[-100; -100; 0]);
antenna = phased.IsotropicAntennaElement(...
    'FrequencyRange',[5e8 5e9]);
transmitter = phased.Transmitter('PeakPower',5e3,'Gain',20,...
'InUseOutputPort',true);
transpos = phased.Platform('InitialPosition',[0;0;0],...
    'Velocity',[0;0;0]);
radiator = phased.Radiator('OperatingFrequency',1e9,'Sensor',antenna);
collector = phased.Collector('OperatingFrequency',1e9,'Sensor',antenna);
channel = phased.FreeSpace('SampleRate',waveform.SampleRate,...
    'OperatingFrequency',1e9,'TwoWayPropagation',false);
receiver = phased.ReceiverPreamp('Gain',0,'LossFactor',0,...
    'SampleRate',5e6,'NoiseFigure',5,...
    'EnableInputPort',true,'SeedSource','Property','Seed',1e3);

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

NumPulses = 10;
sig = waveform(); % get waveform 
transpos = transpos.InitialPosition; % get transmitter position
rxsig = zeros(length(sig),NumPulses);
% transmit and receive ten pulses
for n = 1:NumPulses
    % update target position
    [tgtpos,tgtvel] = targetpos(1/waveform.PRF);
    [tgtrng,tgtang] = rangeangle(tgtpos,transpos);
    tpos(n) = tgtrng;
    [txsig,txstatus] = transmitter(sig); % transmit waveform
    txsig = radiator(txsig,tgtang); % radiate waveform toward target
    txsig = channel(txsig,transpos,tgtpos,[0;0;0],tgtvel); % propagate waveform to target
    txsig = target(txsig); % reflect the signal
    % propagate waveform from the target to the transmiter
    txsig = channel(txsig,tgtpos,transpos,tgtvel,[0;0;0]);
    txsig = collector(txsig,tgtang); % collect signal
    rxsig(:,n) = receiver(txsig,~txstatus); % receive the signal
end

Матрица rxsig содержит эхо-данные в матрице 500 на 10, где измерение строки содержит выборки быстрого времени, а измерение столбца содержит выборки медленного времени. Другими словами, каждая строка в матрице содержит медленные выборки из определенной ячейки диапазона.

Создайте линейно разнесенную сетку, соответствующую ячейкам диапазона из быстрых выборок. Ячейки диапазона простираются от 0 метров до максимального однозначного диапазона.

prf = waveform.PRF;
fs = waveform.SampleRate;
fasttime = unigrid(0,1/fs,1/prf,'[)');
rangebins = (physconst('LightSpeed')*fasttime)/2;

Затем определите ячейки диапазона, содержащие цели. В этом простом сценарии не используется согласованная фильтрация или изменяющаяся во времени компенсация усиления.

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

probfa = 1e-9;
NoiseBandwidth = 5e6/2;
npower = noisepow(NoiseBandwidth,...
    receiver.NoiseFigure,receiver.ReferenceTemperature);
thresh = npwgnthresh(probfa,NumPulses,'noncoherent');
thresh = sqrt(npower*db2pow(thresh));
[pks,range_detect] = findpeaks(pulsint(rxsig,'noncoherent'),...
    'MinPeakHeight',thresh,'SortStr','descend');
range_estimate = rangebins(range_detect(1));

Извлеките образцы замедленного действия, соответствующие ячейке диапазона, содержащей обнаруженную цель. Вычислить оценку спектральной плотности мощности медленных выборок с использованием periodogram и найти пиковую частоту. Преобразование пиковой доплеровской частоты в скорость с помощью dop2speed функция. Положительный доплеровский сдвиг указывает, что цель приближается к передатчику. Отрицательный доплеровский сдвиг указывает, что цель удаляется от передатчика.

ts = rxsig(range_detect(1),:).';
[Pxx,F] = periodogram(ts,[],256,prf,'centered');
plot(F,10*log10(Pxx))
grid
xlabel('Frequency (kHz)')
ylabel('Power (dB)')
title('Periodogram Spectrum Estimate')

Figure contains an axes. The axes with title Periodogram Spectrum Estimate contains an object of type line.

[Y,I] = max(Pxx);
lambda = physconst('LightSpeed')/1e9;
tgtspeed = dop2speed(F(I)/2,lambda);
fprintf('Estimated range of the target is %4.2f meters.\n',...
    range_estimate)
Estimated range of the target is 1439.00 meters.
fprintf('Estimated target speed is %3.1f m/sec.\n',tgtspeed)
Estimated target speed is 140.5 m/sec.
if F(I)>0
    fprintf('The target is approaching the radar.\n')
else
    fprintf('The target is moving away from the radar.\n')
end
The target is approaching the radar.

Истинная радиальная скорость цели обнаруживается в доплеровском разрешении, а дальность цели - в радиальном разрешении РЛС.

Связанные темы