Вычислить значение X в A 'AX = B для комплексных матриц с использованием QR-разложения без Q
Конструктор фиксированных точек: поддержка ЛВП/матрицы и линейные алгебры/решатели линейных систем


Комплексная частично-систолическая матрица, решаемая с помощью блока QR-декомпозиции без Q, решает систему линейных уравнений A 'AX = B, используя QR-декомпозицию без Q, где A и B являются матрицами с комплексными значениями.
A(i,:) - Строки матрицы AСтроки матрицы A, заданные как вектор. A - матрица m-на-n, где m ≥ 2 и m ≥ n. Если B одинарный или двойной, A должен быть того же типа данных, что и B. Если A является фиксированным типом данных, A должен быть подписан, использовать двоичное масштабирование и иметь ту же длину слова, что и B. Представление смещения наклона не поддерживается для типов данных с фиксированной точкой.
Типы данных: single | double | fixed point
Поддержка комплексного номера: Да
B - Матрица BМатрица B, заданная как вектор. B представляет собой матрицу m-по-p, где m ≥ 2. Если A одинарный или двойной, B должен быть того же типа данных, что и A. Если B является типом данных с фиксированной точкой, B должен быть подписан, использовать двоичное масштабирование и иметь ту же длину слова, что и A. Представление смещения наклона не поддерживается для типов данных с фиксированной точкой.
Типы данных: single | double | fixed point
Поддержка комплексного номера: Да
validInA - Действителен ли ввод ABoolean скалярДопустим ли ввод A, указывается как логический скаляр. Этот управляющий сигнал указывает, когда данные из входного порта A (i,:) являются действительными. Если это значение равно 1 (true) и значение при readyA равно 1 (true), блок захватывает значения на входном порту A (i,:). Если это значение равно 0 (false), блок игнорирует входные выборки.
После отправки true
сигнал validInA, может быть некоторая задержка, прежде чем readyA установится на false. Чтобы убедиться, что все данные обработаны, необходимо дождаться значения readyA false перед отправкой другого true
сигнал validInA.
Типы данных: Boolean
validInB - Действителен ли вход BBoolean скалярДопустим ли вход B, указывается как логический скаляр. Этот управляющий сигнал указывает, когда данные из входного порта B являются действительными. Если это значение равно 1 (true) и значение при readyB равно 1 (true), блок захватывает значения на входном порту B. Если это значение равно 0 (false), блок игнорирует входные выборки.
После отправки true
сигнал validInB, может быть некоторая задержка, прежде чем readyB будет установлен в false. Чтобы убедиться, что все данные обработаны, необходимо дождаться установки readyB в значение false перед отправкой другого true
сигнал validInB.
Типы данных: Boolean
restart - Очистить ли внутренние состоянияBoolean скалярТребуется ли очистить внутренние состояния, указанные как логический скаляр. Если это значение равно 1 (true), блок останавливает текущий расчет и очищает все внутренние состояния. Если это значение равно 0 (false) и значение validIn равно 1 (true), блок начинает новый подкадр.
Типы данных: Boolean
X - Матрица XМатрица X, возвращаемая как вектор или матрица.
Типы данных: single | double | fixed point
validOut - Действительны ли выходные данныеBoolean скалярЯвляются ли выходные данные допустимыми, возвращается как логический скаляр. Этот управляющий сигнал указывает, когда данные на выходном порту X являются действительными. Если это значение равно 1 (true), блок успешно рассчитал строку матрицы X. Если это значение равно 0 (false), выходные данные недопустимы.
Типы данных: Boolean
readyA - Готов ли блок к вводу ABoolean скалярГотов ли блок для ввода A, возвращается как логический скаляр. Этот управляющий сигнал указывает, когда блок готов к новым входным данным. Если это значение равно 1 (true) и значение validInA равно 1 (true), блок принимает входные данные на следующем временном шаге. Если это значение равно 0 (false), блок игнорирует входные данные на следующем шаге времени.
После отправки true
сигнал validInA, может быть некоторая задержка, прежде чем readyA установится на false. Чтобы убедиться, что все данные обработаны, необходимо дождаться значения readyA false перед отправкой другого true
сигнал validInA.
Типы данных: Boolean
readyB - Готов ли блок к вводу BBoolean скалярГотов ли блок к входу B, возвращается как логический скаляр. Этот управляющий сигнал указывает, когда блок готов к новым входным данным. Если это значение равно 1 (true) и значение validInB равно 1 (true), блок принимает входные данные на следующем временном шаге. Если это значение равно 0 (false), блок игнорирует входные данные на следующем шаге времени.
После отправки true
сигнал validInB, может быть некоторая задержка, прежде чем readyB будет установлен в false. Чтобы убедиться, что все данные обработаны, необходимо дождаться установки readyB в значение false перед отправкой другого true
сигнал validInB.
Типы данных: Boolean
Number of rows in matrix A - Количество строк в матрице A4 (по умолчанию) | положительный скаляр с целочисленным значениемЧисло строк в матрице A, указанное как скаляр с положительным целым числом.
Параметр блока:
m |
| Текст: символьный вектор |
| Значения: скаляр с положительным целым числом |
По умолчанию:
4 |
Number of columns in matrix A and rows in matrix B - Количество столбцов в матрице A и строк в матрице B4 (по умолчанию) | положительный скаляр с целочисленным значениемЧисло столбцов в матрице A и строк в матрице B, указанное как скаляр с положительным целым числом.
Параметр блока:
n |
| Текст: символьный вектор |
| Значения: скаляр с положительным целым числом |
По умолчанию:
4 |
Number of columns in matrix B - Количество столбцов в матрице B1 (по умолчанию) | положительный скаляр с целочисленным значениемЧисло столбцов в матрице B, указанное как скаляр с положительным целым числом.
Параметр блока:
p |
| Текст: символьный вектор |
| Значения: скаляр с положительным целым числом |
По умолчанию:
1 |
Output datatype - Тип данных выходной матрицы Xfixdt(1,18,14) (по умолчанию) | double | single | fixdt(1,16,0) | <data type expression>Тип данных выходной матрицы X, указанный как fixdt(1,18,14), double, single, fixdt(1,16,0)или в виде пользовательского выражения типа данных. Тип может быть указан непосредственно или выражен как объект типа данных, например Simulink.NumericType.
Параметр блока:
OutputType |
| Текст: символьный вектор |
Значения:
'fixdt(1,18,14)' | 'double' | 'single' | 'fixdt(1,16,0)' | '<data type expression>' |
По умолчанию:
'fixdt(1,18,14)' |
Частично-систолические реализации устанавливают приоритет скорости вычислений над пространственными ограничениями, в то время как пакетные реализации устанавливают приоритет пространственных ограничений за счет скорости операций. Следующая таблица иллюстрирует компромиссы между реализациями, доступными для матричных разложений, и системами решения линейных уравнений.
| Внедрение | Готов | Время ожидания | Область | Образец блока или примера |
|---|---|---|---|---|
| Систолический | 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.
Представление уклона-смещения не поддерживается для типов данных с фиксированной точкой.
HDL Coder™ предоставляет дополнительные опции конфигурации, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет единую архитектуру HDL по умолчанию.
| Общая информация | |
|---|---|
| ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках проекта. Распределенная конвейерная обработка не перераспределяет эти регистры. Значение по умолчанию: |
| InputPipeline | Количество входных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
| OutputPipeline | Количество выходных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
Поддерживает только типы данных с фиксированной точкой.
A и B должны быть подписаны, использовать двоичное масштабирование и иметь одинаковую длину слова. Представление уклона-смещения не поддерживается для типов данных с фиксированной точкой.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.