Относительное движение между источником сигнала и получателем производит, переключает частоту на нижний регистр полученной формы волны. Измерение этого эффекта Доплера обеспечивает оценку относительной радиальной скорости движущейся цели.
Для узкополосного распространения сигнала со скоростью света односторонний эффект Доплера в герц:
где 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), и поэтому ДПФ медленно-разовых данных для данного интервала области значений приводит к оценке Доплеровского спектра от [-PRF/2, PRF/2] Гц. Поскольку медленно-разовые данные с комплексным знаком, значения ДПФ являются не обязательно четной функцией Доплеровской частоты. Это удаляет неоднозначность между эффектом Доплера, соответствующим приближению (положительный эффект Доплера), или возвращение захваченного (отрицательный эффект Доплера) цель. Разрешение в Доплеровской области является PRF/N, где N является количеством медленно-разовых выборок. Можно заполнить спектральную оценку медленно-разовых данных с нулями, чтобы интерполировать сетку частоты ДПФ и улучшить пиковое обнаружение, но это не улучшает Доплеровское разрешение.
Типичный рабочий процесс в импульсном Доплере, обрабатывающем, включает:
Обнаружение цели в размерности области значений (быстро-разовые выборки). Это дает интервал области значений, чтобы анализировать в медленно-разовой размерности.
Вычисление ДПФ медленно-разовых выборок, соответствующих заданному интервалу области значений. Идентифицируйте значительный peaks в спектре значения и преобразуйте соответствующие Доплеровские частоты в скорости.
Этот пример иллюстрирует импульсного Доплера, обрабатывающего использование Phased Array System Toolbox™. Примите, что у вас есть стационарный моностатический радар, расположенный в глобальном начале координат, (0,0,0). Радар состоит из одного изотропного элемента антенны. Существует цель с неколеблющимся радарным сечением (RCS) 1 квадратного метра, первоначально расположенного в (1000,1000,0) m и перемещающийся в постоянную скорость (-100,-100,0) m/s. Антенна действует на частоте 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;
Затем, обнаружьте интервалы области значений, которые содержат цели. В этом простом сценарии, никакой согласованной фильтрации или изменяющейся во времени компенсации усиления используется.
В этом примере, набор ложно-сигнальная вероятность к . Используйте некогерентное интегрирование этих десяти меандров и определите соответствующий порог для обнаружения в белом Гауссовом шуме. Поскольку этот сценарий содержит только одну цель, возьмите самый большой пик выше порога. Отобразите предполагаемый целевой диапазон.
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')
[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.
Истинная радиальная скорость цели обнаруживается в Доплеровском разрешении, и область значений цели обнаруживается в разрешении области значений радара.