私はInfineonのXMC1300 MCUシリーズを使用しています。私のアプリケーションでは、いくつかのデータの平方根を調べる必要があります。続い数値をQ形式に変換する方法
は、これら二つのAPIが受け入れるとデータフォーマットQ15及びQ31は、すなわち、それは唯一[-1,1]の範囲を表すことができる返すインフィニオン
int16_t XMC_MATH_CORDIC_Q15_Sqrt(int16_t x)
int32_t XMC_MATH_CORDIC_Q31_Sqrt(int32_t x)
によって提供される数学LIB APIです。
と仮定私は範囲でこれらの番号を変更するにはどうすればよい
144
200
1000
34567
50000
の平方根を見つけるために望んでいた[-1、1]。
入力と出力の正規化には何が必要ですか。
よろしく、 Tinchu
あなたが言及している2つの関数は、-1から1の範囲の値に対するsqure rootを決定することができ、0から50000の値の計算にそれらを使用したいですか?より理解しやすくするために、 "int"型の結果が-0.25の場合の結果を知りたいと思います。さもなければ、正規化は、既知の数の2乗で除算する(すなわち、90000または50000に近いものを除いて)、その結果に既知の数(300)を掛けることが必要です。あなたの問題の周りに少しmcveを提供すれば、私はコードで答えを出すでしょう。 – Yunnosch
あなたの種類の返信のための@Yunnoschの高校 – user1093152
https://www.infineonforums.com/threads/5210-Math-Cordic-Square-root-API?s=d10133f31beb6a28a7bf2efa0f2b098d – user1093152