Skip to main content
Associate III
Mar 11, 2025 12:39 PM UTC
Solved

Looking for a trig function library

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

 

This topic has been closed for replies.
Tesla DeLorean
Tesla DeLoreanBest answer
Guru
Mar 11, 2025 3:43 PM UTC

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 (See Profile) Up vote any posts that you find helpful, it shows what's working..

7 replies

TDK
Mar 11, 2025 12:44 PM UTC

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""."
Andrew Neil
Super User
Mar 11, 2025 12:48 PM UTC

Lookup tables?

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Associate III
Mar 12, 2025 7:08 AM UTC

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

Tesla DeLorean
Tesla DeLoreanBest answer
Guru
Mar 11, 2025 3:43 PM UTC

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 (See Profile) Up vote any posts that you find helpful, it shows what's working..
Associate III
Mar 12, 2025 7:07 AM UTC

Sir please provide same for tanf , sinf, and cosf

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