Одновременная оценка области значений и скорости Используя форму волны MFSK

Этот пример выдерживает сравнение, треугольник развертываются модулируемый частотой непрерывный (FMCW) и формы волны нескольких манипулирований сдвига частоты (MFSK), используемые для одновременной области значений и оценки скорости для нескольких целей. Форма волны MFSK специально предназначена для автомобильных радиолокационных систем, используемых в продвинутых системах помощи водителю (ADAS). Это особенно привлекательно в мультицелевых сценариях, потому что это не вводит фантомные цели.

Треугольная развертка форма волны FMCW

В примере Автомобильный Адаптивный Круиз-контроль Используя Технологию FMCW (Radar Toolbox) автомобильная радиолокационная система спроектирована, чтобы выполнить оценку области значений для автоматической системы круиз-контроля. В последней части того примера треугольная развертка форма волны FMCW используется, чтобы оценить область значений и скорость целевого транспортного средства одновременно.

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

Сцена включает автомобиль на расстоянии в 50 метров от радара, перемещающегося на уровне 96 км/ч вдоль того же направления как радар и грузовик в на расстоянии в 55 метрах, перемещающихся на уровне 70 км/ч в противоположном направлении. Сам радар перемещается на уровне 60 км/ч.

rng(2015);

[fmcwwaveform,target,tgtmotion,channel,transmitter,receiver,...
    sensormotion,c,fc,lambda,fs,maxbeatfreq] = helperMFSKSystemSetup;

Затем симулируйте радарное эхо от этих двух транспортных средств. Форма волны FMCW имеет полосу пропускания развертки 150 МГц, таким образом, разрешение области значений составляет 1 метр. Каждый или вниз развертывается, берет 1 миллисекунду, таким образом, каждая треугольная развертка берет 2 миллисекунды. Обратите внимание на то, что только одна треугольная развертка необходима, чтобы выполнить объединенную область значений и оценку скорости.

Nsweep = 2;
xr = helperFMCWSimulate(Nsweep,fmcwwaveform,sensormotion,tgtmotion,...
    transmitter,channel,target,receiver);

Несмотря на то, что системе нужна полоса пропускания на 150 МГц, максимальная частота удара намного меньше. Это означает в стороне обработки, можно десятикратно уменьшить сигнал к более низкой частоте, чтобы упростить требования к аппаратным средствам. Частоты удара затем оцениваются с помощью подкошенного сигнала.

dfactor = ceil(fs/maxbeatfreq)/2;
fs_d = fs/dfactor;
fbu_rng = rootmusic(decimate(xr(:,1),dfactor),2,fs_d);
fbd_rng = rootmusic(decimate(xr(:,2),dfactor),2,fs_d);

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

sweep_slope = fmcwwaveform.SweepBandwidth/fmcwwaveform.SweepTime;
rng_est = beat2range([fbu_rng fbd_rng;fbu_rng flipud(fbd_rng)],...
    sweep_slope,c)
rng_est = 4×1

   49.9802
   54.9406
   64.2998
   40.6210

Остающиеся два - то, для чего часто называемый фантомом предназначается. Отношение между действительными целями и фантомными целями может быть лучше объяснено с помощью представления частоты времени.

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

Форма волны MFSK

Форма волны нескольких манипулирований сдвига частоты (MFSK) [1] спроектирована для автомобильного радара, чтобы достигнуть одновременного оценивания дальности и радиальной скорости объектов под несколькими целевой ситуацией, не попадая в прерывание фантомных целей. Его представление частоты времени показывают в следующем рисунке.

Фигура указывает, что форма волны MFSK является комбинацией двух линейных форм волны FMCW со смещением фиксированной частоты. В отличие от регулярных форм волны FMCW, MFSK развертывает целую полосу пропускания на дискретных шагах. В каждом шаге одна частота передается непрерывный сигнал волны. Поскольку существует два тона в каждом шаге, это может быть рассмотрено как форму волны манипулирования сдвига частоты (FSK). Таким образом существует один набор области значений и Доплеровского отношения от формы волны FMCW и другой набор области значений и Доплеровского отношения от FSK. Объединение двух наборов отношений вместе может помочь разрешить связь между областью значений и Доплером независимо количество целей, существующих в сцене.

Следующие разделы симулируют предыдущий пример снова, но используют форму волны MFSK вместо этого.

Сквозная симуляция радиолокационной системы Используя форму волны MFSK

Во-первых, параметрируйте форму волны MFSK, чтобы удовлетворить системному требованию, заданному в [1]. Поскольку разрешение области значений составляет 1 метр, полоса пропускания развертки установлена на уровне 150 МГц. Кроме того, смещение частоты установлено на уровне-294 кГц, как задано в [1]. Каждый шаг длится приблизительно 2 микросекунды, и целая развертка имеет 1 024 шага. Таким образом каждая развертка FMCW делает 512 шагов, и общее время развертки составляет немногим более, чем 2 мс. Обратите внимание на то, что время развертки сопоставимо с сигналом FMCW, используемым в предыдущих разделах.

