RangeAngleResponse

Ответ угла области значений

Описание

Система RangeAngleResponse object™ создает объект ответа угла области значений. Этот объект вычисляет ответ угла области значений сигнала с помощью или согласованного фильтра или БПФ.

Вход к объекту ответа угла области значений является кубом данных. Организация куба данных следует соглашению Phased Array System Toolbox™. Первая размерность куба представляет быстро-разовые выборки или области значений полученных сигналов. Второе измерение представляет несколько каналов, таких как датчики или лучи. Третья размерность, медленное время, представляет импульсы или развертки. Если данные содержат только один канал, например, куб данных может содержать меньше, чем три измерения. Обработка области значений действует по первому измерению куба. Угловая обработка действует вдоль второго измерения.

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

Получить ответ угла области значений:

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

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

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

Создание

Синтаксис

response = phased.RangeAngleResponse
response = phased.RangeAngleResponse(Name,Value)

Описание

response = phased.RangeAngleResponse создает Системный объект phased.RangeAngleResponse, response, со значениями свойств по умолчанию.

response = phased.RangeAngleResponse(Name,Value) свойства наборов для объекта phased.RangeAngleResponse с помощью одной или нескольких пар "имя-значение". Например, response = phased.RangeAngleResponse('RangeMethod','FFT','SampleRate',1e6) создает объект, который использует метод обработки области значений БПФ на уровне частоты дискретизации 1 МГц. Заключите имена свойства в кавычки.

Свойства

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

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

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

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

Сенсорная матрица, заданная как Системный объект Phased Array System Toolbox массивов.

Пример: phased.URA

Метод обработки области значений, заданный как 'Matched filter' или 'FFT'.

  • 'Matched filter' — Объектные фильтры соответствия входящий сигнал. Этот подход обычно используется для импульсных сигналов, где согласованный фильтр является реверсом времени переданного сигнала.

  • fft Объект применяет БПФ к входному сигналу. Этот подход обычно используется для щебетавших сигналов, таких как FMCW, и линейный FM пульсировал сигналы.

Пример: 'Matched filter'

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

Скорость распространения сигнала, заданная как положительная скалярная величина. Модули исчисляются в метрах в секунду. Скорость распространения по умолчанию является значением, возвращенным physconst('LightSpeed'). Смотрите physconst.

Пример: 3e8

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

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

Пример: 1e9

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

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

Пример: 1e6

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

Линейный наклон развертки FM, заданный как скаляр. Быстро-разовая размерность входного параметра signal к step должна соответствовать разверткам, имеющим этот наклон.

Пример: 1.5e9

Зависимости

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

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

Опция, чтобы включить dechirping входных сигналов, заданных как false или true. Установите это свойство на false указывать, что входной сигнал уже dechirped, и никакая dechirp операция не необходима. Установите это свойство на true, когда входной сигнал потребует dechirping.

Зависимости

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

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

Фактор десятикратного уменьшения для сигналов dechirped, заданных как положительное целое число. Алгоритм десятикратного уменьшения использует КИХ-фильтр 30-го порядка, сгенерированный fir1(30,1/D), где D является фактором десятикратного уменьшения. Значение по умолчанию 1 не подразумевает десятикратного уменьшения.

Когда обработка сигналов FMCW, десятикратное уменьшение сигнала dechirped полезны для сокращения нагрузки на конвертеры A/D.

Зависимости

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

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

Источник длины БПФ, используемой для обработки области значений сигналов dechirped, заданных как 'Auto' или 'Property'.

  • 'auto' Длина БПФ равняется длине быстро-разовой размерности куба входных данных.

  • Свойство Задайте длину БПФ при помощи свойства RangeFFTLength.

Зависимости

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

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

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

Зависимости

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

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

Окно взвешивания БПФ для обработки области значений, заданной как 'None', 'Hamming', 'Chebyshev', 'Hann', 'Kaiser', 'Taylor' или 'Custom'.

Если вы устанавливаете это свойство на 'Taylor', сгенерированное окно Тейлора имеет четыре почти постоянных боковых лепестка рядом с mainlobe.

Зависимости

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

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

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

Зависимости

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

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

Если вы пишете свою собственную функцию окна, первый аргумент должен быть длиной окна.

