В этом примере описывается, как формирование виртуального массива в радарах MIMO может помочь увеличить угловое разрешение. В нем показано, как моделировать когерентную цепочку обработки радиолокационных сигналов MIMO с использованием системы фазированной матрицы Toolbox™.
Существует две категории радиолокаторов с множеством входов и множеством выходов (MIMO). Многостатические РЛС образуют первую категорию. Их часто называют статистическими MIMO-радарами. Когерентные MIMO-радары образуют вторую категорию и находятся в центре внимания этого примера. Преимуществом обработки когерентного MIMO радиолокационного сигнала является возможность увеличения углового разрешения физической антенной решетки путем формирования виртуальной решетки.
Виртуальный массив может быть создан квазимоностатическими MIMO-радарами, где близко расположены массивы передачи и приема. Чтобы лучше понять концепцию виртуальной решетки, сначала взгляните на двустороннюю схему обычного радара с фазированной решеткой. Двусторонний шаблон радара с фазированной решеткой является результатом его шаблона матрицы передачи и шаблона матрицы приема. Например, рассмотрим радар с миллиметровой частотой 77 ГГц с 2-элементной передающей матрицей и 4-элементной приемной матрицей.
fc = 77e9; c = 3e8; lambda = c/fc; Nt = 2; Nr = 4;
Если оба массива имеют полуволновый интервал, который иногда называют полными массивами, то двусторонний шаблон близок к шаблону принимающего массива.
dt = lambda/2; dr = lambda/2; txarray = phased.ULA(Nt,dt); rxarray = phased.ULA(Nr,dr); ang = -90:90; pattx = pattern(txarray,fc,ang,0,'Type','powerdb'); patrx = pattern(rxarray,fc,ang,0,'Type','powerdb'); pat2way = pattx+patrx; helperPlotMultipledBPattern(ang,[pat2way pattx patrx],[-30 0],... {'Two-way Pattern','Tx Pattern','Rx Pattern'},... 'Patterns of full/full arrays - 2Tx, 4Rx',... {'-','--','-.'});

Если полный передающий массив заменен тонким массивом, что означает, что расстояние между элементами больше половины длины волны, то двусторонний шаблон имеет более узкую ширину луча. Обратите внимание, что даже если тонкий передающий массив имеет лепестки решетки, эти лепестки решетки не присутствуют в двустороннем шаблоне.
dt = Nr*lambda/2; txarray = phased.ULA(Nt,dt); pattx = pattern(txarray,fc,ang,0,'Type','powerdb'); pat2way = pattx+patrx; helperPlotMultipledBPattern(ang,[pat2way pattx patrx],[-30 0],... {'Two-way Pattern','Tx Pattern','Rx Pattern'},... 'Patterns of thin/full arrays - 2Tx, 4Rx',... {'-','--','-.'});

Двусторонний шаблон этой системы соответствует шаблону виртуального массива приема с 2 x 4 = 8 элементами. Таким образом, тщательно выбирая геометрию матриц передачи и приема, мы можем увеличить угловое разрешение системы без добавления дополнительных антенн к массивам.

varray = phased.ULA(Nt*Nr,dr); patv = pattern(varray,fc,ang,0,'Type','powerdb'); helperPlotMultipledBPattern(ang,[pat2way patv],[-30 0],... {'Two-way Pattern','Virtual Array Pattern'},... 'Patterns of thin/full arrays and virtual array',... {'-','--'},[1 2]);

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

