phased.DTIScope

Интенсивность в допплеровское время возможностей

Описание

The phased.DTIScope Системная object™ создает прокрутку отображения интенсивности доплеровского отклика как функции времени. Каждая строка представляет Допплеровскую характеристику для импульсного или FMCW сигнала. Последовательные вызовы объекта добавляют новые строки в нижнюю часть окна отображения. Столбцы представляют ответы при определенных значениях Доплера как функцию времени. Можно ввести два типа данных - синфазные и квадратурные (I/Q) данные или данные отклика.

  • Данные I/Q - Вход состоит из быстрых выборок I/Q от одного или нескольких импульсов или FM-свипов. Возможности вычисляют допплеровский ответ и добавляет его к отображению. Чтобы использовать данные I/Q, установите IQDataInput свойство к true. В этом режиме можно задать свойства, перечисленные в Properties Applicable to I/Q Data.

  • Данные отклика - данные состоят из самого Доплеровского ответа как функции времени. Возможности добавляют только доплеровский ответ на отображение. Для примера можно получить Доплеровские ответы от phased.RangeDopplerResponse Системный объект. Чтобы использовать данные отклика, установите IQDataInput свойство к false. В этом режиме можно задать свойства, перечисленные в Свойствах, применимых к данным отклика.

Чтобы создать и запустить возможности интенсивности допплеровского времени,

  1. Создайте phased.DTIScope Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

scope = phased.DTIScope создает область Системного объекта интенсивности допплеровского времени, scope. Этот объект отображает интенсивность входных данных в доплеровском времени.

scope = phased.phased.DTIScope(Name,Value) создает объект возможностей интенсивности допплеровского времени, scope, с каждым заданным набором свойств до заданного значения. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN). Заключайте имена свойства в кавычки. Для примера,

scope = phased.DTIScope('IQInputData',false, ...
        'OperatingFrequency',1e6, ...
        'SampleRate',1e6,'DopplerOutput','Speed', ...
        'OperatingFrequency',10e6,'DopplerFFTLength',512);
создает объект возможностей, который отображает 10-секундный временной интервал данных с использованием Doppler FFT размера 512 для данных I/Q. Доплеровские выходы модулей - это скорость в метрах в секунду.

Свойства

расширить все

Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release функция разблокирует их.

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Отобразите заголовок, заданный как вектор символов. Заголовок появляется в строке заголовка окна.

Пример: 'Multi-target Doppler Time Intensiy Scope'

Настраиваемый: Да

Типы данных: char

Расположение и размер окна возможностей интенсивности, заданные как вектор 1 на 4, имеющий вид [left bottom width height].

  • left и bottom укажите расположение нижнего левого угла окна.

  • width и height задайте ширину и высоту окна.

Модули указаны в пикселях.

Значение по умолчанию этого свойства зависит от разрешения вашего отображения. По умолчанию окно расположено в центре экрана, с шириной и высотой 800 и 450 пикселей соответственно.

Пример: [100 100 500 400]

Настраиваемый: Да

Типы данных: double

Тип входных данных, заданный как true или false. Когда trueобъект принимает, что вход состоит из I/Q выборочных данных и требуется дополнительная обработка в области Доплера. Когда falseобъект принимает, что данные являются данными отклика, которые уже были обработаны.

Типы данных: logical

Допплеровский интервал между выборками, заданный как положительная скалярная величина. Это свойство задает различие частот Доплера между столбцами возможностей. Модули указаны в Гц.

Типы данных: double

Смещение доплеровской оси, заданное как скаляр. Это свойство прикладывает смещение частоты к оси Доплера. Модули указаны в Гц.

Типы данных: double

Временной интервал между выборками, заданный как положительная скалярная величина. Это свойство определяет длительность между строками возможностей. Модули указаны в секундах.

Типы данных: double

Временной интервал отображения интенсивности, заданный как положительная скалярная величина. Модули указаны в секундах.

Типы данных: double

Модули интенсивности отклика, заданные как 'db', 'magnitude', или 'power'.

Типы данных: char

Доплеровская выходная область, заданный как 'Frequency' или 'Speed'. Если вы задаете это свойство равным 'Frequency', Доплеровская область является Доплеровским сдвигом. Модули указаны в Гц. Если вы задаете это свойство равным 'Speed'', Доплеровская область является соответствующей радиальной скоростью. Модули измерения указаны в м/с.

