diff --git a/src/ipa/libipa/fixedpoint.cpp b/src/ipa/libipa/fixedpoint.cpp
index 6b698fc5d680..b37cdc43936f 100644
--- a/src/ipa/libipa/fixedpoint.cpp
+++ b/src/ipa/libipa/fixedpoint.cpp
@@ -29,11 +29,31 @@ namespace ipa {
 /**
  * \fn R fixedToFloatingPoint(T number)
  * \brief Convert a fixed-point number to a floating point representation
- * \tparam I Bit width of the integer part of the fixed-point
+ * \tparam I Bit width of the integer part of the fixed-point including the
+ * optional sign bit
  * \tparam F Bit width of the fractional part of the fixed-point
  * \tparam R Return type of the floating point representation
  * \tparam T Input type of the fixed-point representation
  * \param number The fixed point number to convert to floating point
+ *
+ * If the fixed-point representation is signed, the sign bit shall be included
+ * in the \a I template parameter that specifies the number of bits of the
+ * integral part of the fixed-point representation.
+ *
+ * As an example, a value represented as signed fixed-point Q4.8 format can be
+ * converted to its corresponding floating point representation as:
+ *
+ * \code{.cpp}
+ * double d = fixedToFloatingPoint<5, 8, double, uint16_t>(fixed);
+ * \endcode
+ *
+ * While a value represented as unsigned fixed-point Q4.8 format can be
+ * converted as:
+ *
+ * \code{.cpp}
+ * double d = fixedToFloatingPoint<4, 8, double, uint16_t>(fixed);
+ * \endcode
+ *
  * \return The converted value
  */

