Main Content

Fixed-Point Matrix Operations in Simulink

R2026b
Optimized CORDIC-based fixed-point matrix solvers and matrix decomposition blocks for efficient HDL code

Use the Fixed-Point Designer™ HDL Optimized library of blocks to perform CORDIC-based fixed-point matrix operations and generate efficient HDL code. These blocks model design patterns for systems of linear equations and perform core matrix operations, such as QR decomposition and singular value decomposition, for hardware-efficient implementation on FPGAs. For help choosing an appropriate block for your application, see Choose a Block for HDL-Optimized Fixed-Point Matrix Operations. Use the included Fixed-Point Designer functions to analytically determine optimal fixed-point data types for the linear system solver and matrix factorization blocks. Generate HDL code for designs that incorporate these blocks using HDL Coder™.

For MATLAB®-based implementations of these algorithms, see Fixed-Point Matrix Operations in MATLAB. For CORDIC-based and other embedded-efficient implementations of math operations in MATLAB and Simulink®, see Fixed-Point Math Operations in MATLAB and Simulink.

Blocks

expand all

Solve AX = B

Real Burst Matrix Solve Using QR Decomposition blockReal Burst Matrix Solve Using QR DecompositionCompute the value of x in the equation Ax = B for real-valued matrices using QR decomposition
Complex Burst Matrix Solve Using QR Decomposition blockComplex Burst Matrix Solve Using QR DecompositionCompute the value of x in the equation Ax = B for complex-valued matrices using QR decomposition
Real Partial Systolic Matrix Solve Using QR Decomposition blockReal Partial-Systolic Matrix Solve Using QR DecompositionCompute value of x in the equation Ax = B for real-valued matrices using QR decomposition
Complex Partial-Systolic Matrix Solve Using QR Decomposition blockComplex Partial-Systolic Matrix Solve Using QR DecompositionCompute value of x in the equation Ax = B for complex-valued matrices using QR decomposition
Systolic Matrix Solve Using QR Decomposition blockSystolic Matrix Solve Using QR DecompositionCompute value of X in the equation AX = B using QR decomposition (Since R2024a)

Solve A'AX = B

Real Burst Matrix Solve Using Q-less QR Decomposition blockReal Burst Matrix Solve Using Q-less QR DecompositionCompute the value of X in the equation A'AX = B for real-valued matrices using Q-less QR decomposition
Complex Burst Matrix Solve Using Q-less QR Decomposition blockComplex Burst Matrix Solve Using Q-less QR DecompositionCompute the value of X in the equation A'AX = B for complex-valued matrices using Q-less QR decomposition
Screenshot of Real Burst Asynchronous Matrix Solve Using Q-less QR Decomposition blockReal Burst Asynchronous Matrix Solve Using Q-less QR DecompositionCompute the value of X in the equation A'AX = B for real-valued matrices using asynchronous Q-less QR decomposition (Since R2022b)
Screenshot of Complex Burst Asynchronous Matrix Solve Using Q-less QR Decomposition blockComplex Burst Asynchronous Matrix Solve Using Q-less QR DecompositionCompute the value of X in the equation A'AX = B for complex-valued matrices using asynchronous Q-less QR decomposition (Since R2022b)
Real Partial-Systolic Matrix Solve Using Q-less QR Decomposition blockReal Partial-Systolic Matrix Solve Using Q-less QR DecompositionCompute value of X in the equation A'AX = B for real-valued matrices using Q-less QR decomposition
Complex Partial Systolic Matrix Solve Using Q-less QR Decomposition blockComplex Partial-Systolic Matrix Solve Using Q-less QR DecompositionCompute the value of X in the equation A'AX = B for complex-valued matrices using Q-less QR decomposition

Solve A'AX = B with Infinitely Tall A Matrix

Screenshot of Real Burst Matrix Solve Using Q-less QR Decomposition with Forgetting Factor blockReal Burst Matrix Solve Using Q-less QR Decomposition with Forgetting FactorCompute the value of X in the equation A'AX = B for real-valued matrices with infinite number of rows using asynchronous Q-less QR decomposition (Since R2022b)
Screenshot of Complex Burst Matrix Solve Using Q-less QR Decomposition with Forgetting Factor blockComplex Burst Matrix Solve Using Q-less QR Decomposition with Forgetting FactorCompute the value of X in the equation A'AX = B for complex-valued matrices with infinite number of rows using asynchronous Q-less QR decomposition (Since R2022b)
Real Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting Factor blockReal Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting FactorCompute value of X in the equation A'AX = B for real-valued matrices with infinite number of rows using Q-less QR decomposition
Complex Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting Factor blockComplex Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting FactorCompute the value of X in the equation A'AX = B for complex-valued matrices with infinite number of rows using Q-less QR decomposition

QR Decomposition

Real Burst QR Decomposition blockReal Burst QR DecompositionQR decomposition for real-valued matrices
Complex Burst QR Decomposition blockComplex Burst QR DecompositionQR decomposition for complex-valued matrices
Real Partial Systolic QR Decomposition blockReal Partial-Systolic QR DecompositionQR decomposition for real-valued matrices
Complex Partial-Systolic QR Decomposition blockComplex Partial-Systolic QR DecompositionQR decomposition for complex-valued matrices
Systolic QR Decomposition blockSystolic QR DecompositionQR decomposition for matrices (Since R2024a)

