Git Product home page Git Product logo

Comments (3)

ZipCPU avatar ZipCPU commented on June 19, 2024

If you take the IFFT of the ouput, and compare it to the input, you can see there were two overflows in the first stage at positions 26 and 90.

Digging a bit further, in timestep 1660, in stage_128.FWBFLY.bfly.do_rnd_right_i.genblk8, you have the input 0x7baafdf4e0. (This is one of two problematic timesteps, but one should be sufficient for discussion.) This gets truncated to 17'h0eabf or rounded to 17'h0eac0, both of which lose the sign bit.

Try adding another bit to your incoming signal, or dropping your amplitude by 2x to avoid overflow.

Dan

from dblclockfft.

akukulanski avatar akukulanski commented on June 19, 2024

Thanks for answering :)

Nice approach, I couldn't find where the overflow was happening. Reducing the amplitude is a good workaround, but I'm not sure if that's enough to be certain that there couldn't be any overflows in some stage. Is that it?

Have you considered that the cpp generator implements the addition of this bit (or the division by 2) in the input so full-range inputs would not cause overflows, without having to take care of that from outside the core? (assuming this bit addition is enough)

Thanks,

K.

from dblclockfft.

ZipCPU avatar ZipCPU commented on June 19, 2024

Have you considered that the cpp generator implements the addition of this bit (or the division by 2) in the input so full-range inputs would not cause overflows, without having to take care of that from outside the core?

Yeah, I'm looking into that. That's supposed to be what takes place.

At issue is how many bits to drop in the first stage (or any stage thereafter). My general rule of thumb, backed by a lot of math, has been to drop one bit every other stage--since that's the rate the noise accumulates. It's also been appropriate for most of my uses of the core so far. That said, overflow is a bad thing ... so, it's something I'm (now) looking into (again).

Dan

from dblclockfft.

Related Issues (13)

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.