Hello Tom,
To start with your easiest question: the Stimulus-Probe tool helps when designing with the standard filters and their cascade / additive combinations. Find more about this here:
As you noted, a FIR Hilbert has a constant group delay at its "real" or "cosine" output, which is essentially a straight compensating delay from its input. Thus, you can count on having a reference to work with. Its "imaginary" or "sine" output in addition, lags the cosine output by 90 degrees. The resulting impulse responses are shown below (actually the cosine trace is the impulse response of the ADAU1701's DAC, used for this test):
This FIR Hilbert uses a 400 tap filter and a 200 sample delay. It's good for any waveform that fits within the FIR, that is 48000 / 400 = 60 Hz minimum. Its group delay is a uniformly boring 4.16 mS (plus phase lag at the sine output). I assume you would need three times the FIR and a 600 sample delay to get full response down to 20Hz, which as you said is quite a lot. The new ADAU1452 could handle this easily, however.
Meanwhile, the Hilbert block appears to work with a IIR implementation -- it uses far fewer resources than FIR, and its impulse response is not L-R symmetrical (see below). I measured its group delay simply by comparing its input and cosine output with a scope, looking for frequencies where the two traces coincided -- results also below:
Hilbert Block Cosine Output:
delay @ 1 Hz: 60mS
1 cycle lag 36Hz (27.8mS)
2 cycles lag 310Hz (6.45mS)
3 cycles lag 2120Hz (1.42mS)
4 cycles lag 7400Hz (0.54mS)
5 cycles lag 13480Hz (0.37mS)
6 cycles lag 19830Hz (0.30mS)
To say this block has a non-constant group delay is quite the understatement! I'm afraid that someone smarter than me will have to tackle the needed all-pass filter. In many applications (such as a SSB modulator), the delay between input and both Hilbert outputs is not particularly important -- evidently not the case here. Perhaps you should bite the bullet and go FIR.
Best regards,
Bob