Вычислите значение X в A 'AX = B для матриц с действительным знаком с бесконечным числом использования строк разложение Q-less QR
Поддержка HDL Fixed-Point Designer / Матрицы и Линейная алгебра / Решатели Линейной системы
Блок Real Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting Factor решает систему линейных уравнений A 'AX = использование B разложение Q-less QR, где A и B являются матрицами с действительным знаком. A является бесконечно высокими матричными данными о потоковой передаче представления.
A(i,:)
— Строки действительного матричного AСтроки действительного матричного A в виде вектора. A является m-by-n матрица где m ≥ 2 и m ≥ n. Если B является одним или двойным, A должен быть совпадающим типом данных как B. Если A является типом данных с фиксированной точкой, A должен быть подписан, использовать масштабирование двоичной точки и иметь тот же размер слова как B. Представление наклонного смещения не поддерживается для типов данных с фиксированной точкой.
Типы данных: single
| double
| fixed point
B
— Матричный BДействительный матричный B в виде матрицы. B является m-by-p матрица где m ≥ 2. Если A является одним или двойным, B должен быть совпадающим типом данных как A. Если B является типом данных с фиксированной точкой, B должен быть подписан, использовать масштабирование двоичной точки и иметь тот же размер слова как A. Представление наклонного смещения не поддерживается для типов данных с фиксированной точкой.
Типы данных: single
| double
| fixed point
validInA
— Допустим ли входBoolean
скалярДопустим ли вход A(i, ;) в виде булева скаляра. Этот управляющий сигнал указывает, когда данные из входного порта A(i,:) допустимы. Когда этим значением является 1
TRUE
) и значением readyA является 1
TRUE
), блок получает значения во входном порту A(i,:). Когда этим значением является 0
ложь
), блок игнорирует входные выборки.
После отправки true
Сигнал validInA, может быть некоторая задержка, прежде чем readyA будет установлен в false
. Гарантировать все данные обрабатывается, необходимо ожидать, пока readyA не установлен в false
прежде, чем отправить другой true
Сигнал validInA.
Типы данных: Boolean
validInB
— Допустим ли вход BBoolean
скалярДопустим ли вход B в виде булева скаляра. Этот управляющий сигнал указывает, когда данные из входного порта B допустимы. Когда этим значением является 1
TRUE
) и значением readyB является 1
TRUE
), блок получает значения во входном порту B. Когда этим значением является 0
ложь
), блок игнорирует входные выборки.
После отправки true
Сигнал validInB, может быть некоторая задержка, прежде чем readyB будет установлен в false
. Гарантировать все данные обрабатывается, необходимо ожидать, пока readyB не установлен в false
прежде, чем отправить другой true
Сигнал validInB.
Типы данных: Boolean
restart
— Очистить ли внутренние состоянияBoolean
скалярОчистить ли внутренние состояния в виде булева скаляра. Когда это значение равняется 1 (true
), блок останавливает текущее вычисление и очищает все внутренние состояния. Когда это значение 0 (false
) и validInA и значения validInB оба 1 (true
), блок начинает новый подкадр.
Типы данных: Boolean
X
— Матричный XМатричный X, возвращенный как вектор или матрица.
Типы данных: single
| double
| fixed point
validOut
— Допустимы ли выходные данныеBoolean
скалярДопустимы ли выходные данные, возвращенные как булев скаляр. Этот управляющий сигнал указывает, когда данные в выходном порту X допустимы. Когда этим значением является 1
TRUE
), блок успешно вычислил строку X. Когда этим значением является 0
ложь
), выходные данные не допустимо.
Типы данных: 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 columns in matrix A and rows in matrix B
— Количество столбцов в матричном A и строк в матричном B
(значение по умолчанию) | положительный скаляр с целочисленным знакомКоличество столбцов в матричном A и строк в матричном B в виде положительного скаляра с целочисленным знаком.
Параметры блоков:
n |
Ввод: символьный вектор |
Значения: положительный скаляр с целочисленным знаком |
Значение по умолчанию:
4 |
Number of columns in matrix B
— Количество столбцов в матричном B
(значение по умолчанию) | положительный скаляр с целочисленным знакомКоличество столбцов в матричном B в виде положительного скаляра с целочисленным знаком.
Параметры блоков:
p |
Ввод: символьный вектор |
Значения: положительный скаляр с целочисленным знаком |
Значение по умолчанию:
1 |
Forgetting factor
— Упущение фактора, примененного после каждой строки матрицы, учтеноПри упущении фактора, примененного после того, как, каждая строка матрицы учтена в виде действительной положительной скалярной величины. Выход обновляется, когда каждая строка A вводится неопределенно.
Параметры блоков:
forgettingFactor |
Ввод: символьный вектор |
Значения: положительный скаляр с целочисленным знаком |
Значение по умолчанию:
0.99 |
Output datatype
— Тип данных выходной матрицы Xfixdt(1,18,14)
(значение по умолчанию) | double
| single
| fixdt(1,16,0)
| <data type expression>
Тип данных выходной матрицы X в виде fixdt(1,18,14)
'double'
единственный
, 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 | On | O (m n2) | Реализуйте эффективное оборудованием разложение QR Используя CORDIC в систолическом массиве |
Частично-систолический | C | O (m) | O (n2) | |
Частично-систолический с упущением фактора | C | On | O (n2) | Фиксированная точка оптимизированный HDL формирователь луча Ответа без Искажений Минимального Отклонения (MVDR) |
Пакет | On | O (mn2) | On |
Где C является константой, пропорциональной размеру слова данных, m является количеством строк в матричном A, и n является количеством столбцов в матричном A.
Представление наклонного смещения не поддерживается для типов данных с фиксированной точкой.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Этот блок имеет одну, архитектуру HDL по умолчанию.
Общий | |
---|---|
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
Типы данных с фиксированной точкой поддержек только.
A и B должны быть подписаны, использовать масштабирование двоичной точки и иметь тот же размер слова. Представление наклонного смещения не поддерживается для типов данных с фиксированной точкой.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.