Примечание

Вместо того, чтобы использовать массив ячеек, можно передать во всех аргументах путем построения указателя на анонимную функцию. Например, можно установить значение CustomRangeWindow к @(n)taylorwin(n,nbar,sll), где вы ранее установили значения nbar и sll.

Пример: {@taylor,5,-35}

Зависимости

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

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

Установите диапазон ссылки в центре сетки области значений, заданной как true или false. Установка этого свойства к true позволяет вам установить диапазон ссылки в центре сетки области значений. Установка этого свойства к false устанавливает диапазон ссылки на начало сетки области значений.

Зависимости

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

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

Диапазон ссылки сетки области значений, заданной как неотрицательный скаляр.

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

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

    • Когда вы устанавливаете свойство ReferenceRangeCentered на true, диапазон ссылки установлен в центр сетки области значений.

    • Когда вы устанавливаете свойство ReferenceRangeCentered на false, диапазон ссылки установлен в запуск сетки области значений.

    Модули исчисляются в метрах.

Это свойство является настраиваемым.

Пример: 1000.0

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

Источник максимального количества выборок входного сигнала, заданных как 'Auto' или 'Property'. Когда вы устанавливаете это свойство на 'Auto', объект автоматически выделяет достаточно памяти, чтобы буферизовать входной сигнал. Когда вы устанавливаете это свойство на 'Property', вы задаете максимальное количество выборок во входном сигнале с помощью свойства MaximumNumInputSamples. Любой входной сигнал дольше, чем то значение является усеченным.

Чтобы использовать этот объект в MATLAB® Function Block в Simscape™ с сигналом переменного размера, установите это свойство на 'Property' и установите свойство MaximumNumInputSamples.

Зависимости

Чтобы включить это свойство, установите свойство RangeMethod на 'Matched Filter'.

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

Пример: 1024

Зависимости

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

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

Источник угла повышения, заданного как 'Property' или 'Input port'.

'Property'Угол повышения прибывает из свойства ElevationAngle.
'Input port'Угол повышения прибывает из входного параметра.

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

Пример: 45.0

Зависимости

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

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

Угловой промежуток ответа, заданный как с действительным знаком 2 1 вектор. Объект вычисляет ответ угла области значений в угловой области значений, [min_angle max_angle].

Пример: [-45 45]

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

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

Пример: [256]

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

Можно объединить дополнительные входные параметры, когда их свойства включения установлены. Дополнительные входные параметры должны быть перечислены в том же порядке как порядок свойств включения. Например,

[RESP,RANGE,ANG] = response(X,XREF,EL)
или
[RESP,RANGE,ANG] = response(X,COEFF,EL)

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

Синтаксис

[RESP,RANGE,ANG] = response(X)
[RESP,RANGE,ANG] = response(X,XREF)
[RESP,RANGE,ANG] = response(X,COEFF)
[RESP,RANGE,ANG] = response(___,EL)

Описание

[RESP,RANGE,ANG] = response(X) возвращает ответ угла области значений, RESP, области значений, RANGE, и углы, ANG. X является сигналом dechirped. Этот синтаксис применяется, когда вы устанавливаете свойство RangeMethod на 'FFT' и свойство DechirpInput к false. К этому синтаксису часто применяются сигналы FMCW.

пример

[RESP,RANGE,ANG] = response(X,XREF) также задает ссылочный сигнал, XREF к dechirped сигнал. Этот синтаксис применяется, когда вы устанавливаете свойство RangeMethod на 'FFT' и свойство DechirpInput к true. К этому синтаксису часто применяются сигналы FMCW. Затем ссылочный сигнал может быть переданным сигналом.

[RESP,RANGE,ANG] = response(X,COEFF) также задает COEFF как коэффициенты согласованного фильтра. Этот синтаксис применяется, когда вы устанавливаете свойство RangeMethod на 'MatchedFilter'. Этот синтаксис часто применяется к импульсным сигналам.

[RESP,RANGE,ANG] = response(___,EL) также задает EL как угол повышения. Этот синтаксис применяется, когда вы устанавливаете свойство ElevationAngleSource на 'Input port'.

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

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