Q-less QR Decomposition

Real Burst Q-less QR Decomposition blockReal Burst Q-less QR DecompositionQ-less QR decomposition for real-valued matrices
Complex Burst Q-less QR Decomposition blockComplex Burst Q-less QR DecompositionQ-less QR decomposition for complex-valued matrices
Screenshot of Real Burst Q-less QR Decomposition Whole R Output blockReal Burst Q-less QR Decomposition Whole R OutputQ-less QR decomposition for real-valued matrices (Since R2022b)
Screenshot of Complex Burst Q-less QR Decomposition Whole R Output blockComplex Burst Q-less QR Decomposition Whole R OutputQ-less QR decomposition for complex-valued matrices (Since R2022b)
Real Partial-Systolic Q-less QR Decomposition blockReal Partial-Systolic Q-less QR DecompositionQ-less QR decomposition for real-valued matrices
Complex Partial-Systolic Q-less QR Decomposition blockComplex Partial-Systolic Q-less QR DecompositionQ-less QR decomposition for complex-valued matrices

Q-less QR Decomposition with Forgetting Factor

Screenshot of Real Burst Q-less QR Decomposition with Forgetting Factor Whole R OutputReal Burst Q-less QR Decomposition with Forgetting Factor Whole R OutputQ-less QR decomposition for real-valued matrices with infinite number of rows (Since R2022b)
Screenshot of Complex Burst Q-less QR Decomposition with Forgetting Factor Whole R OutputComplex Burst Q-less QR Decomposition with Forgetting Factor Whole R OutputQ-less QR decomposition for complex-valued matrices with infinite number of rows (Since R2022b)
Real Partial Systolic Q-less QR Decomposition with Forgetting Factor blockReal Partial-Systolic Q-less QR Decomposition with Forgetting FactorQ-less QR decomposition for real-valued matrices with infinite number of rows
Complex Partial-Systolic Q-less QR Decomposition with Forgetting Factor blockComplex Partial-Systolic Q-less QR Decomposition with Forgetting FactorQ-less QR decomposition for complex-valued matrices with infinite number of rows

Singular Value Decomposition

Image of Square Jacobi SVD HDL Optimized block.Square Jacobi SVD HDL OptimizedFixed-point singular value decomposition (Since R2023a)
Image of Non-Square Jacobi SVD HDL Optimized block.Non-Square Jacobi SVD HDL OptimizedFixed-point singular value decomposition (Since R2023b)

Functions

expand all

fixed.qrFixedpointTypesDetermine fixed-point types for transforming A and R and B to C=Q'B in-place, where QR=A is QR decomposition of A
fixed.qlessqrFixedpointTypesDetermine fixed-point types for transforming A to R in-place, where R is upper-triangular factor of QR decomposition of A, without computing Q
fixed.realQRMatrixSolveFixedpointTypesDetermine fixed-point types for matrix solution of real-valued AX=B using QR decomposition
fixed.complexQRMatrixSolveFixedpointTypesDetermine fixed-point types for matrix solution of complex-valued AX=B using QR decomposition
fixed.realQlessQRMatrixSolveFixedpointTypesDetermine fixed-point types for matrix solution of real-valued A'AX=B using QR decomposition
fixed.complexQlessQRMatrixSolveFixedpointTypesDetermine fixed-point types for matrix solution of complex-valued A'AX=B using QR decomposition
fixed.realSingularValueLowerBoundEstimate lower bound for smallest singular value of real-valued matrix
fixed.complexSingularValueLowerBoundEstimate lower bound for smallest singular value of complex-valued matrix
fixed.singularValueUpperBoundUpper bound of largest singular value of matrix (Since R2022b)
fixed.realConditionNumberUpperBoundEstimate of upper bound for 2-norm condition number of real-valued matrix (Since R2022b)
fixed.complexConditionNumberUpperBoundEstimate of upper bound for 2-norm condition number of complex-valued matrix (Since R2022b)
fixed.forgettingFactorCompute forgetting factor required for streaming input data
fixed.forgettingFactorInverseCompute the inverse of the forgetting factor required for streaming input data
fixed.realQuantizationNoiseStandardDeviationEstimate standard deviation of quantization noise of real-valued signal
fixed.complexQuantizationNoiseStandardDeviationEstimate standard deviation of quantization noise of complex-valued signal
embblk.latency.systolicQRBlockTimingCompute minimum number of cycles between valid input samples and latency of Systolic QR Decomposition block (Since R2024a)
embblk.latency.systolicQRMatrixSolverBlockTimingCompute minimum number of cycles between valid input samples and latency of Systolic Matrix Solve Using QR Decomposition block (Since R2024a)
embblk.latency.cordicSqrtHDLOptimizedLatencyCompute latency and total number of iterations of CORDIC Square Root HDL Optimized block (Since R2024a)

Topics

General

Linear System Solvers: Solve AX = B

Linear System Solvers: Solve A'AX = B

Linear System Solvers: Solve A'AX = B with Infinitely Tall A Matrix

Matrix Factorizations: QR Decomposition

Matrix Factorizations: Q-less QR Decomposition

Matrix Factorizations: Q-less QR Decomposition with Forgetting Factor

Matrix Factorizations: Singular Value Decomposition

Analytically Determine Fixed-Point Data Types for Linear System Solvers and Matrix Factorizations

Featured Examples