поэтапный. 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. Вызовите объект с аргументами, как будто это была функция.

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

Создание

Синтаксис

scope = phased.DTIScope
scope = phased.phased.DTIScope(Name,Value)

Описание

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 Используя Системные объекты (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)

Описание

пример

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 импульсов и когерентно обработайте train 10 импульсов за один раз. Существует 200 train. После каждого импульса переместите радарная платформа и цель. Радар отражается от трех целей. Первые шаги вдоль оси X на уровне-150 м/секунда. Вторые перемещения вдоль оси X на уровне +150 м/секунда. Третья цель является стационарной. После каждого импульсного train вычислите Доплеровский ответ с помощью БПФ.

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) = amplifier(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