QR-разложение для комплексных матриц
Поддержка/матрицы HDL конструктора фиксированных точек и факторизация линейной алгебры/матрицы


Блок комплексного частичного систолического QR-разложения использует QR-разложение для вычисления R и C = Q 'B, где QR = A, и A и B являются матрицами с комплексными значениями. Решение методом наименьших квадратов для Ax = B представляет собой x = R\C. R - верхняя треугольная матрица, а Q - ортогональная матрица. Для вычисления C = Q 'установите B в качестве единичной матрицы.
A(i,:) - Строки матрицы AСтроки матрицы A, заданные как вектор. А представляет собой матрицу m-на-n, где m ≥ 2 и n ≥ 2. Если B является одинарным или двойным, A должен быть того же типа данных, что и B. Если A является типом данных с фиксированной точкой, A должен быть подписан, использовать двоичное масштабирование и иметь ту же длину слова, что и B. Представление смещения наклона не поддерживается для типов данных с фиксированной точкой.
Типы данных: single | double | fixed point
Поддержка комплексного номера: Да
B(i,:) - Строки матрицы BСтроки матрицы B, заданные как вектор. B представляет собой матрицу m-по-p, где m ≥ 2. Если A одинарный или двойной, B должен быть того же типа данных, что и A. Если B является типом данных с фиксированной точкой, B должен быть подписан, использовать двоичное масштабирование и иметь ту же длину слова, что и A. Представление смещения наклона не поддерживается для типов данных с фиксированной точкой.
Типы данных: single | double | fixed point
Поддержка комплексного номера: Да
validIn - Действительны ли входные данныеBoolean скалярДопустимы ли входные данные, указывается как логический скаляр. Этот управляющий сигнал указывает, когда данные от входных портов A (i,:) и B (i,:) являются действительными. Если это значение равно 1 (true) и значение при готовности равно 1 (true), блок захватывает значения на входных портах A (i,:) и B (i,:). Если это значение равно 0 (false), блок игнорирует входные выборки.
После отправки true
validin сигнал, может быть некоторая задержка, прежде чем готовность будет установлена на false. Чтобы убедиться, что все данные обработаны, необходимо подождать, пока не будет установлено значение ready false перед отправкой другого true
сигнал validIn.
Типы данных: Boolean
restart - Очистить ли внутренние состоянияBoolean скалярТребуется ли очистить внутренние состояния, указанные как логический скаляр. Если это значение равно 1 (true), блок останавливает текущий расчет и очищает все внутренние состояния. Если это значение равно 0 (false), а значение validIn равно 1 (true), блок начинает новый подкадр.
Типы данных: Boolean
R - Матрица RМатрица R QR разложения экономного размера, возвращаемая как матрица. R - верхняя треугольная матрица. R имеет тот же тип данных, что и A.
Типы данных: single | double | fixed point
C - Матрица C = Q 'BМатрица QR разложения экономичного размера C = Q 'B, возвращаемая как матрица или вектор. C имеет то же количество строк, что и R.C, имеет тот же тип данных, что и B.
Типы данных: single | double | fixed point
validOut - Действительны ли выходные данныеBoolean скалярЯвляются ли выходные данные допустимыми, возвращается как логический скаляр. Этот управляющий сигнал указывает, когда данные на выходных портах R и C являются действительными. Если это значение равно 1 (true), блок успешно вычисляет матрицы R и C. Если это значение равно 0 (false), выходные данные недопустимы.
Типы данных: Boolean
ready - Готов ли блокBoolean скалярГотов ли блок, возвращается как логический скаляр. Этот управляющий сигнал указывает, когда блок готов к новым входным данным. Если это значение равно 1 (true), а значение validIn равно 1 (true), блок принимает входные данные на следующем временном шаге. Если это значение равно 0 (false), блок игнорирует входные данные на следующем шаге времени.
После отправки true
validin сигнал, может быть некоторая задержка, прежде чем готовность будет установлена на false. Чтобы убедиться, что все данные обработаны, необходимо подождать, пока не будет установлено значение ready false перед отправкой другого true
сигнал validIn.
Типы данных: Boolean
Number of rows in matrices A and B - Количество строк во входных матрицах A и B4 (по умолчанию) | положительный скаляр с целочисленным значениемЧисло строк во входных матрицах A и B, указанное как положительный целочисленный скаляр.
Параметр блока:
m |
| Текст: символьный вектор |
| Значения: скаляр с положительным целым числом |
По умолчанию:
4 |
Number of columns in matrix A - Количество столбцов в входной матрице A4 (по умолчанию) | положительный скаляр с целочисленным значениемЧисло столбцов во входной матрице A, указанное как скаляр с положительным целым числом.
Параметр блока:
n |
| Текст: символьный вектор |
| Значения: скаляр с положительным целым числом |
По умолчанию:
4 |
Number of columns in matrix B - Количество столбцов в входной матрице B1 (по умолчанию) | положительный скаляр с целочисленным значениемЧисло столбцов во входной матрице B, указанное как скаляр с положительным целым числом.
Параметр блока:
p |
| Текст: символьный вектор |
| Значения: скаляр с положительным целым числом |
По умолчанию:
1 |
Regularization parameter - Параметр регуляризацииПараметр регуляризации, заданный как неотрицательный скаляр. Небольшие положительные значения параметра регуляризации могут улучшить кондиционирование проблемы и уменьшить дисперсию оценок. Несмотря на смещение, уменьшенная дисперсия оценки часто приводит к меньшей среднеквадратической ошибке по сравнению с оценками наименьших квадратов.
Параметр блока:
k |
| Текст: символьный вектор |
| Значения: скаляр с положительным целым числом |
По умолчанию:
0 |
Частично-систолические реализации устанавливают приоритет скорости вычислений над пространственными ограничениями, в то время как пакетные реализации устанавливают приоритет пространственных ограничений за счет скорости операций. Следующая таблица иллюстрирует компромиссы между реализациями, доступными для матричных разложений, и системами решения линейных уравнений.
| Внедрение | Готов | Время ожидания | Область | Образец блока или примера |
|---|---|---|---|---|
| Систолический | C | O (n) | O (mn2) | Внедрение аппаратно-эффективной декомпозиции QR с использованием CORDIC в систолическом массиве |
| Частично-систолический | C | О (м) | O (n2) | |
| Частично-систолический с коэффициентом забывания | C | O (n) | O (n2) | Оптимизированный для HDL с фиксированной точкой формирователь луча с минимальным отклонением без искажений (MVDR) |
| Взрыв | O (n) | O (mn2) | O (n) |
Где C - константа, пропорциональная длине слова данных, m - количество строк в матрице A, а n - количество столбцов в матрице A.
В следующей таблице представлена подробная информация о времени для блоков декомпозиции QR.
| Блок | validIn кому ready (c циклов) | validIn кому validOut (v циклов) |
|---|---|---|
| Вещественная частичная систолическая QR-декомпозиция | c = w + 8 | v = c (m + n-1) |
| Комплексная частично-систолическая QR-декомпозиция | c = 2w + 15 | v = c (m + n-1) |
| Вещественная частичная систолическая Q-безQR декомпозиция | c = w + 8 | v = c (m + n-1) |
| Комплексная частично-систолическая QR-декомпозиция без Q | c = 2w + 15 | v = c (m + n-1) |
| Вещественная частичная систолическая Q-безо QR декомпозиция с коэффициентом забывания | c = w + 8 | v = c (2n - 1) |
| Комплексная частично-систолическая Q-безо QR декомпозиция с коэффициентом забывания | c = 2w + 15 | v = c (2n - 1) |
В таблице m представляет количество строк в матрице А, а n - количество столбцов в матрице А. w представляет длину слова А.
Если типом данных A является фиксированная точка, то w - длина слова.
Если тип данных A является двойным, то w равно 53.
Если тип данных A одинарный, то w равно 24.
Представление уклона-смещения не поддерживается для типов данных с фиксированной точкой.
HDL Coder™ предоставляет дополнительные опции конфигурации, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет единую архитектуру HDL по умолчанию.
| Общая информация | |
|---|---|
| ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках проекта. Распределенная конвейерная обработка не перераспределяет эти регистры. Значение по умолчанию: |
| InputPipeline | Количество входных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
| OutputPipeline | Количество выходных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
Поддерживает только типы данных с фиксированной точкой.
A и B должны быть подписаны, использовать двоичное масштабирование и иметь одинаковую длину слова. Представление уклона-смещения не поддерживается для типов данных с фиксированной точкой.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.