Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

About this guide

...

  • If you are trying to perform accurate filtering near the Nyquist frequency (sampling rate/2), you may encounter issues with filter accuracy or stability. By increasing the sampling rate (oversampling) by a factor of 2, the frequencies in question are now closer to the subsystems (Nyquist frequency/4), and the resulting filter’s results are more predictable. [insert graphic]

  • If you are applying non-linear processing to a signal, such as using the “Soft Clipper” on a guitar signal, harmonics will be generated which can easily result in aliasing. By upsampling the signal first, the generated harmonics will have additional space in the spectrum before they hit the Nyquist frequency and start aliasing.

Reasons for making the Block Size larger

  • Some modules [include a list] use Fast Fourier Transforms (FFTs) to generate a frequency spectrum of the signal. The number of points (equally spaced frequencies) in the result is equal to the number of samples which you transform at any given time. Therefore, if you perform an FFT using a block size of 16 samples, your frequency spectrum will only have 16 equally spaced bands across the entire range from 0 Hz to (sampling frequency/2). This may not be sufficient resolution for your needs, in which case you need to increase the block size to match the number of desired points on the frequency response plot.

  • Some modules [include a list] use FFTs “behind the scenes” to improve processing efficiency. Larger gains in efficiency are gained by using larger block sizes. [include a comparison showing LongFIR, e.g. the “impulse response reverb] Here’s an example.

  • When you want to visualize the audio waveform somewhere in your layout during debugging, the native block size may not show enough of the waveform. The “Rebuffer” module [include link] should be used as needed.

...

  • The main reason to make the block size smaller is to convert the data back to the system’s native block size, previously having made the block size larger as described above.

  • See the use of the SubBlockStatistics Module (link) as well.

Multi-layout and multiple sample rates

...

  • CPU utilization (IIR uses less than FIR)

  • Phase characteristics (FIR = linear, IIR is not)

  • Block size

  • S/N (aliasing)

  • Latency (IIR better)

  • Passband shape (FIR better controlled)

  • Width of transition

This article contains additional information on the differences between the two filtering approaches.

...

Use the calculated values for L, D, and N to manually set the following Arguments for this Module:

...

References