mfskwaveform = phased.MFSKWaveform(...
    'SampleRate',151e6,...
    'SweepBandwidth',150e6,...
    'StepTime',2e-6,...
    'StepsPerSweep',1024,...
    'FrequencyOffset',-294e3,...
    'OutputFormat','Sweeps',...
    'NumSweeps',1);

Рисунок ниже показывает спектрограмму формы волны. Это масштабируется на маленький интервал, чтобы лучше показать характеристики частоты времени формы волны.

numsamp_step = round(mfskwaveform.SampleRate*mfskwaveform.StepTime);
sig_display = mfskwaveform();
spectrogram(sig_display(1:8192),kaiser(3*numsamp_step,100),...
    ceil(2*numsamp_step),linspace(0,4e6,2048),mfskwaveform.SampleRate,...
    'yaxis','reassigned','minthreshold',-60)

Figure contains an axes object. The axes object contains an object of type image.

Затем симулируйте возврат системы. Снова, только 1 развертка необходима, чтобы оценить область значений и Доплера.

Nsweep = 1;
release(channel);
channel.SampleRate = mfskwaveform.SampleRate;
release(receiver);
receiver.SampleRate = mfskwaveform.SampleRate;

xr = helperFMCWSimulate(Nsweep,mfskwaveform,sensormotion,tgtmotion,...
    transmitter,channel,target,receiver);

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

x_dechirp = reshape(xr(numsamp_step:numsamp_step:end),2,[]).';
fs_dechirp = 1/(2*mfskwaveform.StepTime);

Как в случае сигналов FMCW, форма волны MFSK обрабатывается в частотном диапазоне. Следующие рисунки показывают спектры частоты полученного соответствия echos двум разверткам.

xf_dechirp = fft(x_dechirp);
num_xf_samp = size(xf_dechirp,1);
beatfreq_vec = (0:num_xf_samp-1).'/num_xf_samp*fs_dechirp;

clf;
subplot(211),plot(beatfreq_vec/1e3,abs(xf_dechirp(:,1)));grid on;
ylabel('Magnitude');
title('Frequency spectrum for sweep 1');
subplot(212),plot(beatfreq_vec/1e3,abs(xf_dechirp(:,2)));grid on;
ylabel('Magnitude');
title('Frequency spectrum for sweep 2');
xlabel('Frequency (kHz)')

Figure contains 2 axes objects. Axes object 1 with title Frequency spectrum for sweep 1 contains an object of type line. Axes object 2 with title Frequency spectrum for sweep 2 contains an object of type line.

Обратите внимание на то, что существует два peaks в каждом спектре частоты, указывающем на две цели. Кроме того, peaks в идентичных местоположениях в оба, возвращается, таким образом, нет никаких фантомных целей.

Чтобы обнаружить peaks, можно использовать детектор CFAR. После того, как обнаруженный, частоты удара, а также разность фаз между двумя спектрами вычисляются в пиковых местоположениях.

cfar = phased.CFARDetector('ProbabilityFalseAlarm',1e-2,...
    'NumTrainingCells',8);

peakidx = cfar(abs(xf_dechirp(:,1)),1:num_xf_samp);

Fbeat = beatfreq_vec(peakidx);
phi = angle(xf_dechirp(peakidx,2))-angle(xf_dechirp(peakidx,1));

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

fb=-2vλ+2βRc

Δϕ=-4πTsvλ+4πfoffsetRc

где fb частота удара, Δϕ разность фаз, λ длина волны, c скорость распространения, Ts время шага, foffset смещение частоты, β наклон развертки, R область значений, и v скорость. На основе уравнения область значений и скорость оцениваются ниже:

sweep_slope = mfskwaveform.SweepBandwidth/...
    (mfskwaveform.StepsPerSweep*mfskwaveform.StepTime);
temp = ...
    [1 sweep_slope;mfskwaveform.StepTime mfskwaveform.FrequencyOffset]\...
    [Fbeat phi/(2*pi)].';

r_est = c*temp(2,:)/2
r_est = 1×2

   54.8564   49.6452

v_est = lambda*temp(1,:)/(-2)
v_est = 1×2

   36.0089   -9.8495

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

  • Автомобиль: r = 50 м, v =-10 м/с

  • Грузовик: r = 55 м, v = 36 м/с

Сводные данные

Этот пример показывает две одновременных области значений и подходы оценки скорости, с помощью или треугольной развертки форму волны FMCW или формы волны MFSK. Показано, что форма волны MFSK имеет преимущество перед формой волны FMCW, когда несколько целей присутствуют, поскольку это не вводит фантомные цели во время обработки.

Ссылки

[1] Rohling, H. и М. Мейнек. Принцип разработки формы волны для автомобильных радиолокационных систем, продолжений международной конференции CIE по вопросам радара, 2001.