Coder Social home page Coder Social logo

Comments (7)

dmitry1945 avatar dmitry1945 commented on June 30, 2024

@ayavilevich thank you,

I will look.

Regards,
Dmitry

from esp-dsp.

dmitry1945 avatar dmitry1945 commented on June 30, 2024

Hi @ayavilevich

I have look to your example. Thank you very much. You are first who ask this question about FFT.

The error that you see here is not a real error. I will explain why.

The version for the esp32s3 is highly optimyzed for the speed. That's why the rounding that we use for ansi and for esp32 versions not used here. It slightly reduce the SFDR at low frequencies, but anyway, it's good for most of the applications.

Anyway, it's a good point to include identical fixed point FFT for the esp32s3 to the esp-dsp.
I will organize it.

Thank you very much!

from esp-dsp.

ayavilevich avatar ayavilevich commented on June 30, 2024

@dmitry1945 thanks for looking into it.

I understand that this is due to an arithmetic error in the optimized calculation and not a bug in the implementation.

I wonder if there is way to work around this because the difference really messes up the DC for many input. I think only inputs that use the full dynamic range are immune to it.
Is it possible to create an alternative optimized version that will add the missing rounding? It could be a more accurate version that runs slower?
Is this a fixed addition that I can subtract from the result?

from esp-dsp.

dmitry1945 avatar dmitry1945 commented on June 30, 2024

@ayavilevich yes, we will add another slower version. Point that, I can't say when we will do this.

About dinamic range. In your example you have max difference - 10. It's 20 dB. But, the ansi FFT already loose some dBs, and finally this algorithms (for esp32s3) will be ~ 10-12 dB worser then ansi one. The 10 dB is only 2 bits, and it's not bad.
Most of another fixed points FFTs for another platforms loose much more.

from esp-dsp.

ayavilevich avatar ayavilevich commented on June 30, 2024

@dmitry1945 Hi,

Any update on this? Perhaps you can publish (here?) an updated assembly function for dsps_fft2r_sc16_aes3 that will add the rounding that we normally have in the ansi and esp32 versions?

from esp-dsp.

dmitry1945 avatar dmitry1945 commented on June 30, 2024

Hi @ayavilevich ,

The problem is if we will use the rounding it will decrease the performance of the FFT. If you need the same SNR as ansi version, you can use esp32 version of FFT, it will work on esp32s3 as well. It will be slower, but will have better SNR.

Regards,
Dmitry

from esp-dsp.

ayavilevich avatar ayavilevich commented on June 30, 2024

@dmitry1945 yes, I understand. I was hoping that using the rounding with an sc16 FFT will still be faster than the "regular" ESP32 FFT. In that case there is value in having such an option as well.

from esp-dsp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.