Документация Engee

EngeePhase.RangeDopplerResponse

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

Библиотека

EngeePhased

Блок

Range Doppler Response

Описание

Системный объект EngeePhase.RangeDopplerResponse моделирует карту диапазона Доплера входного сигнала. Или, эквивалентно, данные диапазона, используя либо согласованный фильтр, либо БПФ.

Входом для EngeePhase.RangeDopplerResponse является массив данных. Организация массива данных соответствует стандарту Phased Array System Toolbox. Первое измерение массива представляет собой быстродействующие выборки или диапазоны принимаемых сигналов. Второе измерение представляет несколько каналов, таких как антенные элементы или лучи. Третье измерение, медленное время, представляет импульсы. Если данные содержат только один канал или импульс, массив данных может содержать менее трех измерений. Обработка диапазона работает вдоль первого измерения массива. Доплеровская обработка работает вдоль последнего измерения.

Выходной сигнал системного объекта EngeePhase.RangeDopplerResponse также представляет собой массив данных с тем же количеством измерений, что и на входе. Первое измерение содержит данные, обработанные по дальности, но его длина может отличаться от первого измерения входных данных. Последнее измерение содержит данные доплеровской обработки. Его длина может отличаться от последнего измерения входных данных.

Чтобы вычислить дальнобойно-доплеровский отклик, выполните следующие действия:

  1. Создайте объект EngeePhase.RangeDopplerResponse и задайте его свойства.

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

Синтаксис

Создание

  • object = EngeePhase.RangeDopplerResponse создает карту диапазона Доплера входного сигнала со значениями свойств по умолчанию. Пример:

    response=EngeePhase.RangeDopplerResponse
  • object = EngeePhase.RangeDopplerResponse(Name=Value) создает карту диапазона Доплера входного сигнала с каждым указанным свойством Name (имя), установленным на указанное Value (значение). Вы можете указать дополнительные аргументы в виде пары имя-значение в любом порядке (Name1=Value1,…​,NameN=ValueN). Пример:

    response=EngeePhase.RangeDopplerResponse ()

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

  • [resp,rnggrid,dopgrid] = object(x) вычисляет доплеровскую характеристику диапазона входного сигнала, аргумент x. Это является комплексной доплеровской характеристикой диапазона. rnggrid и dopgrid предоставляют собой выборки диапазона и доплеровские выборки соответственно, при которых оценивается доплеровская характеристика диапазона. Этот синтаксис доступен, если для свойства RangeMethod задано значение FFT, а для свойства DechirpInput – значение false. Этот синтаксис чаще всего используется с ЛЧМ-сигналами.

  • [resp,rnggrid,dopgrid] = object(x,xref) использует внешнюю ссылку в качестве опорного сигнала для дешифрования входного сигнала x. Этот синтаксис доступен, если для свойства RangeMethod задать значение FFT, а для свойства DechirpInput – значение true. Этот синтаксис чаще всего используется с ЛЧМ-сигналами, где опорным сигналом обычно является передаваемый сигнал.

  • [resp,rnggrid,dopgrid] = object(x,coeff) использует coeff в качестве коэффициентов согласованного фильтра. Этот синтаксис доступен, если задать свойству RangeMethod значение Matched filter. Этот синтаксис чаще всего используется для импульсных сигналов, где согласованный фильтр является обратным по времени по отношению к передаваемому сигналу.

  • [resp,rnggrid,dopgrid] = object(_,prf) использует prf в качестве частоты следования импульсов. Этот синтаксис доступен, если задать свойству Pdfsource значение Input port. Этот синтаксис чаще всего используется для импульсных сигналов, где согласованный фильтр является обратным по времени для передаваемого сигнала.

Свойства

RangeMethod — метод обработки диапазона
Matched filter (по умолчанию) | FFT

Details

Укажите метод обработки диапазона как Matched filter или FFT.

Matched filter

Алгоритм применяет согласованный фильтр к входящему сигналу. Такой подход характерен для импульсных сигналов, когда согласованный фильтр является временной обратной характеристикой передаваемого сигнала.

FFT

Алгоритм выполняет обработку диапазона, применяя БПФ к входному сигналу. Этот подход обычно используется с ЛЧМ и линейными ЧМ-импульсными сигналами.

