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

 

1 ACCEPTED SOLUTION

Accepted Solutions

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..

View solution in original post

7 REPLIES 7
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..

Sir please provide same for tanf , sinf, and cosf

Your solution is helpful for me, Thanks for reply and providing solution sir

 

Sir Thankyou so much Please can you provide me implementation for lookup table

... and maybe add interpolation to that lookup table too. 

https://wirelesspi.com/3-ways-to-approximate-atan2-in-hardware/

Sir Please send me same for tanf