Объектные модели phased.BarrageJammer
широкополосный передатчик помех. Вывод phased.BarrageJammer
является комплексной белой Гауссовой шумовой последовательностью. Модифицируемые свойства заградительного передатчика помех:
ERP
— Эффективная излучаемая мощность в ваттах
SamplesPerFrameSource
— Источник количества выборок на кадр
SamplesPerFrame
— Количество выборок на кадр
SeedSource
— Источник seed для генератора случайных чисел
Seed
— Отберите для генератора случайных чисел
Действительные и мнимые части комплексной белой Гауссовой шумовой последовательности у каждого есть отклонение, равное 1/2 эффективная излучаемая мощность в ваттах. Обозначьте эффективную излучаемую мощность в ваттах P. Заградительный передатчик помех вывод:
В этом уравнении x[n]
и y[n]
являются некоррелироваными последовательностями нулевых средних Гауссовых случайных переменных с модульным отклонением.
Этот пример исследует статистические свойства заградительного передатчика помех вывод и как они относятся к эффективной излучаемой мощности (ERP). Создайте заградительный передатчик помех с помощью эффективной излучаемой мощности 5 000 ватт. Сгенерируйте вывод на 500 выборках на кадр. Затем вызовите функцию step
однажды, чтобы сгенерировать один кадр комплексных данных. Используя функцию histogram
, покажите распределение заградительных выходных значений передатчика помех. Системный объект BarrageJammer
использует генератор случайных чисел. В этом примере seed генератора случайных чисел фиксируется в иллюстративных целях и может быть удален.
Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным синтаксисом step
. Например, замените myObject(x)
на step(myObject,x)
.
rng default jammer = phased.BarrageJammer('ERP',5000,... 'SamplesPerFrame',500); y = jammer(); subplot(2,1,1) histogram(real(y)) title('Histogram of Real Part') subplot(2,1,2) histogram(imag(y)) title('Histogram of Imaginary Part') xlabel('Watts')
Средние значения действительных и мнимых частей
mean(real(y))
ans = -1.0961
mean(imag(y))
ans = -2.1671
которые являются эффективно нулевыми. Стандартные отклонения действительных и мнимых частей
std(real(y))
ans = 50.1950
std(imag(y))
ans = 49.7448
которые соглашаются с ожидаемым значением .
Этот пример демонстрирует, как моделировать эффект заградительного передатчика помех на целевом эхе. Во-первых, создайте требуемые объекты. Вам нужны массив, передатчик, теплоотвод, цель, передатчик помех, коллектор и получатель. Кроме того, необходимо задать два пути к распространению: один от массива до цели и назад, и другой путь от передатчика помех до массива.
Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным синтаксисом step
. Например, замените myObject(x)
на step(myObject,x)
.
antenna = phased.ULA(4); Fs = 1e6; fc = 1e9; rng('default') waveform = phased.RectangularWaveform('PulseWidth',100e-6,... 'PRF',1e3,'NumPulses',5,'SampleRate',Fs); transmitter = phased.Transmitter('PeakPower',1e4,'Gain',20,... 'InUseOutputPort',true); radiator = phased.Radiator('Sensor',antenna,'OperatingFrequency',fc); jammer = phased.BarrageJammer('ERP',1000,... 'SamplesPerFrame',waveform.NumPulses*waveform.SampleRate/waveform.PRF); target = phased.RadarTarget('Model','Nonfluctuating',... 'MeanRCS',1,'OperatingFrequency',fc); targetchannel = phased.FreeSpace('TwoWayPropagation',true,... 'SampleRate',Fs,'OperatingFrequency', fc); jammerchannel = phased.FreeSpace('TwoWayPropagation',false,... 'SampleRate',Fs,'OperatingFrequency', fc); collector = phased.Collector('Sensor',antenna,... 'OperatingFrequency',fc); amplifier = phased.ReceiverPreamp('EnableInputPort',true);
Примите, что массив, цель и передатчик помех являются стационарными. Массив расположен в глобальном начале координат, (0,0,0). Цель расположена в (1000,500,0), и передатчик помех расположен в (2000 2000 100). Определите направления от массива до цели и передатчика помех.
targetloc = [1000 ; 500; 0]; jammerloc = [2000; 2000; 100]; [~,tgtang] = rangeangle(targetloc); [~,jamang] = rangeangle(jammerloc);
Наконец, передайте форму волны меандра к цели, отразите его от цели и соберите эхо в массиве. Одновременно, передатчик помех передает создающий затор сигнал к массиву. Создающий затор сигнал и эхо смешаны в получателе. Сгенерируйте форму волны
wav = waveform(); % Transmit waveform [wav,txstatus] = transmitter(wav); % Radiate pulse toward the target wav = radiator(wav,tgtang); % Propagate pulse toward the target wav = targetchannel(wav,[0;0;0],targetloc,[0;0;0],[0;0;0]); % Reflect it off the target wav = target(wav); % Collect the echo wav = collector(wav,tgtang);
Сгенерируйте создающий затор сигнал
jamsig = jammer(); % Propagate the jamming signal to the array jamsig = jammerchannel(jamsig,jammerloc,[0;0;0],[0;0;0],[0;0;0]); % Collect the jamming signal jamsig = collector(jamsig,jamang); % Receive target echo alone and target echo + jamming signal pulsewave = amplifier(wav,~txstatus); pulsewave_jamsig = amplifier(wav + jamsig,~txstatus);
Постройте результат и сравните его с полученной формой волны с и без затора.
subplot(2,1,1) t = unigrid(0,1/Fs,size(pulsewave,1)*1/Fs,'[)'); plot(t*1000,abs(pulsewave(:,1))) title('Magnitudes of Pulse Waveform Without Jamming--Element 1') ylabel('Magnitude') subplot(2,1,2) plot(t*1000,abs(pulsewave_jamsig(:,1))) title('Magnitudes of Pulse Waveform with Jamming--Element 1') xlabel('millisec') ylabel('Magnitude')