По умолчанию: Matched filter

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

PropagationSpeed — скорость распространения сигнала
physconst(LightSpeed) (по умолчанию) | вещественный положительный скаляр

Details

Укажите скорость распространения, в м/с, в виде положительного скаляра.

Вы можете указать это свойство с одинарной или двойной точностью.

По умолчанию: physconst(LightSpeed)

Типы данных: single | Float64

SampleRate — частота дискретизации
1e6 (по умолчанию) | положительный скаляр

Details

Укажите частоту дискретизации, в герцах, в виде положительного скаляра.

Это свойство может быть задано с одинарной или двойной точностью.

Значение по умолчанию соответствует 1 МГц.

По умолчанию: 1e6

Типы данных: single | Float64

SweepSlope — наклон ЧМ-развертки
1e9 (по умолчанию) | скаляр

Details

Укажите наклон линейной ЧМ-развертки, в Гц/с, в виде скаляра.

Данные входного сигнала x должны соответствовать разверткам с задаваемым свойством SweepSlope наклоном.

Это свойство может быть задано с одинарной или двойной точностью.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение FFT.

По умолчанию: 1e9

Типы данных: single | Float64

DechirpInput — квадратурная демодуляция входного сигнала
false (по умолчанию) | true

Details

Установите для свойства DechirpInput значение true, чтобы системный объект EngeePhase.RangeDopplerResponse выполнял квадратурную демодуляцию (де-чирп) входного ЛЧМ-сигнала.

При задании де-чирпа происходит перемножение опорного ЛЧМ-сигнала с комплексно-сопряженным ЛЧМ-сигналом.

Установите для свойства DechirpInput значение false, чтобы указать, что входной сигнал уже прошел операцию де-чирпа и де-чирп не требуется.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение FFT.

По умолчанию: false

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

RangeFFTLengthSource — источник длины БПФ, используемой при обработке диапазона
Auto (по умолчанию) | Property

Details

Источник длины БПФ, используемой для обработки диапазона, задается как «Авто» или «Свойство». Это свойство определяет, как объект вычисляет длину БПФ, используемую при обработке диапазона.

Значениями этого свойства являются:

Auto

Длина БПФ равна количеству строк входного сигнала.

Property

Свойство RangeFFTLength этого объекта определяет длину БПФ.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение FFT.

По умолчанию: Auto

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

RangeFFTLength — длина БПФ при обработке диапазона
1024 (по умолчанию) | целое положительное число

Details

Укажите длину БПФ в области диапазона в виде целого положительного числа.

Это свойство может быть задано как одинарная или двойная точность.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение FFT, а для свойства RangeFFTLengthSource значение Property.

По умолчанию: 1024

Типы данных: Float64 | single

RangeWindow — окно для взвешивания диапазона
None (по умолчанию) | Hamming | Chebyshev | Hann | Kaiser | Taylor | Custom

Details

Укажите окно, используемое для обработки диапазона, используя одно из значений None, Hamming, Chebyshev, Hann, Kaiser, Taylor или Custom.

Если установить для свойства RangeWindow значение Taylor, сгенерированное окно Тейлора будет иметь четыре почти постоянных лепестка, примыкающих к основному лепестку.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение FFT.

По умолчанию: None

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

RangeSidelobeAttenuation — уровень ослабления боковых лепестков для обработки диапазонов
30 (по умолчанию) | положительный скаляр

Details

Укажите уровень ослабления боковых лепестков окна Кайзера, Чебышева или Тейлора при обработке диапазонов в виде положительного скаляра в децибелах.

Это свойство может быть задано с одинарной или двойной точностью.

Зависимости

ЧЧтобы включить это свойство, установите для свойства RangeMethod значение FFT, а для свойства RangeWindow значения Kaiser, Chebyshev или Taylor.

По умолчанию: 30

Типы данных: Float64 | single

CustomRangeWindow — определяемое пользователем окно для обработки диапазона
@hamming (по умолчанию) | handle-функция | массив ячеек

Details