Следует отметить, что поскольку каждый элемент в матрице передачи излучает независимо, отсутствует формирование луча передачи, поэтому шаблон передачи является широким и охватывает большое поле зрения (FOV). Это позволяет одновременно освещать все цели в КВ. Затем приемная матрица может генерировать множество лучей для обработки всех целевых эхо-сигналов. По сравнению с обычными РЛС с фазированной решеткой, которые нуждаются в последовательном сканировании для покрытия всего БПВ, это является еще одним преимуществом РЛС MIMO для приложений, которые требуют быстрого времени реакции.
Мультиплексирование с временным разделением каналов (TDM) является одним из способов достижения ортогональности среди каналов передачи. В оставшейся части этого примера показано, как моделировать и моделировать автомобильную радиолокационную систему с частотно-модулированной непрерывной волной (FMCW) TDM-MIMO. Характеристики формы сигнала адаптированы на примере автомобильного адаптивного круиз-контроля с использованием технологии FMCW.
waveform = helperDesignFMCWWaveform(c,lambda); fs = waveform.SampleRate;
Представьте, что в ФОВ два автомобиля с отрывом 20 градусов. Как видно из более ранних диаграмм массива в этом примере, ширина 3dB луча 4-элементной матрицы приема составляет около 30 градусов, так что обычная обработка не сможет разделить две цели в угловой области. Параметры датчика РЛС:
transmitter = phased.Transmitter('PeakPower',0.001,'Gain',36); receiver = phased.ReceiverPreamp('Gain',40,'NoiseFigure',4.5,'SampleRate',fs); txradiator = phased.Radiator('Sensor',txarray,'OperatingFrequency',fc,... 'PropagationSpeed',c,'WeightsInputPort',true); rxcollector = phased.Collector('Sensor',rxarray,'OperatingFrequency',fc,... 'PropagationSpeed',c);
Определите положение и движение эго-транспортного средства и двух автомобилей в FOV.
radar_speed = 100*1000/3600; % Ego vehicle speed 100 km/h radarmotion = phased.Platform('InitialPosition',[0;0;0.5],'Velocity',[radar_speed;0;0]); car_dist = [40 50]; % Distance between sensor and cars (meters) car_speed = [-80 96]*1000/3600; % km/h -> m/s car_az = [-10 10]; car_rcs = [20 40]; car_pos = [car_dist.*cosd(car_az);car_dist.*sind(car_az);0.5 0.5]; cars = phased.RadarTarget('MeanRCS',car_rcs,'PropagationSpeed',c,'OperatingFrequency',fc); carmotion = phased.Platform('InitialPosition',car_pos,'Velocity',[car_speed;0 0;0 0]);
Предполагается, что модель распространения является свободным пространством.
channel = phased.FreeSpace('PropagationSpeed',c,... 'OperatingFrequency',fc,'SampleRate',fs,'TwoWayPropagation',true);
Куб необработанных данных, принятый физическим массивом радиолокатора MIMO TDM, может затем быть смоделирован следующим образом:
rng(2017); Nsweep = 64; Dn = 2; % Decimation factor fs = fs/Dn; xr = complex(zeros(fs*waveform.SweepTime,Nr,Nsweep)); w0 = [0;1]; % weights to enable/disable radiating elements for m = 1:Nsweep % Update radar and target positions [radar_pos,radar_vel] = radarmotion(waveform.SweepTime); [tgt_pos,tgt_vel] = carmotion(waveform.SweepTime); [~,tgt_ang] = rangeangle(tgt_pos,radar_pos); % Transmit FMCW waveform sig = waveform(); txsig = transmitter(sig); % Toggle transmit element w0 = 1-w0; txsig = txradiator(txsig,tgt_ang,w0); % Propagate the signal and reflect off the target txsig = channel(txsig,radar_pos,tgt_pos,radar_vel,tgt_vel); txsig = cars(txsig); % Dechirp the received radar return rxsig = rxcollector(txsig,tgt_ang); rxsig = receiver(rxsig); dechirpsig = dechirp(rxsig,sig); % Decimate the return to reduce computation requirements for n = size(xr,2):-1:1 xr(:,n,m) = decimate(dechirpsig(:,n),Dn,'FIR'); end end
Куб данных, полученный физическим массивом, должен быть обработан для формирования куба данных виртуального массива. Для радиолокационной системы TDM-MIMO, используемой в этом примере, измерения, соответствующие двум элементам передающей антенны, могут быть восстановлены из двух последовательных свип-сигналов путем взятия каждой другой страницы куба данных.
Nvsweep = Nsweep/2; xr1 = xr(:,:,1:2:end); xr2 = xr(:,:,2:2:end);
Теперь куб данных в xr1 содержит возврат, соответствующий первому элементу передающей антенны, и куб данных в xr2 содержит возврат, соответствующий второму элементу передающей антенны. Следовательно, куб данных из виртуального массива может быть сформирован следующим образом:
xrv = cat(2,xr1,xr2);
Затем выполните обработку диапазона-доплеровскую обработку виртуального куба данных. Поскольку обработка по диапазону-доплеровской является линейной, информация о фазе сохраняется. Следовательно, результирующий отклик может быть использован позже для выполнения дальнейшей пространственной обработки виртуальной апертуры.
nfft_r = 2^nextpow2(size(xrv,1)); nfft_d = 2^nextpow2(size(xrv,3)); rngdop = phased.RangeDopplerResponse('PropagationSpeed',c,... 'DopplerOutput','Speed','OperatingFrequency',fc,'SampleRate',fs,... 'RangeMethod','FFT','PRFSource','Property',... 'RangeWindow','Hann','PRF',1/(Nt*waveform.SweepTime),... 'SweepSlope',waveform.SweepBandwidth/waveform.SweepTime,... 'RangeFFTLengthSource','Property','RangeFFTLength',nfft_r,... 'DopplerFFTLengthSource','Property','DopplerFFTLength',nfft_d,... 'DopplerWindow','Hann'); [resp,r,sp] = rngdop(xrv);
Получающееся resp - куб данных, содержащий отклик диапазона-доплеровского для каждого элемента виртуального массива. В качестве иллюстрации показана доплеровская карта диапазона для первого элемента в виртуальном массиве.
plotResponse(rngdop,squeeze(xrv(:,1,:)));

