субота, 28. јул 2012. 21.57.27 UTC+2, Les Cargill је написао/ла:
William Sommerwerck wrote:
You need two all-pass filters. One produces a phase shift of phi. The other
producers phi+90 or phi-90.
It is impossible to produce a fixed 90 degree phase shift over a wide
frequency range and have flat response at the same time. You have to create
the 90-degree shift as the difference between two filters' phase responses.
Trust me.
So I just did an experiment which produced a fixed 90 degree phase
shift over the audio range.
I have some 'C' source which produces a Hilbert transform of an
audio file ( using libsndfile and FFTW plus some code of my own,
er code I pretty much swiped off the Internet .
When I run this twice*, I get perfect** cancellation
*Assume files A,B and C. B = Hilbert(A), C = Hilbert(B).
** to the limit of my ability to measure it. I can provide details on
request.
What am I missing?
--
Les Cargill
If you run make 4. one D=hilbert(C) does it, D, cancell out with B?