cancel
Showing results for 
Search instead for 
Did you mean: 

Looking for a trig function library

snehadakhare01
Associate III

Hello ST Community,

I'm working on an application using the STM32F103C8T6 microcontroller that implements a Sliding Mode Observer (SMO) and Park/Clarke transformations. I'm facing significant performance challenges due to the computational overhead of the floating-point trigonometric functions  atan2f.

My system requires a 50us loop execution time, but the SMO alone is taking approximately 20us, largely due to these trigonometric functions. I need to optimize this to meet my timing requirements.

Here's a breakdown of my current implementation:

  • MCU: STM32F103C8T6
  • Application: SMO and Park/Clarke transformations
  • Problem: Excessive execution time of  and atan2f within a 50us loop.
  • Current Performance: SMO takes ~20us.
  • Compiler: stm32cubeide
  • Optimization Flags: O2
  • Clock Frequency: 20khz

Please tell me solution

 

3 REPLIES 3
TDK
Guru

Perhaps move to fixed point and use the precompiled DSP library.

https://github.com/ARM-software/CMSIS-DSP/tree/main/Source/FastMathFunctions

 

Floating point calculation on a chip without an FPU are going to be incredibly slow. Plenty of inexpensive chips out there with an FPU.

If you feel a post has answered your question, please click "Accept as Solution".

Lookup tables?

Not the first to have these types of problems, perhaps consider Google, et al

https://gist.github.com/volkansalma/2972237

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..