В этом примере показано, как симулировать поляриметрическую бистатическую радиолокационную систему, чтобы оценить область значений и скорость целей. Передатчик, приемник и целевая кинематика учтены. Для получения дополнительной информации относительно возможностей моделирования поляризации, смотрите Моделирование и Анализ Поляризации.
Система действует на уровне 300 МГц, с помощью линейной формы волны FM, максимальная однозначная область значений которой составляет 48 км. Разрешение области значений составляет 50 метров, и продукт полосы пропускания времени равняется 20.
maxrng = 48e3; % Maximum range rngres = 50; % Range resolution tbprod = 20; % Time-bandwidth product
Передатчик имеет пиковую силу 2 кВт и усиление 20 дБ. Приемник также обеспечивает усиление 20 дБ, и шумовая полоса пропускания совпадает с полосой пропускания развертки формы волны.
Массив передающей антенны является стационарным ULA с 4 элементами, расположенным в начале координат. Массив сделан из вертикальных диполей.
txAntenna = phased.ShortDipoleAntennaElement('AxisDirection','Z'); [waveform,transmitter,txmotion,radiator] = ... helperBistatTxSetup(maxrng,rngres,tbprod,txAntenna);
Получить антенная решетка является также ULA с 4 элементами; это расположено в [20000; 1000; 100] метры далеко от передающей антенны и перемещается в скорость [0; 20; 0] m/s. Примите, что элементами в получить массиве являются также вертикальные диполи. Полученная антенная решетка ориентирована так, чтобы ее разворот указал назад на передающую антенну.
rxAntenna = phased.ShortDipoleAntennaElement('AxisDirection','Z'); [collector,receiver,rxmotion,rngdopresp,beamformer] = ... helperBistatRxSetup(rngres,rxAntenna);
Существует две цели, существующие на пробеле. Первый является целью точки, смоделированной как сфера; это сохраняет вид поляризации инцидентного сигнала. Это расположено в [15000; 1000; 500] метры далеко от массива передачи и перемещается в скорость [100; 100; 0] m/s.
Вторая цель расположена в [35000;-1000; 1000] метры далеко от массива передачи и приближается при скорости [-160; 0;-50] m/s. В отличие от первой цели, вторая цель инвертирует вид поляризации инцидентного сигнала, что означает, что горизонтальные/вертикальные компоненты поляризации входного сигнала становятся вертикальными/горизонтальными компонентами поляризации выходного сигнала.
[target,tgtmotion,txchannel,rxchannel] = ...
helperBistatTargetSetup(waveform.SampleRate);
Одна матрица рассеяния является довольно простой поляриметрической моделью для цели. Это принимает, что, неважно, каковы инцидент и отражающиеся направления, распределение электроэнергии между H и V компонентами фиксируется. Однако даже такая простая модель может показать сложное целевое поведение в симуляции потому что (1) H и V направлений варьируются для различного инцидента и отражающихся направлений; и (2) ориентация, заданная системой локальной координаты, целей также, влияет на соответствие поляризации.
Следующий раздел симулирует 256 полученных импульсов. Массив получения является beamformed к двум целям. Первый рисунок показывает параметр настройки системы и как получить массив и цели перемещаются. Второй рисунок показывает карту Доплера области значений, сгенерированную для каждых 64 импульсов, полученных в массиве приемника.
Nblock = 64; % Burst size dt = 1/waveform.PRF; y = complex(zeros(round(waveform.SampleRate*dt),Nblock)); hPlots = helperBistatViewSetup(txmotion,rxmotion,tgtmotion,waveform,... rngdopresp,y); Npulse = Nblock*4; for m = 1:Npulse % Update positions of transmitter, receiver, and targets [tpos,tvel,txax] = txmotion(dt); [rpos,rvel,rxax] = rxmotion(dt); [tgtp,tgtv,tgtax] = tgtmotion(dt); % Calculate the target angles as seen by the transmitter [txrng,radang] = rangeangle(tgtp,tpos,txax); % Simulate propagation of pulse in direction of targets wav = waveform(); wav = transmitter(wav); sigtx = radiator(wav,radang,txax); sigtx = txchannel(sigtx,tpos,tgtp,tvel,tgtv); % Reflect pulse off of targets for n = 2:-1:1 % Calculate bistatic forward and backward angles for each target [~,fwang] = rangeangle(tpos,tgtp(:,n),tgtax(:,:,n)); [rxrng(n),bckang] = rangeangle(rpos,tgtp(:,n),tgtax(:,:,n)); sigtgt(n) = target{n}(sigtx(n),fwang,bckang,tgtax(:,:,n)); end % Receive path propagation sigrx = rxchannel(sigtgt,tgtp,rpos,tgtv,rvel); [~,inang] = rangeangle(tgtp,rpos,rxax); rspeed_t = radialspeed(tgtp,tgtv,tpos,tvel); rspeed_r = radialspeed(tgtp,tgtv,rpos,rvel); % Receive target returns at bistatic receiver sigrx = collector(sigrx,inang,rxax); yc = beamformer(sigrx,inang); y(:,mod(m-1,Nblock)+1) = receiver(sum(yc,2)); helperBistatViewTrajectory(hPlots,tpos,rpos,tgtp); if ~rem(m,Nblock) rd_rng = (txrng+rxrng)/2; rd_speed = rspeed_t+rspeed_r; helperBistatViewSignal(hPlots,waveform,rngdopresp,y,rd_rng,... rd_speed) end end
Карта Доплера области значений только показывает возврат из первой цели. Это, вероятно, не удивительно начиная с обоих передача, и получите массив, вертикально поляризованы, и вторая цель сопоставляет вертикально поляризованную волну с горизонтально поляризованной волной. Полученный сигнал от второй цели является в основном ортогональным к поляризации получить массива, приводящей к значительной потере поляризации.
Можно также заметить, что получившаяся область значений и радиальная скорость не соглашаются с областью значений и радиальной скоростью цели относительно передатчика. Это вызвано тем, что в бистатической настройке, предполагаемая область значений является на самом деле геометрическим средним значением целевого диапазона относительно передатчика и приемника. Точно так же предполагаемая радиальная скорость является суммой целевой радиальной скорости относительно передатчика и приемника. Круг в карте показывает, где цели должны появиться в карте Доплера области значений. Последующая обработка требуется, чтобы идентифицировать точное местоположение цели, но те выходят за рамки этого примера.
Вертикальный диполь является очень популярным выбором передающей антенны в действительных приложениях, потому что это - низкая стоимость и имеет всенаправленный шаблон. Однако предыдущая симуляция показывает, что, если та же антенна используется в приемнике, существует риск, что система пропустит определенные цели. Поэтому линейная поляризованная антенна часто является не лучшим выбором как получить антенной в такой настройке, потому что, неважно, то, как линейная поляризация выравнивается, там всегда, существует ортогональная поляризация. В случае, если отраженный сигнал переносит вид поляризации близко к тому направлению, потеря поляризации становится огромной.
Один способ решить эту проблему состоит в том, чтобы использовать циркулярную поляризованную антенну в получить конце. Циркулярная поляризованная антенна не может полностью совпадать ни с какой линейной поляризацией. Но с другой стороны, потеря поляризации между проспектом поляризовала антенну, и линейно поляризованный сигнал составляет 3 дБ, независимо в каком направлении линейная поляризация находится. Поэтому несмотря на то, что это никогда не дает максимальный возврат, это никогда не пропускает цель. Часто используемая антенна с круговой поляризацией является пересеченной дипольной антенной.
Следующий раздел показывает то, что происходит, когда пересеченные дипольные антенны используются, чтобы сформировать получить массив.
rxAntenna = phased.CrossedDipoleAntennaElement; collector = clone(collector); collector.Sensor.Element = rxAntenna; helperBistatSystemRun(waveform,transmitter,txmotion,radiator,collector,... receiver,rxmotion,rngdopresp,beamformer,target,tgtmotion,txchannel,... rxchannel,hPlots,Nblock,Npulse);
Карта Доплера области значений теперь показывает обе цели в их правильных местоположениях.
Этот пример показывает симуляцию уровня системы бистатического поляриметрического радара. Пример генерирует карты Доплера области значений полученного сигнала для различного, передают/получают настройки поляризации массивов, и показывает, как циркулярная поляризованная антенна может использоваться, чтобы не терять линейные поляризованные сигналы из-за свойства рассеивания поляризации цели.