Укажите определяемое пользователем окно для обработки диапазона, заданное в виде handle-функции или массива ячеек.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение FFT, а для свойства RangeWindow значение Custom.

  • Если CustomRangeWindow – это анонимная функция (handle-функция), то указанная функция принимает длину окна в качестве входных данных и генерирует соответствующие коэффициенты окна.

  • Если CustomRangeWindow – это массив ячеек, то первая ячейка должна быть дескриптором функции. Указанная функция принимает длину окна в качестве первого входного аргумента, а также, при необходимости, другие дополнительные входные аргументы. Затем функция генерирует соответствующие коэффициенты окна. Остальные записи в массиве ячеек – это дополнительные входные аргументы функции, если таковые имеются.

По умолчанию: @hamming

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

ReferenceRangeCentered — опорный диапазон в центре сетки диапазонов
true (по умолчанию) | false

Details
  • Если задать для свойства ReferenceRangeCentered значение true, опорный диапазон можно задать в центре сетки диапазонов.

  • Если задать для свойства ReferenceRangeCentered значение false, диапазон ссылок устанавливается в начало сетки диапазонов.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение FFT.

По умолчанию: true

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

ReferenceRange — диапазон ссылок сетки диапазонов
0.0 (по умолчанию) | неотрицательный скаляр

Details

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

  • Если задать для свойства RangeMethod значение Matched filter, то диапазон ссылок устанавливается на начало сетки диапазонов.

  • Если установить для свойства RangeMethod значение FFT, диапазон ссылок определяется свойством ReferenceRangeCentered.

    • Если установить для свойства ReferenceRangeCentered значение true, диапазон ссылок устанавливается в центр сетки диапазонов. *Если установить для свойства *ReferenceRangeCentered значение false, диапазон ссылок устанавливается в начало сетки диапазонов.

Единицы измерения – м.

Пример: 1000.0

По умолчанию: 0.0

Типы данных: Float64 | single

PRFSource — источник частоты повторения импульсов
Auto (по умолчанию) | Property | Input port

Details

Источник частоты повторения импульсов, заданный как:

  • Auto – вы предполагаете, что частота повторения импульсов (PRF) обратна длительности входного сигнала метода step!. Тогда PRF равна частоте дискретизации сигнала, деленной на количество строк во входном сигнале.

  • Property– укажите частоту повторения импульсов с помощью свойства PRF.

  • Input port– укажите PRF с помощью входного аргумента метода step!. Используйте значения Property или Input port, когда частота следования импульсов не может быть определена по длительности сигнала, как в случае с данными с диапазоном.

По умолчанию: Auto

Тип данных: char

PRF — частота повторения импульсов входного сигнала
10e3 (по умолчанию) | положительный скаляр

Details

Частота повторения импульсов входного сигнала, заданная в виде положительного скаляра. PRF должна быть меньше или равна частоте дискретизации, деленной на количество строк входного сигнала в методе step!.

Если длина сигнала переменная, вместо этого используйте максимально возможное количество строк входного сигнала.

Это свойство может быть задано с одинарной или двойной точностью.

Зависимости

Чтобы включить это свойство, установите для свойства PRFSource значение Property.

По умолчанию: 10e3

Типы данных: Float64 | single

DopplerFFTLengthSource — источник длины БПФ при доплеровской обработке
Auto (по умолчанию) | Property

Details

Укажите, как системный объект определяет длину БПФ при доплеровской обработке.

Значениями этого свойства являются:

Auto

Длина БПФ равна количеству строк входного сигнала.

Property

Свойство DopplerFFTLength этого объекта определяет длину БПФ.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение FFT.

По умолчанию: Auto

Тип данных: char

DopplerFFTLength — длина БПФ для доплеровской обработки
1024 (по умолчанию) | целое положительное число

Details

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

Это свойство может быть задано с одинарной или двойной точностью.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение FFT, а для свойства DopplerFFTLengthSource значение Property.

По умолчанию: 1024

Типы данных: Float64 | single

DopplerWindow — окно для доплеровского взвешивания
None (по умолчанию) | Hamming | Chebyshev | Hann | Kaiser | Taylor | Custom

Details

Укажите окно, используемое для доплеровской обработки, как None, Hamming, Chebyshev, Hann, Kaiser, Taylor или Custom.

Если задать для свойства DopplerWindow значение Taylor, сгенерированное окно Тейлора будет иметь четыре почти постоянных боковых лепестка, примыкающие к основному лепестку.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение FFT.

