Вычислите значение X в A 'A X = B для матриц с реальным значением с использованием QR-разложения без Q
Fixed-Point Designer с фиксированной точкой


Блок Real Partial-Systolic Matrix Solve Using Q-less QR Decomposition решает систему линейных уравнений A 'A X = B с помощью QR-декомпозиции без Q, где A и B являются матрицами с реальными значениями.
A(i,:) - Строки действительных матричных AСтроки действительных матричных A, заданные как вектор. A m n матрицей где <reservedrangesplaceholder8> ≥ 2 и <reservedrangesplaceholder7> ≥ <reservedrangesplaceholder6>. Если 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 - Действителен ли вход ABoolean скалярЯвляется ли A(i, :) вход допустимым, задается как логический скаляр. Этот сигнал управления указывает, когда данные от 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) и validInA и validInB значения 1 (true), блок начинает новый подкадр.
Типы данных: Boolean
X - Матричная XМатрица X, возвращенная как вектор или матрица.
Типы данных: single | double | fixed point
validOut - Действительны ли выходные данныеBoolean скалярЯвляются ли выходные данные допустимыми, возвращается как логический скаляр. Этот сигнал управления указывает, когда данные в выход X порта действительны. Когда это значение 1 (true), блок успешно вычислил строку X. Когда это значение 0 (false), выходные данные недопустимы.
Типы данных: Boolean
readyA - Готов ли блок к входу ABoolean скалярГотов ли блок к входным A(i, :), возвращается как логический скаляр. Этот сигнал управления указывает, когда блок готов к новым входным данным. Когда это значение равняется 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 (m n2) | Реализуйте аппаратно-эффективное QR-разложение с помощью CORDIC в Systolic Array |
| Частичностополический | C | O (m) | O (n2) | |
| Частичная систематическая с забывающим фактором | C | O (n) | O (n2) | Оптимизированный HDL-дисперсия с фиксированной точкой, без искажений-ответ (MVDR), Beamformer |
| Взрыв | 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.