Jamoma API
0.6.0.a19
|
A 33rd-order Hilber Transform filter built-up from allpass building blocks. More...
#include <TTHilbertLinear33.h>
Protected Member Functions | |
virtual TTErr | test (TTValue &returnedTestInfo) |
Unit Tests. More... | |
Protected Attributes | |
TTAudioObject | mP0Delay |
path0, pure delay, 16 samples | |
TTAudioObject | mP1Delay |
path1 | |
TTAudioObject | mF0 |
path1 | |
TTAudioObject | mF1 |
path1 | |
TTAudioObject | mF2 |
path1 | |
TTAudioObject | mF3 |
path1 | |
TTAudioObject | mF4 |
path1 | |
A 33rd-order Hilber Transform filter built-up from allpass building blocks.
See notes on TTHilbert9 for information about the structure of this filter.
See notes on TTHalfband33 for information regarding coefficient calculations, remembering that we need to flip signs to perform the Hilbert Transform. Note however, that we flip signs for the Z^(-2) terms because i^2 = -1. The caveat is that in this filter we also have Z^(-4) terms in the second-order allpass filters, and i^4 = 1, meaning we don't flip those signs. This may seem obvious after reading this, however it is easy to miss, especially as the general rule is stated as "flip all of the signs".
Definition at line 41 of file TTHilbertLinear33.h.
Unit Tests.
returnedTestInfo | Used to return test information |
The following values are not necsessarily to be trusted. They were calculated from this filter unit itself at a time when the filter was assumed to work. As such, if this test fails in the future, it should be considered an indication that something has changed in the code or compiler that causes the calculated impulse response to differ from earlier results, but this test is not able to say anything meaningful about whether the old or new behaviour is to be trusted (or eventually none of them).
Reimplemented from TTAudioObjectBase.
Definition at line 20 of file TTHilbertLinear33.test.cpp.
References TTAudioSignal::allocWithVectorSize(), TTAudioSignal::clear(), TTAudioObjectBase::inputArray, TTObject::instance(), TTAudioSignal::mSampleVectors, TTAudioObjectBase::outputArray, TTAudioObjectBase::process(), TTObjectBaseInstantiate(), and TTObjectBaseRelease().