По умолчанию: None

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

DopplerSidelobeAttenuation — уровень ослабления боковых лепестков для доплеровской обработки
30 (по умолчанию) | положительный скаляр

Details

Укажите уровень ослабления боковых лепестков окна Кайзера, Чебышева или Тейлора при доплеровской обработке в виде положительного скаляра, в дБ.

Это свойство может быть задано с одинарной или двойной точностью.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение FFT, а для свойства DopplerWindow значение Kaiser, Chebyshev или Taylor.

По умолчанию: 30

Типы данных: Float64 | single

CustomDopplerWindow — определяемое пользователем окно для доплеровской обработки
@hamming (по умолчанию) | функция handle

Details

Укажите определяемое пользователем окно для доплеровской обработки с помощью handle-функции или массива ячеек.

  • Если CustomDopplerWindow – это handle-функция, то указанная функция принимает длину окна в качестве входных данных и генерирует соответствующие коэффициенты окна.

  • Если CustomDopplerWindow – это массив ячеек, то первая ячейка должна быть дескриптором функции. Указанная функция принимает длину окна в качестве первого входного аргумента, а также, при необходимости, другие дополнительные входные аргументы. Затем функция генерирует соответствующие коэффициенты окна. Остальные записи в массиве ячеек – это дополнительные входные аргументы функции, если таковые имеются.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение FFT, а для свойства DopplerWindow значение Custom.

По умолчанию: @hamming

Типы данных: function_handle | ячейка

DopplerOutput — выход доплеровского домена
Frequency (по умолчанию) | Speed

Details

Укажите выход доплеровского домена как Frequency или Speed.

Выход доплеровского домена – это аргумент DOP_GRID в step!.

Frequency

DOP_GRID – это доплеровский сдвиг, в Гц.

Speed

DOP_GRID – радиальная скорость, соответствующая доплеровскому сдвигу, в м/с.

По умолчанию: Frequency

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

OperatingFrequency — частота несущей сигнала
3e8 (по умолчанию) | положительный скаляр

Details

Укажите несущую частоту, в Гц, в виде скаляра.

Значение этого свойства по умолчанию соответствует 300 МГц.

Это свойство может быть задано с одинарной или двойной точностью.

Зависимости

Чтобы включить это свойство, установите для свойства DopplerOutput значение Speed.

По умолчанию: 3e8

Типы данных: Float64 | single

MaximumNumInputSamplesSource — источник максимального количества выборок
Auto (по умолчанию) | Property

Details

Источник максимального количества выборок входного сигнала, указанный как Auto или Property.

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

  • Если задать свойству MaximumNumInputSamplesSource значение Property, нужно указать максимальное количество выборок во входном сигнале с помощью свойства MaximumNumInputSamples. Любой входной сигнал, длина которого превышает это значение, будет усечен.

По умолчанию: Auto

Тип данных: char

MaximumNumInputSamples — максимальное количество сэмплов входного сигнала
100 (по умолчанию) | целое положительное число

Details

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

Входной сигнал является первым аргументом метода step!. Количество сигналов – это количество строк во входном сигнале.

Это свойство может быть задано с одинарной или двойной точностью.

Зависимости

Чтобы включить это свойство, установите для свойства RangeMethod значение Matched filter, а для свойства MaximumNumInputSamplesSource – значение Property.

По умолчанию: 100

Типы данных: Float64 | single

Аргументы

Вход

x — входные данные
комплексная матрица K на L | комплексный массив K на N на L

Details

Входные данные, заданные в виде комплексной матрицы K на L или массива K на N на L, где

  • K – это количество быстродействующих выборок;

  • N – это количество каналов, таких как лучи или антенные элементы. Когда N равно единице, присутствует только один канал данных;

  • L – это количество импульсов для обработки согласованным фильтром и количество разверток для обработки БПФ.

Конкретные требования зависят от синтаксиса:

  • В синтаксисе object(x) каждый столбец x представляет собой деширпированный сигнал с одной частотной развертки. Функция предполагает, что все развертки в x являются последовательными.

  • В синтаксисе object(x,xref) каждый столбец x представляет сигнал с одной частотной развертки. Функция предполагает, что все развертки в x последовательны и не дешифрированы.

  • В синтаксисе object(x,coeff) каждый столбец матрицы x представляет сигнал от одного импульса. В функции предполагается, что все импульсы в x последовательны.

