В этом примере сравниваются сигналы с частотно-модулированной разверткой треугольника (FMCW) и сигналы с многократной частотной манипуляцией (MFSK), используемые для одновременной оценки дальности и скорости для нескольких целей. Сигнал MFSK специально разработан для автомобильных радиолокационных систем, используемых в современных системах помощи водителю (ADAS). Она особенно привлекательна в сценариях с несколькими целевыми объектами, поскольку не вводит цели-призраки.
В примере Automotive Adaptive Cruise Control Using FMCW Technology (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.9765
54.9088
64.2963
40.5891
Остальные два - это то, что часто называют целями-призраками. Взаимосвязь между реальными целями и целями-призраками можно лучше объяснить с помощью частотно-временного представления.

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

Рисунок показывает, что сигнал MFSK представляет собой комбинацию двух линейных сигналов FMCW с фиксированным сдвигом частоты. В отличие от обычных форм сигналов FMCW, MFSK сдвигает всю полосу пропускания на дискретных шагах. На каждом этапе передается один частотный непрерывный волновой сигнал. Поскольку в каждом шаге имеется два тона, его можно рассматривать как форму сигнала с частотной манипуляцией (FSK). Таким образом, имеется один набор диапазона и доплеровского отношения от формы сигнала FMCW и другой набор диапазона и доплеровского отношения от FSK. Объединение двух наборов соотношений вместе может помочь разрешить связь между дальностью и доплеровской величиной независимо от количества целей, присутствующих в сцене.
В следующих разделах снова моделируется предыдущий пример, но вместо него используется сигнал MFSK.
Сначала параметризуйте форму сигнала MFSK в соответствии с требованиями системы, указанными в [1]. Поскольку разрешение диапазона равно 1 метру, полоса пропускания развертки устанавливается на 150 МГц. Кроме того, смещение частоты устанавливается равным -294 кГц, как указано в [1]. Каждый шаг длится около 2 микросекунд, и весь сдвиг имеет 1024 шага. Таким образом, каждый свип 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)

Затем смоделируйте возврат системы. Опять же, для оценки диапазона и доплеровского диапазона необходим только 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 обрабатывается в частотной области. На следующих чертежах показаны частотные спектры принятых эхо-сигналов, соответствующих двум передачам.
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)')

Следует отметить, что в каждом частотном спектре имеется два пика, указывающих на две цели. Кроме того, пики находятся в одинаковых местоположениях в обоих возвращениях, так что нет целей-призраков.
Для обнаружения пиков можно использовать детектор 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));
Наконец, частоты биений и разности фаз используются для оценки диапазона и скорости. В зависимости от того, как строится разность фаз, уравнения немного отличаются. Для подхода, показанного в этом примере, можно показать, что диапазон и скорость удовлетворяют следующему соотношению:
2βRc
4πfoffsetRc
где - частота биений, - разность фаз, - длина волны, - скорость распространения, - время шага, - сдвиг частоты, - наклон развертки, - диапазон, 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. и М. Мейнек. Принцип проектирования формы сигнала для автомобильных радиолокационных систем, материалы Международной конференции КИПиИ по радиолокационным системам, 2001 год.