exponenta event banner

поэтапный. DTIScope

Диапазон интенсивности доплеровского времени

Описание

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

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

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

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

  1. Создать phased.DTIScope и задайте его свойства.

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

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

Создание

Описание

scope = phased.DTIScope создает объект System области доплеровской интенсивности времени, 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-секундный временной интервал данных, используя доплеровский размер БПФ 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 могут быть данными выборки I/Q или данными доплеровского ответа в зависимости от значения IQDataInput собственность.

Входные аргументы

развернуть все

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

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

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

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

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

release(obj)

развернуть все

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

Примеры

свернуть все

Создать 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 импульсов и последовательная обработка последовательности из 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