Обнаружение может быть выполнено на карте дальности-доплеровской карты из каждой пары передающего и принимающего элементов для идентификации целей в сцене. В этом примере простое определение на основе порогового значения выполняется на карте, полученной между первым передающим элементом и первым приемным элементом, что соответствует измерению на первом элементе в виртуальном массиве. На основе карты диапазона-доплеровской карты, показанной на предыдущем рисунке, порог устанавливается на 10 дБ ниже максимального пика.
respmap = squeeze(mag2db(abs(resp(:,1,:)))); ridx = helperRDDetection(respmap,-10);
На основе обнаруженного диапазона целевых объектов соответствующие сокращения диапазона могут быть извлечены из куба данных виртуального массива для выполнения дальнейшей пространственной обработки. Чтобы убедиться, что виртуальный массив обеспечивает более высокое разрешение по сравнению с физическим массивом, приведенный ниже код извлекает сокращения диапазона для обоих целевых объектов и объединяет их в единую матрицу данных. Алгоритм сканирования луча затем выполняется в этих измерениях виртуального массива для оценки направлений целевых объектов.
xv = squeeze(sum(resp(ridx,:,:),1))'; doa = phased.BeamscanEstimator('SensorArray',varray,'PropagationSpeed',c,... 'OperatingFrequency',fc,'DOAOutputPort',true,'NumSignals',2,'ScanAngles',ang); [Pdoav,target_az_est] = doa(xv); fprintf('target_az_est = [%s]\n',num2str(target_az_est));
target_az_est = [-6 10]
Две цели успешно разделены. Фактические углы для двух автомобилей -10 и 10 градусов.
На следующем рисунке сравниваются пространственные спектры из виртуального и физического массива приема.
doarx = phased.BeamscanEstimator('SensorArray',rxarray,'PropagationSpeed',c,... 'OperatingFrequency',fc,'DOAOutputPort',true,'ScanAngles',ang); Pdoarx = doarx(xr); helperPlotMultipledBPattern(ang,mag2db(abs([Pdoav Pdoarx])),[-30 0],... {'Virtual Array','Physical Array'},... 'Spatial spectrum for virtual array and physical array',{'-','--'});

В этом примере обнаружение выполняется на карте диапазона-доплеровской карты без пространственной обработки куба данных виртуального массива. Это работает, потому что SNR высокий. Если SNR низкий, можно также обрабатывать виртуальную матрицу вслепую по всей карте диапазона-доплеровской карты, чтобы максимизировать SNR до обнаружения.
Хотя цепочка обработки РЛС TDM-MIMO относительно проста, она одновременно использует только одну передающую антенну. Поэтому он не использует преимущества полной емкости передающего массива. Для повышения эффективности существуют другие ортогональные формы сигналов, которые могут использоваться в MIMO-радаре.
Используя ту же конфигурацию, что и в примере, одна схема для достижения ортогональности состоит в том, чтобы один элемент всегда передавал одну и ту же форму сигнала FMCW, в то время как второй элемент передачи изменяет фазу формы сигнала FMCW на обратную для каждого свипа. Таким образом, оба передающих элемента активны во всех передачах. Для первого свип-сигнала два элемента передают один и тот же сигнал, а для второго свип-сигнала два элемента передают сигнал с противоположной фазой и так далее. Это по существу кодирование последовательных свипов из различных элементов кодом Адамара. Он аналогичен кодам Аламути, используемым в системах связи MIMO.
РЛС MIMO могут также принимать фазово-кодированные формы сигналов в РЛС MIMO. В этом случае каждый излучающий элемент может передавать однозначно закодированную форму сигнала, и приемник может затем иметь согласованный набор фильтров, соответствующий каждой из этих закодированных по фазе форм сигнала. Затем сигналы могут быть восстановлены и обработаны для формирования виртуальной матрицы.
В этом примере мы дали краткое введение в когерентный MIMO радар и концепцию виртуальной матрицы. Мы смоделировали возврат MIMO-радара с 2-элементным передающим массивом и 4-элементным приемным массивом и провели оценку направления прихода смоделированных эхо-сигналов двух близко расположенных целей с использованием 8-элементного виртуального массива.
[1] Фрэнк Роби и др. MIMO Radar Theory and Experimental Results, Запись конференции тридцать восьмой Асиломарской конференции по сигналам, системам и компьютерам, Калифорния, стр. 300-304, 2004.
[2] Эли Брукнер, радары MIMO и их обычные эквиваленты, конференция IEEE Radar Conference, 2015.
[3] Сандип Рао, MIMO Radar, Texas Instruments Application Report SWRA554, май 2017 г.
[4] Цзянь Ли и Питер Стоика, MIMO Radar Signal Processing, John Wiley & Sons, 2009.