phased.DTIScope

Разовый Доплером осциллограф интенсивности

Описание

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

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

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

Создать и запустить разовый Доплером осциллограф интенсивности,

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

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?

Создание

Описание

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

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

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

Свойства

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

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

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

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

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

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

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

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

Местоположение и размер окна scope интенсивности в виде вектора 1 на 4, имеющего форму [left bottom width height].

  • left и bottom задайте местоположение нижнего левого угла окна.

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

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

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

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

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

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

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

Типы данных: логический

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

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

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

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

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

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

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

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

Единицы интенсивности ответа в виде 'db', 'magnitude', или 'power'.

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

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

Типы данных: 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 является количеством импульсов в случае импульсных сигналов или количеством dechirped разверток частоты для сигналов 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;

Передайте 2 000 импульсов и когерентно обработайте обучение 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