Типы данных: char

Скорость распространения сигнала, заданная как положительная скалярная величина. Значение по умолчанию этого свойства является скоростью света. Посмотрите physconst. Модули указаны в метрах/секунду.

Пример: 3e8

Зависимости

Чтобы включить это свойство, установите IQDataInput свойство к true.

Типы данных: double

Рабочая частота, заданная как положительная скалярная величина.

Зависимости

Чтобы включить это свойство, установите IQDataInput свойство к true и DopplerOutput на 'Speed'.

Типы данных: double

Длина БПФ, используемая в Доплеровской обработке, задается как положительное целое число.

Зависимости

Чтобы включить это свойство, установите IQDataInput свойство к true.

Типы данных: double

Использование

Синтаксис

Описание

пример

scope(X) обновляет и отображает возможности интенсивности доплеровского времени для входных данных, X. Область входа X могут быть выборочные данные или данные Доплеровского ответа в зависимости от значения IQDataInput свойство.

Входные параметры

расширить все

Входные данные, заданные как комплексная матрица K -by L. Интерпретация данных зависит от значения IQDataInput свойство.

  • Когда IQDataInput является true, вход состоит из полученных данных быстрого и медленного времени для каждого импульса PRI или свипа FMCW. K обозначает количество выборок. L - количество импульсов в случае импульсных сигналов или количество дешифрованных частотных свит для сигналов FMCW. Область возможностей вычисляет и отображает ответ Доплера.

  • Когда IQDataInput является false, вход уже состоит из данных отклика в области Доплера, таких как полученный, например, путем phased.RangeDopplerResponse. Каждая строка содержит набор доплеровских ответов. Каждый ответ соответствует элементу Dop вектор. Возможности служат только как отображение Доплеровского ответа.

Функции объекта

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

showВключите видимость возможностей
hideОтключите видимость возможностей
isVisibleВидимость возможностей
stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Создайте phased.DTIScope объект для просмотра прокрутки карты интенсивности допплеровского времени.

Загрузите данные примера.

load('RTIDTIExampleData.mat')
rx_pulses = zeros(numel(fast_time),num_pulse_int);

Создайте возможности DTI.

scope = phased.DTIScope('IQDataInput',false,...
    'DopplerOutput','Speed',...
    'PropagationSpeed',c,...
    'OperatingFrequency',fc,...
    'Name','Doppler-Time Display',...
    'DopplerResolution',DopplerRes, ...
    'DopplerOffset',-prf/2,...
    'TimeResolution',0.05,...
    'TimeSpan',5,...
    'IntensityUnits','magnitude',...
    'Position',[560 375 560 420]);

Получите интервал повторения импульса, 33,3564 микросек.

pri = 1/prf;

Передайте 2000 импульсов и когерентно обрабатывайте train из 10 импульсов за раз. Есть 200 поездов. После каждого импульса перемещайте цель и радиолокационную платформу. Радар отражает три цели. Первый перемещается по оси X со скоростью -150 м/сек. Второй перемещается по оси X со скоростью + 150 м/с. Третья цель - стационарная. После каждого импульса вычислите Допплеровский ответ с помощью БПФ.

nsteps = 200;
for k = 1:nsteps
    for m = 1:num_pulse_int
        [ant_pos,ant_vel] = radarplatform(pri);
        [tgt_pos,tgt_vel] = targetplatforms(pri);
        sig = waveform();
        [s,tx_status] = transmitter(sig);
        [~,tgt_ang] = rangeangle(tgt_pos,ant_pos);
        tsig = radiator(s,tgt_ang);
        tsig = channels(tsig,ant_pos,tgt_pos,ant_vel,tgt_vel);
        rsig = targets(tsig);
        rsig = collector(rsig,tgt_ang);
        rx_pulses(:,m) = preamplifier(rsig,~(tx_status>0));
    end
    
    rx_pulses = gain(rx_pulses);
    dshift = fft(rx_pulses.');
    dshift = fftshift(abs(dshift),1);
    scope(mean(dshift,2));
    
    pause(0.1)
    radarplatform(.05);
    targetplatforms(.05);
end

Подробнее о

расширить все

Введенный в R2019a