Forum Rule: Always post complete source code & details to reproduce any issue!

Search:

Type: Posts; User: sublinear

Search: Search took 0.00 seconds.

  1. You can quickly see what different compilers will...

    You can quickly see what different compilers will do, using Godbolt compiler explorer.
    Just type in a non-inline function and ignore any function-call overhead, like the return at the end (bx lr).
    ...
  2. Good point, you can sum the harmonics up to...

    Good point, you can sum the harmonics up to Nyquist to accurately synthesize these waveforms. When using wavetable synthesis, this is a great way to generate the bandlimited wavetables. But it can be...
  3. Replies
    4,110
    Views
    416,217

    Just curious, what would be the specs on the...

    Just curious, what would be the specs on the resampling you want to do?

    Years ago I wrote a very fast polyphase resampler for a previous Cortex-M4 project that I'm happy to contribute.
    It used...
  4. Replies
    9
    Views
    332

    Hi Paul, The noise-shaping is actually...

    Hi Paul,

    The noise-shaping is actually correct, because the signed shift does truncation toward -inf. The quant error is guaranteed to be a positive fraction in [0,1]. If you round instead of...
  5. The original poster is right in that if you...

    The original poster is right in that if you generate a trivial square or sawtooth at the target sample rate, it has already aliased and is too late to filter it out.

    An obvious solution is to...
  6. To get good performance on older Teensy's, most...

    To get good performance on older Teensy's, most of the audio code uses fixed-point instead of floating-point math.

    In this case, biquad coefs are converted to fixed-point with sign bit, one...
  7. Replies
    18
    Views
    4,246

    That's what I did with my Newhaven OLED. In...

    That's what I did with my Newhaven OLED. In ssd1351.h, I changed it to

    #define SPICLOCK 16000000
    and was able to run the Teensy 3.6 at full speed.
  8. I think you're right, the theoretical...

    I think you're right, the theoretical operation-count for partitioned convolution seems to always be lower than unpartitioned. In practice, when FFTs get too small (32-point RFFT is only a 16-point...
  9. @WMXZ For a filter with L=129, I think the...

    @WMXZ For a filter with L=129, I think the standard FFT convolution (N=128 and NFFT=256) is the way to go. With a minimum-phase filter, you'll have near-zero added latency and great efficiency. You...
  10. For partitioned convolution, the filter and the...

    For partitioned convolution, the filter and the output are the same, only the machinery is different. The basic idea is to think of your long filter as the sum of shorter filters (where all but the...
  11. Nice work! If needed, there are several ways to...

    Nice work! If needed, there are several ways to reduce the latency further:

    1) Instead of one big FFT, you can use uniform-partitioned FFT convolution to operate in blocks of 128. Slightly less...
  12. Replies
    25
    Views
    8,875

    You forgot that the original code correctly...

    You forgot that the original code correctly saturates when the left-shift overflows. It's the same problem that Paul describes above with __SSAT(y<<n, 31). Bits are lost during the shift before...
Results 1 to 12 of 12