QR-разложение для комплексных матриц
Fixed-Point Designer с фиксированной точкой
Блок Complex Partial-Systolic QR Decomposition использует QR-разложение, чтобы вычислить R и C = Q 'B, где Q R = A, и A и B являются комплексными матрицами. Решение методом наименьших квадратов для A x = B является x = R\ C. R является верхней треугольной матрицей, а Q - ортогональной матрицей. Чтобы вычислить C = Q', установите B, чтобы быть матрицей тождеств.
A(i,:)
- Строки матричных AСтроки матричных A, заданные как вектор. A m n матрицей где <reservedrangesplaceholder7> ≥ 2 и <reservedrangesplaceholder6> ≥ 2. Если B одинарная или двойная, A должен быть совпадающий тип данных, что и B. Если A является типом данных с фиксированной точкой, A должны быть подписаны, используйте двоичное масштабирование с точкой и иметь тот же размер слова, что и B. Представление смещения откоса не поддерживается для типов данных с фиксированной точкой.
Типы данных: single
| double
| fixed point
Поддержка комплексного числа: Да
B(i,:)
- Строки матричных BСтроки матричных B, заданные как вектор. B является m -by - p матрицей, где m ≥ 2. Если A одинарная или двойная, B должен быть совпадающий тип данных, что и A. Если B является типом данных с фиксированной точкой, B должны быть подписаны, используйте двоичное масштабирование с точкой и иметь тот же размер слова, что и A. Представление смещения откоса не поддерживается для типов данных с фиксированной точкой.
Типы данных: single
| double
| fixed point
Поддержка комплексного числа: Да
validIn
- Действительны ли входыBoolean
скалярЯвляются ли входы допустимыми, задается как логический скаляр. Этот сигнал управления указывает, когда данные от A(i,:) и B(i,:) входных портов действительны. Когда это значение равняется 1 (true
) и значение в ready равняется 1 (true
), блок захватывает значения на A(i,:) и B(i,:) входных портах. Когда это значение 0 (false
), блок игнорирует вход выборки.
После отправки true
validIn сигнал, может быть некоторая задержка, прежде чем ready будет установлено на false
. Чтобы убедиться, что все данные обработаны, вы должны подождать, пока ready не будет установлено на false
перед отправкой другого true
validIn сигнал.
Типы данных: Boolean
restart
- Очистить ли внутренние состоянияBoolean
скалярОчистить ли внутренние состояния, заданный как логический скаляр. Когда это значение равняется 1 (true
), блок останавливает текущее вычисление и очищает все внутренние состояния. Когда это значение 0 (false
), а validIn значение равняется 1 (true
), блок начинает новый подкадр.
Типы данных: Boolean
R
- Матричная RМатрица QR разложения экономического размера R, возвращенная как матрица. 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 сигнал, может быть некоторая задержка, прежде чем ready будет установлено на false
. Чтобы убедиться, что все данные обработаны, вы должны подождать, пока ready не будет установлено на false
перед отправкой другого true
validIn сигнал.
Типы данных: Boolean
Number of rows in matrices A and B
- Количество строк во входных матрицах А и B4
(по умолчанию) | положительный скаляр с целым числомКоличество строк в входных матрицах A и B, заданное как положительный целочисленный скаляр.
Параметры блоков:
m
|
Тип: Вектор символов |
Значения: положительный целый скаляр |
По умолчанию:
4
|
Number of columns in matrix A
- Количество столбцов во входной матрице А4
(по умолчанию) | положительный скаляр с целым числомКоличество столбцов во входной матричной A, заданное как положительный целочисленный скаляр.
Параметры блоков:
n
|
Тип: Вектор символов |
Значения: положительный целый скаляр |
По умолчанию:
4
|
Number of columns in matrix B
- Количество столбцов во входной матрице B1
(по умолчанию) | положительный скаляр с целым числомКоличество столбцов во входной матричной B, заданное как положительный целочисленный скаляр.
Параметры блоков:
p
|
Тип: Вектор символов |
Значения: положительный целый скаляр |
По умолчанию:
1
|
Regularization parameter
- Параметр регуляризацииПараметр регуляризации, заданный как неотрицательный скаляр. Маленькие, положительные значения параметра регуляризации могут улучшить обусловленность задачи и уменьшить отклонение оценок. Несмотря на смещение, уменьшенное отклонение оценки часто приводит к меньшей средней квадратичной невязке по сравнению с оценками методом наименьших квадратов.
Параметры блоков:
k
|
Тип: Вектор символов |
Значения: положительный целый скаляр |
По умолчанию:
0
|
Частично-систематические реализации расставляют приоритеты скорости расчетов по сравнению с пространственными ограничениями, в то время как пакетные реализации расставляют приоритеты пространственных ограничений за счет скорости операций. Следующая таблица иллюстрирует компромиссы между реализациями, доступными для матричных разложений, и решающими системами линейных уравнений.
Реализация | Готов | Время ожидания | Область | Образец блока или примера |
---|---|---|---|---|
Систолический | 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.
В следующей таблице приведены подробные сведения о времени для блоков QR-разложения.
Блок | validIn на ready (c) | validIn на validOut (v циклов) |
---|---|---|
Real Partial-Systolic QR Decomposition | c = w + 8 | v = c (m + n - 1) |
Complex Partial-Systolic QR Decomposition | c = 2 w + 15 | v = c (m + n - 1) |
Real Partial-Systolic Q-less QR Decomposition | c = w + 8 | v = c (m + n - 1) |
Complex Partial-Systolic Q-less QR Decomposition | c = 2 w + 15 | v = c (m + n - 1) |
Real Partial-Systolic Q-less QR Decomposition with Forgetting Factor | c = w + 8 | v = c (2 n - 1) |
Complex Partial-Systolic Q-less QR Decomposition with Forgetting Factor | c = 2 w + 15 | v = c (2 n - 1) |
В таблице m представляет количество строк в матричных A, а n - количество столбцов в матричных A. w представляет размер слова A.
Если тип данных A является фиксированной точкой, то w является размером слова.
Если тип данных A double, то w равен 53.
Если тип данных A одинарный, то w равно 24.
Представление смещения откоса не поддерживается для типов данных с фиксированной точкой.
HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет одну архитектуру HDL по умолчанию.
Общая информация | |
---|---|
ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках вашего проекта. Распределённая конвейеризация не перераспределяет эти регистры. Значение по умолчанию является |
InputPipeline | Количество входных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
OutputPipeline | Количество выходных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
Поддерживает только типы данных с фиксированной точкой.
A и B должны быть подписаны, использовать двоичное масштабирование точек и иметь одинаковый размер слова. Представление смещения откоса не поддерживается для типов данных с фиксированной точкой.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.