Куб входного сигнала, заданный как K с комплексным знаком-by-N матричный или K с комплексным знаком-by-N-by-L массив. Содержимое куба данных зависит от типа обработки угла области значений, заданной различными синтаксисами.

  • K является количеством выборок области значений или быстро-разовых.

  • N является количеством независимых пространственных каналов, таких как датчики или лучи.

  • L является медленно-разовой размерностью, которая соответствует количеству импульсов или развертывается во входном сигнале.

Размер первой размерности входной матрицы может отличаться, чтобы моделировать изменяющуюся длину сигнала. Изменение размера может произойти, например, в случае импульсной формы волны с переменной импульсной частотой повторения.

Ссылочный сигнал используется для dechirping, заданного как K с комплексным знаком-by-1 вектор-столбец. Количество строк должно равняться длине быстро-разовой размерности X.

Зависимости

Чтобы включить этот входной параметр, установите значение RangeMethod к 'FFT' и DechirpInput к true.

Типы данных: double
Поддержка комплексного числа: Да

Коэффициенты согласованного фильтра, заданные как P с комплексным знаком-by-1 вектор-столбец. P должен быть меньше чем или равен K. K является количеством выборки области значений или быстро-разовых.

Зависимости

Чтобы включить этот входной параметр, установите значение RangeMethod к 'Matched filter'.

Типы данных: double
Поддержка комплексного числа: Да

Угол повышения ответа, заданного как скаляр между-90 ° и +90 °. Ответ угла области значений вычисляется для этого повышения. Модули в градусах.

Зависимости

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

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

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

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

Куб данных об ответе области значений, возвращенный как одно из следующего:

  • M с комплексным знаком - вектор-столбец элемента

  • M с комплексным знаком-by-L матрица

  • M с комплексным знаком-by-N - L массив

Значение M зависит от типа обработки

Свойство RangeMethodСвойство DechirpInputЗначение M
'FFT'false

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

trueM равняется частному количества строк, K, входного сигнала значением фактора десятикратного уменьшения, D, заданного в DecimationFactor.
'Matched filter'нет данныхM = K, длина быстро-разовой размерности x.

Типы данных: double
Поддержка комплексного числа: Да

Значения области значений по измерению области значений, возвращенному как M с действительным знаком-by-1 вектор-столбец. rnggrid задает области значений, соответствующие быстро-разовой размерности куба выходных данных RESP. M является длиной быстро-разовой размерности RESP. Значения области значений монотонно увеличиваются и равномерно распределенные. Модули исчисляются в метрах.

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

Угловые значения вдоль углового направления, возвращенного как P-by-1 вектор с действительным знаком. Модули в градусах.

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

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

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

release(obj)

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

plotResponseПостройте ответ угла области значений
stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Примеры

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

Вычислите ответ угла области значений от импульсного радара, передающего прямоугольную форму волны с помощью подхода согласованного фильтра. Сигнал включает три цели, возвращается. Два на расстоянии приблизительно в 2 000 м, и третье на расстоянии приблизительно в 3 500 м. Кроме того, две цели являются стационарными относительно радара, в то время как третье переезжает от радара на уровне приблизительно 100 м/с. Сигналы достигают универсальной линейной матрицы с 8 элементами.

Во-первых, загрузите данные в качестве примера.

load('RangeAngleResponseExampleData','rectdata');
fs = rectdata.fs;
propspeed = rectdata.propspeed;
fc = rectdata.fc;
rxdata = rectdata.rxdata;
mfcoeffs = rectdata.mfcoeffs;
%noisepower = rectdata.noisepower;
antennaarray = rectdata.antennaarray;

Во-вторых, создайте объект ответа угла области значений для обработки согласованного фильтра.

rngangresp = phased.RangeAngleResponse(...
    'SensorArray',antennaarray,'OperatingFrequency',fc,...
    'SampleRate',fs,'PropagationSpeed',propspeed);

Получите карту угла области значений.

[resp,rng_grid,ang_grid] = rngangresp(rxdata,mfcoeffs);

Постройте ответ.

plotResponse(rngangresp,rxdata,mfcoeffs,'Unit','db');

Алгоритмы

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

Расширенные возможности

Введенный в R2018b