# Fixed-Point Matrix Operations in Simulink

Optimized fixed-point math and matrix operations blocks for efficient HDL code

Use the Fixed-Point Designer™ library of blocks to perform fixed-point math operations.

Use the Fixed-Point Designer HDL Optimized library of blocks to perform fixed-point math and matrix operations and generate efficient HDL code. These blocks model design patterns for systems of linear equations and core matrix operations, such as QR Decomposition, for hardware-efficient implementation on FPGAs. Generate HDL code for designs that incorporate these blocks using HDL Coder™.

## Blocks

expand all

 Hyperbolic Tangent HDL Optimized Computes CORDIC-based hyperbolic tangent and generates optimized HDL code Normalized Reciprocal HDL Optimized Computes normalized reciprocal and generates optimized HDL code Real Reciprocal HDL Optimized Compute reciprocal and generate optimized HDL code Real Divide HDL Optimized Divide one real input by another and generate optimized HDL code Complex Divide HDL Optimized Divide one input by another and generate optimized HDL code Divide by Constant HDL Optimized Divide input by a constant and round to integer and generate optimized HDL code Modulo by Constant HDL Optimized Perform mod operation with a constant denominator and generate optimized HDL code Divide by Constant and Round Divide input by a constant and round to integer Modulo by Constant Perform modulo operation with a constant denominator

#### Burst Implementation

 Real Burst Matrix Solve Using QR Decomposition Compute the value of x in the equation Ax = B for real-valued matrices using QR decomposition Real Burst Matrix Solve Using Q-less QR Decomposition Compute the value of X in the equation A'AX = B for real-valued matrices using Q-less QR decomposition Complex Burst Matrix Solve Using QR Decomposition Compute the value of x in the equation Ax = B for complex-valued matrices using QR decomposition Complex Burst Matrix Solve Using Q-less QR Decomposition Compute the value of X in the equation A'AX = B for complex-valued matrices using Q-less QR decomposition

#### Partial-Systolic Implementation

 Real Partial-Systolic Matrix Solve Using QR Decomposition Compute value of x in Ax = B for real-valued matrices using QR decomposition Real Partial-Systolic Matrix Solve Using Q-less QR Decomposition Compute value of X in A'AX = B for real-valued matrices using Q-less QR decomposition Real Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting Factor Compute value of X in A'AX = B for real-valued matrices with infinite number of rows using Q-less QR decomposition Complex Partial-Systolic Matrix Solve Using QR Decomposition Compute value of x in Ax = B for complex-valued matrices using QR decomposition Complex Partial-Systolic Matrix Solve Using Q-less QR Decomposition Compute the value of X in A'AX = B for complex-valued matrices using Q-less QR decomposition Complex Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting Factor Compute the value of X in A'AX = B for complex-valued matrices with infinite number of rows using Q-less QR decomposition

#### Burst Implementation

 Real Burst QR Decomposition QR decomposition for real-valued matrices Real Burst Q-less QR Decomposition Q-less QR decomposition for real-valued matrices Complex Burst QR Decomposition QR decomposition for complex-valued matrices Complex Burst Q-less QR Decomposition Q-less QR decomposition for complex-valued matrices

#### Partial-Systolic Implementation

 Real Partial-Systolic QR Decomposition QR decomposition for real-valued matrices Real Partial-Systolic Q-less QR Decomposition Q-less QR decomposition for real-valued matrices Real Partial-Systolic Q-less QR Decomposition with Forgetting Factor Q-less QR decomposition for real-valued matrices with infinite number of rows Complex Partial-Systolic QR Decomposition QR decomposition for complex-valued matrices Complex Partial-Systolic Q-less QR Decomposition Q-less QR decomposition for complex-valued matrices Complex Partial-Systolic Q-less QR Decomposition with Forgetting Factor Q-less QR decomposition for complex-valued matrices with infinite number of rows

## Functions

expand all

 `fixed.qrFixedpointTypes` Determine 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.qlessqrFixedpointTypes` Determine 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.realQRMatrixSolveFixedpointTypes` Determine fixed-point types for matrix solution of real-valued AX=B and matrix solution using diagonal loading using QR decomposition `fixed.complexQRMatrixSolveFixedpointTypes` Determine fixed-point types for matrix solution of complex-valued AX=B and matrix solution using diagonal loading using QR decomposition `fixed.realQlessQRMatrixSolveFixedpointTypes` Determine fixed-point types for matrix solution of real-valued A'AX=B using QR decomposition `fixed.complexQlessQRMatrixSolveFixedpointTypes` Determine fixed-point types for matrix solution of complex-valued A'AX=B using QR decomposition `fixed.realSingularValueLowerBound` Estimate lower bound for smallest singular value of real-valued matrix `fixed.complexSingularValueLowerBound` Estimate lower bound for smallest singular value of complex-valued matrix `fixed.forgettingFactor` Compute forgetting factor required for streaming input data `fixed.forgettingFactorInverse` Compute the inverse of the forgetting factor required for streaming input data `fixed.realQuantizationNoiseStandardDeviation` Estimate standard deviation of quantization noise of real-valued signal `fixed.complexQuantizationNoiseStandardDeviation` Estimate standard deviation of quantization noise of complex-valued signal