В случае ЛЧМ-волны с треугольной разверткой развертки чередуются положительные и отрицательные наклоны. Однако системный объект EngeePhased.RangeDopplerResponse предназначен для обработки последовательных разверток с одинаковым наклоном. Чтобы применить EngeePhased.RangeDopplerResponse для системы с треугольной разверткой, используйте один из следующих подходов:

  • Укажите положительное значение свойства SweepSlope, при этом x будет соответствовать только восходящему движению. После получения значений доплера или скорости разделите их на 2.

  • Укажите отрицательное значение свойства SweepSlope, при этом x будет соответствовать только понижающим оборотам. После получения значений доплера или скорости разделите их на 2.

Вы можете указать этот аргумент с одинарной или двойной точностью.

xref — опорный сигнал
вектор-столбец

Details

Опорный сигнал, заданный в виде вектора столбцов с тем же количеством строк, что и x.

Вы можете задать этот аргумент с одинарной или двойной точностью.

coeff — коэффициенты согласованного фильтра
вектор-столбец

Details

Коэффициенты фильтра, заданные в виде вектора столбцов.

Вы можете указать этот аргумент с одинарной или двойной точностью.

prf — частота повторения импульсов
положительный скаляр

Details

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

prf должна быть меньше или равна частоте дискретизации, указанной в свойстве SampleRate, деленной на длину первого измерения входного сигнала, x. Вы можете задать этот аргумент с одинарной или двойной точностью.

Зависимости

Чтобы включить этот аргумент, установите для свойства PRFSource значение Input port.

Выход

resp — диапазон-доплеровский отклик
комплексная матрица M на P | комплексный массив M на N на P

Details

Дальномерная доплеровская характеристика x, возвращаемая в виде комплексной матрицы M на P или массива M на N на P. Значения P и M зависят от синтаксиса. N имеет то же значение, что и для входного аргумента x.

Синтаксис

Значения M и P

object(x)

  • Если для свойства RangeFFTLength установлено значение Auto, M = K – длина первого измерения x. В противном случае M равно значению свойства RangeFFTLength.

  • Если для свойства DopplerFFTLength установлено значение Auto, P = L – длина последнего измерения x. В противном случае P равно значению свойства DopplerFFTLength.

object(x,xref)

M – это коэффициент длины первого измерения x, деленный на значение свойства DecimationFactor.

  • Если для свойства DopplerFFTLength установлено значение Auto, P = L, длина последнего измерения x. В противном случае P равно значению свойства DopplerFFTLength.

object(x,coeff)

M – это количество строк x.

  • Если для свойства DopplerFFTLength установлено значение Auto, P = L – длина последнего измерения x. В противном случае P равно значению свойства DopplerFFTLength.

rnggrid — значения диапазона
вещественный вектор-столбец длиной M

Details

Сигналы диапазона, на которых оценивается дальность доплеровского отклика. rnggrid – вектор-столбец длиной M.

dopgrid — допплеровские показатели
вещественный вектор-столбец длиной P

Details

Доплеровские выборки или выборки скорости, на которых оценивается дальность-доплеровский отклик. dopgrid – вектор-столбец длиной P. Содержит ли dopgrid доплеровские или скоростные выборки, зависит от свойства DopplerOutput в H.

Методы

Общие для всех системных объектов

step!

Запуск алгоритма работы системного объекта

release!

Разрешение изменение значения свойства системного объекта

reset!

Сброс внутренних состояний системного объекта

Алгоритмы

Алгоритм ответа

Объект EngeePhased.RangeDopplerResponse генерирует ответ следующим образом:

  1. Обрабатывает входной сигнал в измерении быстрого времени, используя либо согласованный фильтр, либо операцию дешифрации/FFT.

  2. Обрабатывает входной сигнал в импульсном измерении с помощью БПФ. Алгоритм децимации использует FIR-фильтр 30-го порядка, сгенерированный fir1(30,1/R), где R – значение свойства DecimationFactor.

Точность данных

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