Quaternion Rotate Vector Quaternion Rotate Jacobian navigation bar

Table of Contents

Quaternion Product Jacobian

Computes the Jacobian of the quaternion product with respect to q1 or q2.

Library

QUARC Targets/Math Operations/Quaternions

Description

Quaternion Product Jacobian

The Quaternion Product Jacobian block computes the Jacobian of the quaternion product, q = q1⊗q2, with respect to either q1 or q2. This Jacobian can be useful for computing extended Kalman filters, for example.

Let q1 = (a1, b1, c1, d1) and q = (a, b, c, d). Then the Jacobian, J, of q with respect to q1 is:

Jacobian with respect to q1

The Jacobian with respect to q2 is similar. Hence, the output of the block is a 4x4 matrix where each column is the partial derivative of the quaternion product with respect to the component of q1 corresponding to that column.

Input Ports

q1

The left-hand quaternion in the product.

q2

The right-hand quaternion in the product.

Output Ports

J

The output is the Jacobian of the quaternion product q1q2.

Data Type Support

This block accepts inputs of type double. The block output is of type double.

Parameters and Dialog Box

Quaternion Product Jacobian

Derivative with respect to

Selects the input quaternion with respect to which the derivative is computed. The other input is assumed to be independent.

Targets

Target Name

Compatible*

Model Referencing

Comments

QUARC Win32 Target

Yes

Yes

QUARC Win64 Target

Yes

Yes

QUARC Linux Nvidia Target

Yes

Yes

QUARC Linux QBot Platform Target

Yes

Yes

QUARC Linux QCar 2 Target

Yes

Yes

QUARC Linux QDrone 2 Target

Yes

Yes

QUARC Linux Raspberry Pi 3 Target

Yes

Yes

QUARC Linux Raspberry Pi 4 Target

Yes

Yes

QUARC Linux RT ARMv7 Target

Yes

Yes

QUARC Linux x64 Target

Yes

Yes

QUARC Linux DuoVero Target

Yes

Yes

QUARC Linux DuoVero 2016 Target

Yes

Yes

QUARC Linux Verdex Target

Yes

Yes

QUARC QNX x86 Target

Yes

Yes

Last fully supported in QUARC 2018.

Rapid Simulation (RSIM) Target

Yes

Yes

S-Function Target

No

N/A

Old technology. Use model referencing instead.

Normal simulation

Yes

Yes

* Compatible means that the block can be compiled for the target.

 

navigation bar