Этот пример показывает, как симулировать поляриметрическую бистатическую радиолокационную систему, чтобы оценить область значений и скорость целей. Учитываются кинематика передатчика, приемника и цели. Для получения дополнительной информации о возможностях моделирования поляризации смотрите Моделирование и Анализ Поляризации.
Система работает на 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] м/с. Предположим, что элементы в приёмном массиве также являются вертикальными диполями. Принятая антенная решетка ориентирована так, что ее широкая сторона указывает назад на передающую антенну.
rxAntenna = phased.ShortDipoleAntennaElement('AxisDirection','Z'); [collector,receiver,rxmotion,rngdopresp,beamformer] = ... helperBistatRxSetup(rngres,rxAntenna);
В пространстве присутствуют две цели. Первый - это точечная цель, смоделированная как сфера; он сохраняет поляризационное состояние падающего сигнала. Он расположен на расстоянии [15000; 1000; 500] метров от передающего массива и движется со скоростью [100; 100; 0] м/с.
Вторая цель расположена на расстоянии [35000; -1000; 1000] метров от передающего массива и приближается со скоростью [-160; 0; -50] м/с. В отличие от первой цели, вторая цель переворачивает состояние поляризации падающего сигнала, что означает, что компоненты горизонтальной/вертикальной поляризации входного сигнала становятся компонентами вертикальной/горизонтальной поляризации выходного сигнала.
[target,tgtmotion,txchannel,rxchannel] = ...
helperBistatTargetSetup(waveform.SampleRate);
Одна матрица рассеяния является довольно простой поляриметрической моделью для цели. Он принимает, что независимо от того, каковы будут падающие и отражающие направления, распределение степени между компонентами H и V фиксировано. Однако даже такая простая модель может выявить сложное поведение цели в симуляции, потому что (1) направления H и V варьируются для различных падающих и отражающих направлений; и (2) ориентация, заданная локальной системой координат, целей также влияет на согласование поляризации.
Следующий раздел описывает 256 принятых импульсов. Приемный массив сформирован лучом к двум целям. Первый рисунок показывает настройку системы и способ перемещения приёмного массива и целей. Второй рисунок показывает карту диапазона-Допплера, сгенерированную для каждые 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
Карта Range-Doppler показывает только возврат от первой цели. Вероятно, это не удивительно, поскольку и передающая, и приёмный массив вертикально поляризованы, и вторая цель преобразует вертикально поляризованную волну в горизонтально поляризованную волну. Принятый сигнал от второй цели в основном ортогональен поляризации массива, что приводит к значительным потерям поляризации.
Можно также заметить, что полученная область значений и радиальная скорость не согласуются с областью значений и радиальной скоростью цели относительно передатчика. Это потому, что в бистатическом строении оцененный диапазон на самом деле является геометрическим средним для целевой области значений относительно передатчика и приемника. Точно так же оцененная радиальная скорость является суммой целевой радиальной скорости относительно передатчика и приемника. Круг на карте показывает, где цели должны появиться на карте range-Doppler. Дальнейшая обработка требуется, чтобы идентифицировать точное местоположение цели, но они выходят за возможности этого примера.
Вертикальный дипол является очень популярным выбором передающей антенны в реальных приложениях, потому что это низкая стоимость и имеет всенаправленный шаблон. Однако предыдущая симуляция показывает, что, если в приемнике используется та же антенна, существует риск того, что система пропустит определенные цели. Поэтому линейная поляризованная антенна часто не является лучшим выбором в качестве приемной антенны в таком строении, потому что независимо от того, как линейная поляризация выровнена, всегда существует ортогональная поляризация. В случае, если отраженный сигнал несет поляризационное состояние, близкое к этому направлению, поляризационные потери становятся огромными.
Один из способов решить эту проблему - использовать круговую поляризованную антенну на приемном конце. Круговая поляризованная антенна не может полностью соответствовать какой-либо линейной поляризации. Но с другой стороны, поляризационные потери между круговой поляризованной антенной и линейно поляризованным сигналом составляют 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);
Карта Диапазон-Допплер теперь показывает обе цели в их правильных местоположениях.
Этот пример показывает уровень системы симуляцию бистатического поляриметрического радара. Пример генерирует доплеровские карты диапазона принимаемого сигнала для различных строений поляризации массива и показывает, как круговая поляризованная антенна может использоваться, чтобы избежать потери линейных поляризованных сигналов из-за свойства поляризационного рассеяния цели.