# 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

## Topics

### Math Operations

Implement Hardware-Efficient Hyperbolic Tangent

Implement a hardware-efficient hyperbolic tangent.

How to Use HDL Optimized Normalized Reciprocal

This example shows how and when to use the `normalizedReciprocal` function and the Normalized Reciprocal HDL Optimized block to compute the normalized reciprocal of an input.

Implement Hardware-Efficient Real Divide HDL Optimized

How to use the Real Divide HDL Optimized block.

Implement Hardware-Efficient Complex Divide HDL Optimized

How to use the Complex Divide HDL Optimized block.

Implement HDL Optimized Modulo By Constant

How to use the Modulo by Constant HDL Optimized block.

### Linear System Solvers: Burst Implementation

Implement Hardware-Efficient Real Burst Matrix Solve Using QR Decomposition

How to use the Real Burst Matrix Solve Using QR Decomposition block.

Implement Hardware-Efficient Real Burst Matrix Solve Using Q-less QR Decomposition

How to use the Real Burst Matrix Solve Using Q-less QR Decomposition block.

Implement Hardware-Efficient Complex Burst Matrix Solve Using QR Decomposition

How to use the Complex Burst Matrix Solve Using QR Decomposition block.

Implement Hardware-Efficient Complex Burst Matrix Solve Using Q-less QR Decomposition

How to use the Complex Burst Matrix Solve Using Q-less QR Decomposition block.

### Linear System Solvers: Partial-Systolic Implementation

Implement Hardware-Efficient Real Partial-Systolic Matrix Solve Using QR Decomposition

How to use the Real Partial-Systolic Matrix Solve Using QR Decomposition block.

Implement Hardware-Efficient Real Partial-Systolic Matrix Solve Using QR Decomposition with Diagonal Loading

How to use the Real Partial-Systolic Matrix Solve Using QR Decomposition Block with diagonal loading.

Implement Hardware-Efficient Real Partial-Systolic Matrix Solve Using Q-less QR Decomposition

How to use the Real Partial-Systolic Matrix Solve Using Q-less QR Decomposition block.

Implement Hardware-Efficient Real Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting Factor

How to use the Real Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting Factor block.

Implement Hardware-Efficient Complex Partial-Systolic Matrix Solve Using QR Decomposition

How to use the Complex Partial-Systolic Matrix Solve Using QR Decomposition block.

Implement Hardware-Efficient Complex Partial-Systolic Matrix Solve Using QR Decomposition with Diagonal Loading

How to use the Complex Partial-Systolic Matrix Solve Using QR Decomposition Block with diagonal loading.

Implement Hardware-Efficient Complex Partial-Systolic Matrix Solve Using Q-less QR Decomposition

How to use the Complex Partial-Systolic Matrix Solve Using Q-less QR Decomposition block.

Implement Hardware-Efficient Complex Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting Factor

How to use the Complex Partial-Systolic Matrix Solve Using Q-less QR Decomposition with Forgetting Factor block.

### Matrix Factorizations: Burst Implementation

Implement Hardware-Efficient Real Burst QR Decomposition

How to use the Real Burst QR Decomposition block.

Implement Hardware-Efficient Real Burst Q-less QR Decomposition

How to use the Real Burst Q-less QR Decomposition block.

Implement Hardware-Efficient Complex Burst QR Decomposition

How to use the Complex Burst QR Decomposition block.

Implement Hardware-Efficient Complex Burst Q-less QR Decomposition

How to use the Complex Burst Q-less QR Decomposition block.

### Matrix Factorizations: Partial-Systolic Implementation

Implement Hardware-Efficient Real Partial-Systolic QR Decomposition

How to use the Real Partial-Systolic QR Decomposition block.

Implement Hardware-Efficient Real Partial-Systolic Q-less QR Decomposition

How to use the Real Partial-Systolic Q-less QR Decomposition block.

Implement Hardware-Efficient Real Partial-Systolic Q-less QR with Forgetting Factor

How to use the Real Partial-Systolic Q-less QR Decomposition with Forgetting Factor block.

Implement Hardware-Efficient Complex Partial-Systolic QR Decomposition

How to use the Complex Partial-Systolic QR Decomposition block.

Implement Hardware-Efficient Complex Partial-Systolic Q-less QR Decomposition

How to use the Complex Partial-Systolic Q-less QR Decomposition block.

Implement Hardware-Efficient Complex Partial-Systolic Q-less QR with Forgetting Factor

How to use the Complex Partial-Systolic Q-less QR Decomposition with Forgetting Factor block.

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

Determine Fixed-Point Types for QR Decomposition

Use `fixed.qrFixedpointTypes` to determine fixed-point types for computation of QR decomposition.

Determine Fixed-Point Types for Q-less QR Decomposition

Use `fixed.qlessqrFixedpointTypes` to determine fixed-point types for computation of Q-less QR decomposition.

Algorithms to Determine Fixed-Point Types for Complex Q-less QR Matrix Solve A'AX=B

Derivation of algorithms for determining fixed-point types for complex Q-less QR matrix solve.

Determine Fixed-Point Types for Complex Q-less QR Matrix Solve A'AX=B

Use `fixed.complexQlessQRFixedpointTypes` to determine fixed-point types for computation of the complex least-squares matrix equation.

Algorithms to Determine Fixed-Point Types for Complex Least-Squares Matrix Solve AX=B

Derivation of algorithms for determining fixed-point types for complex QR matrix solve.

Determine Fixed-Point Types for Complex Least-Squares Matrix Solve AX=B

Use `fixed.complexQRFixedpointTypes` to determine fixed-point types for computation of the complex least-squares matrix equation.

Algorithms to Determine Fixed-Point Types for Real Q-less QR Matrix Solve A'AX=B

Derivation of algorithms for determining fixed-point types for real Q-less QR matrix solve.

Determine Fixed-Point Types for Real Q-less QR Matrix Solve A'AX=B

Use `fixed.realQlessQRFixedpointTypes` to determine fixed-point types for computation of the real least-squares matrix equation.

Algorithms to Determine Fixed-Point Types for Real Least-Squares Matrix Solve AX=B

Derivation of algorithms for determining fixed-point types for real least-squares matrix solve.

Determine Fixed-Point Types for Real Least-Squares Matrix Solve AX=B

Use `fixed.realQRMatrixSolveFixedpointTypes` to determine fixed-point types for computation of the real least-squares matrix equation.

Compute Forgetting Factor Required for Streaming Input Data

Use `fixed.forgettingFactor` and `fixed.forgettingFactorInverse` to compute forgetting factor.

Estimate Standard Deviation of Quantization Noise of Complex-Valued Signal

Use `fixed.complexQuantizationNoiseStandardDeviation` to estimate standard deviation of quantization noise.

Estimate Standard Deviation of Quantization Noise of Real-Valued Signal

Use `fixed.realQuantizationNoiseStandardDeviation` to estimate standard deviation of quantization noise.

## Support Get trial now