Автокорреляция N -D массива
Системный тулбокс/статистика DSP
Блок Autocorrelation вычисляет автокорреляцию по первой размерности входного массива N -D. Расчет можно выполнить в временной интервал или частотный диапазон. Вы можете задать область через параметр Computation domain. Во временном интервале входной сигнал свертывается с его обращенным во времени комплексным сопряженным. В частотный диапазон блок вычисляет автокорреляцию, взяв преобразование Фурье входного сигнала, умножив преобразование Фурье с его сопряженным и вычислив обратное преобразование Фурье продукта. В этом домене, в зависимости от длины входа, блок может потребовать меньше расчетов. Для получения информации об этих двух методах расчета, см. Алгоритмы.
Можно задать максимальную задержку для автокорреляции, используя параметры Compute all non-negative lags и Maximum non-negative lag (less than input length).
Блок принимает сигналы с фиксированной точкой, когда вы устанавливаете Computation domain на Time
.
Port_1
- Вход данныхВвод данных. Блок принимает реальные или комплексные многоканальные и многомерные входы. Вход может быть сигналом с фиксированной точкой, когда вы устанавливаете Computation domain на Time
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Поддержка комплексного числа: Да
Port_1
- Автокоррелированный выходАвтокоррелированный выход входных данных.
Когда вход является M -by- N матрицей, u, выход, y, является (l + 1) -by- N матрицей. l является максимальной положительной задержкой для автокорреляции.
Когда вход является массивом N -D, блок выводит массив N -D. Размер первой размерности составляет l + 1, а размеры всех других размерностей совпадают с размерами массива входа. Для примера, когда вход является M -by- N -by- P массивом, блок выводит (l + 1) -by- N -by- P массив.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Поддержка комплексного числа: Да
Compute all non-negative lags
- Вычисление автокорреляции по всем неотрицательным лагамКогда вы выбираете этот параметр, блок Autocorrelation вычисляет автокорреляцию по всем неотрицательным лагам в области значений [0, length(input)
– 1]. Когда вы очищаете этот параметр, блок вычисляет автокорреляцию с помощью лагов в области значений [0, l], где l является значением, заданным вами в Maximum non-negative lag (less than input length).
Maximum non-negative lag (less than input length)
- Максимальная положительная задержка1
(по умолчанию) | целое число, больше или равное 0 и меньше входной длиныМаксимальная положительная задержка для автокорреляции, заданная как целое число, которое больше или равно 0 и меньше, чем длина входа.
Чтобы включить этот параметр, очистите параметр Compute all non-negative lags.
Scaling
- Масштабирование выходаNone
(по умолчанию) | Biased
| Unbiased
| Unity at zero-lag
Масштабирование, примененное к выходу.
None
- Генерирует необработанную автокорреляционную yi,j без нормализации.
Biased
- Генерирует смещенную оценку автокорреляции.
Unbiased
- Генерирует объективную оценку автокорреляции.
Unity at zero-lag
- Нормирует оценку автокорреляции для каждого канала так, чтобы сумма нулевой задержки, первый элемент в каждом столбце, был идентичен 1.
Computation domain
- Область, в котором блок вычисляет автокорреляциюTime
(по умолчанию) | Frequency
Time
- Вычисляет свертки во временном интервале, что минимизирует использование памяти.
Frequency
- Вычисляет автокорреляцию в частотном диапазоне. Для получения дополнительной информации см. «Алгоритмы».
Чтобы автокоррелировать сигналы с фиксированной точкой, установите этот параметр равным Time
.
Примечание
Сигналы с фиксированной точкой поддерживаются только во временном интервале. Чтобы использовать эти параметры, на вкладке Main установите Computation domain равным Time
.
Rounding mode
- Метод округленияFloor
(по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Задайте режим округления для операций с фиксированной точкой как один из следующих:
Floor
Ceiling
Convergent
Nearest
Round
Simplest
Zero
Для получения дополнительной информации смотрите режим округления.
Примечание
Параметры Rounding mode и Saturate on integer overflow не влияют на числовые результаты, когда все эти условия выполняются:
Product output данных Inherit: Inherit via internal rule
.
Accumulator данных Inherit: Inherit via internal rule
.
Output данных Inherit: Same as accumulator
.
С этими настройками типа данных блок работает в режиме полной точности.
Saturate on integer overflow
- Метод действия переполненияКогда вы выбираете этот параметр, блок насыщает результат своей операции с фиксированной точкой. Когда вы очищаете этот параметр, блок переносит результат своей операции с фиксированной точкой. Для получения дополнительной информации о saturate
и wrap
, см. Режим переполнения для операций с фиксированной точкой.
Примечание
Параметры Rounding mode и Saturate on integer overflow не влияют на числовые результаты, когда все эти условия выполняются:
Product output данных Inherit: Inherit via internal rule
.
Accumulator данных Inherit: Inherit via internal rule
.
С этими настройками типа данных блок работает в режиме полной точности.
Product output
- Тип выходных данных продуктаInherit: Inherit via internal rule
(по умолчанию) | Inherit: Same as input
| fixdt([],16,0)
Product output задает тип данных выхода операции продукта в блоке Autocorrelation. Для получения дополнительной информации о типе выходных данных продукта, смотрите Типы данных умножения и раздел 'Преобразование с фиксированной точкой' в Расширенных возможностях.
Inherit: Inherit via internal rule
- Блок наследует тип выходных данных продукта на основе внутреннего правила. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.
Inherit: Same as input
- Блок задает тип выходных данных продукта, который должен совпадать с типом входных данных.
fixdt([],16,0)
- блок задает автознаковый, двоичный, масштабированный, тип данных с фиксированной точкой с размером слова 16 бит и длиной дроби 0.
Также можно задать тип данных Product output при помощи Data Type Assistant. Чтобы использовать ассистента, нажмите кнопку Show data type assistant.
Дополнительные сведения о помощнике по типам данных см. в разделе «Задание типов данных с использованием помощника по типам данных» (Simulink).
Accumulator
- Тип данных аккумулятораInherit: Inherit via internal rule
(по умолчанию) | Inherit: Same as input
| Inherit: Same as product output
| fixdt([],16,0)
Accumulator задает тип данных выхода операции накопления в блоке Autocorrelation. Для рисунков о том, как использовать тип данных аккумулятора в этом блоке, смотрите раздел 'Преобразование фиксированной точки' в Extended Capabilities.
Inherit: Inherit via internal rule
- Блок наследует тип данных аккумулятора на основе внутреннего правила. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.
Inherit: Same as input
- Блок задает тип данных аккумулятора таким же, как и тип входных данных.
Inherit: Same as product output
- Блок задает тип данных аккумулятора таким же, как и тип выходных данных продукта.
fixdt([],16,0)
- блок задает автознаковый, двоичный, масштабированный, тип данных с фиксированной точкой с размером слова 16 бит и длиной дроби 0.
Также можно задать тип данных Accumulator при помощи Data Type Assistant. Чтобы использовать ассистента, нажмите кнопку Show data type assistant.
Дополнительные сведения о помощнике по типам данных см. в разделе «Задание типов данных с использованием помощника по типам данных» (Simulink).
Output
- Тип выходных данныхInherit: Same as accumulator
(по умолчанию) | Inherit: Same as input
| Inherit: Same as product output
| fixdt([],16,0)
Output задает тип данных выхода блока Autocorrelation. Для получения дополнительной информации о типе выходных данных смотрите раздел 'Преобразование с фиксированной точкой' в Extended Capabilities.
Inherit: Same as input
- Блок задает тип выходных данных, совпадающий с типом входных данных.
Inherit: Same as product output
- Блок задает тип выходных данных, совпадающий с типом выходных данных продукта.
Inherit: Same as accumulator
- Блок задает тип выходных данных, совпадающий с типом данных аккумулятора.
fixdt([],16,0)
- блок задает автознаковый, двоичный, масштабированный, тип данных с фиксированной точкой с размером слова 16 бит и длиной дроби 0.
Также можно задать тип данных Output при помощи Data Type Assistant. Чтобы использовать ассистента, нажмите кнопку Show data type assistant.
Дополнительные сведения о помощнике по типам данных см. в разделе «Задание типов данных с использованием помощника по типам данных» (Simulink).
Output Minimum
- Минимальное значение, которое может вывести блок[]
(по умолчанию) | скаляромЗадайте минимальное значение, которое может вывести блок. Simulink® программное обеспечение использует это минимальное значение для выполнения:
Проверка области значений симуляции. См. «Задание диапазонов сигнала» (Simulink).
Автоматическое масштабирование типов данных с фиксированной точкой.
Output Maximum
- Блок максимального значения может выводить[]
(по умолчанию) | скаляромЗадайте максимальное значение, которое может вывести блок. Программное обеспечение Simulink использует это максимальное значение для выполнения:
Проверка области значений симуляции. См. «Задание диапазонов сигнала» (Simulink).
Автоматическое масштабирование типов данных с фиксированной точкой.
Lock data type settings against changes by the fixed-point tools
- Предотвратить переопределение типов данных инструментами с фиксированной точкойoff
(по умолчанию) | on
Выберите этот параметр, чтобы предотвратить переопределение инструментами с фиксированной точкой типов данных, заданных в диалоговом окне блока.
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Автокорреляция является корреляцией сигнала с ним самим в различные точки времени.
Для детерминированной последовательности в дискретном времени, x(n), автокорреляция вычисляется с помощью следующей зависимости:
где h - задержка, а * обозначает комплексный сопряженный. Если вход является длиной N реализацией стационарного случайного процесса WSS, rx (h) является оценкой теоретической автокорреляции:
где E {} является оператором ожидания. The Unity at zero-lag
нормализация делит каждое значение последовательности на автокорреляционную или автокорреляционную оценку при нулевой задержке.
Наиболее часто используемой оценкой теоретической автокорреляции случайного процесса WSS является смещенная оценка:
Когда вы устанавливаете область расчетов во время, алгоритм вычисляет автокорреляцию входного сигнала во временном интервале. Входной сигнал может быть сигналом с фиксированной точкой в этой области.
Автокорреляционная последовательность, y, вычисляется с помощью этого уравнения:
y0,j - элемент нулевой задержки в j-м столбце входа.
i - индекс задержки.
j - индекс столбца входных данных.
*
обозначает комплексный сопряженный.
M - количество элементов в каждом столбце.
l является максимальной положительной задержкой для автокорреляции. Когда вы принимаете решение вычислить автокорреляцию со всеми неотрицательными лагами, l = M -1. В противном случае l является заданным максимальным неотрицательным значением целочисленной задержки.
u является M -by N входной матрицей.
Когда вы устанавливаете расчету область на частоту, алгоритм вычисляет автокорреляцию в частотный диапазон.
В этой области алгоритм вычисляет автокорреляционную последовательность, взяв преобразование Фурье входного сигнала, умножив преобразование Фурье с его комплексным сопряженным и взяв обратное преобразование Фурье продукта. В этой области, в зависимости от длины входа, алгоритм может потребовать меньше расчетов.
Сгенерированный код опирается на memcpy
или memset
функции (string.h
) при определенные обстоятельства.
Эти схемы показывают типы данных, которые блок Autocorrelation использует для сигналов с фиксированной точкой (только во временной области).
Можно задать выходы продукта, накопитель и типы выходных данных на вкладке Data Types блока.
Когда вход действителен, выход умножителя находится в типе выходных данных продукта. Когда вход комплексен, выход умножения находится в типе данных аккумулятора. Для получения дополнительной информации о выполненном комплексном умножении смотрите Типы данных умножения.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.