# most effecient hilbert transform method

Started by June 4, 2004
```What would be the most effecient method of hilbert transofrming audio?
my filter program genertates too many taps for the low frequency
performacnce i require. I don't want to use FFT due to memory
constraints in the DSP.
```
```scott@scottincz.com wrote:

> What would be the most effecient method of hilbert transofrming audio?
> my filter program genertates too many taps for the low frequency
> performacnce i require. I don't want to use FFT due to memory
> constraints in the DSP.
> Thanks in advance

Do you really need to generate a signal with every frequency component
90 degrees shifted from a delayed replica of the original, ot id it
sufficient to produce a pair of signals, one of which is in quadrature
with the other, neither bearing a simple phase relationship to the
input? The second version is easier to achieve. It uses a pair of
bandpass filters generated from a low-pass prototype by multiplying its
coefficients in one case with a sine, and the other with the cosine od
the bandpass's center frequency. It is convenient to make that frequency
Fs/4.

Jerry
--
Engineering is the art of making what you want from things you can get.
&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;

```
```On Fri, 04 Jun 2004 17:56:39 -0400, Jerry Avins <jya@ieee.org> wrote:

>scott@scottincz.com wrote:
>
>> What would be the most effecient method of hilbert transofrming audio?
>> my filter program genertates too many taps for the low frequency
>> performacnce i require. I don't want to use FFT due to memory
>> constraints in the DSP.
>> Thanks in advance
>
>Do you really need to generate a signal with every frequency component
>90 degrees shifted from a delayed replica of the original, ot id it
>sufficient to produce a pair of signals, one of which is in quadrature
>with the other, neither bearing a simple phase relationship to the
>input? The second version is easier to achieve. It uses a pair of
>bandpass filters generated from a low-pass prototype by multiplying its
>coefficients in one case with a sine, and the other with the cosine od
>the bandpass's center frequency. It is convenient to make that frequency
>Fs/4.
>
>Jerry

ideally 20hz-20khz so the whole audio range.

```
```scott@scottincz.com wrote:

> On Fri, 04 Jun 2004 17:56:39 -0400, Jerry Avins <jya@ieee.org> wrote:
>
>
>>scott@scottincz.com wrote:
>>
>>
>>>What would be the most effecient method of hilbert transofrming audio?
>>>my filter program genertates too many taps for the low frequency
>>>performacnce i require. I don't want to use FFT due to memory
>>>constraints in the DSP.
>>
>>Do you really need to generate a signal with every frequency component
>>90 degrees shifted from a delayed replica of the original, ot id it
>>sufficient to produce a pair of signals, one of which is in quadrature
>>with the other, neither bearing a simple phase relationship to the
>>input? The second version is easier to achieve. It uses a pair of
>>bandpass filters generated from a low-pass prototype by multiplying its
>>coefficients in one case with a sine, and the other with the cosine od
>>the bandpass's center frequency. It is convenient to make that frequency
>>Fs/4.
>>
>>Jerry
>
>
>
> ideally 20hz-20khz so the whole audio range.

That's not what I asked. your original sampled signal is good from DC to
Fs/2. You can pass that signal through two bandpass filters (they share
a data buffer) centered about Fs/4 with passbands from 20 Hz to Fs-20 Hz
with less computation than needed by a single Hilbert transformer.
Unlike the HT approach, this one doesn't preserve the original phase.

Jerry
--
Engineering is the art of making what you want from things you can get.
&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;

```
```Jerry Avins wrote:

> scott@scottincz.com wrote:
>
>> What would be the most effecient method of hilbert transofrming audio?
>> my filter program genertates too many taps for the low frequency
>> performacnce i require. I don't want to use FFT due to memory
>> constraints in the DSP.
>> Thanks in advance
>
>
> Do you really need to generate a signal with every frequency component
> 90 degrees shifted from a delayed replica of the original, ot id it
> sufficient to produce a pair of signals, one of which is in quadrature
> with the other, neither bearing a simple phase relationship to the
> input? The second version is easier to achieve. It uses a pair of
> bandpass filters generated from a low-pass prototype by multiplying its
> coefficients in one case with a sine, and the other with the cosine od
> the bandpass's center frequency. It is convenient to make that frequency
> Fs/4.
>
> Jerry

Or if you _really_ don't mind mucking up the phase you could use IIR
all-pass filters.  It'd take some dinking with the math and you'd have
to be careful about realizing them to avoid numeric problems, but you
could do it with a relative minimum of processing power.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
```
```I suggest the use of the following.
http://www.nauticom.net/www/jdtaft/special_fir.htm

David
```
```David Joseph Bonnici wrote:

> I suggest the use of the following.
> http://www.nauticom.net/www/jdtaft/special_fir.htm
>
> David

OP wants not a HT, but something to do his job faster. We're trying to
find out how much of what else he can give up to get it.

Thanks for the link. It's a nice one.

Jerry
--
Engineering is the art of making what you want from things you can get.
&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;

```
```On Sat, 05 Jun 2004 11:07:33 -0400, Jerry Avins <jya@ieee.org> wrote:

>David Joseph Bonnici wrote:
>
>> I suggest the use of the following.
>> http://www.nauticom.net/www/jdtaft/special_fir.htm
>>
>> David
>
>OP wants not a HT, but something to do his job faster. We're trying to
>find out how much of what else he can give up to get it.

What i require is good amplitude performance at low frequencies, say
30-50 Hz but i also need the audio to extend up to 20khz. At the
moment the taps come out in the thousands for the performance i am
after. The hardware won't allow FFT.
The application is the removal of the lower sideband in an AM
modulator.

>
>Thanks for the link. It's a nice one.
>
>Jerry

```
```scott@scottincz.com wrote:

> On Sat, 05 Jun 2004 11:07:33 -0400, Jerry Avins <jya@ieee.org> wrote:
>
>
>>David Joseph Bonnici wrote:
>>
>>
>>>I suggest the use of the following.
>>>http://www.nauticom.net/www/jdtaft/special_fir.htm
>>>
>>>David
>>
>>OP wants not a HT, but something to do his job faster. We're trying to
>>find out how much of what else he can give up to get it.
>
>
> What i require is good amplitude performance at low frequencies, say
> 30-50 Hz but i also need the audio to extend up to 20khz. At the
> moment the taps come out in the thousands for the performance i am
> after. The hardware won't allow FFT.
> The application is the removal of the lower sideband in an AM
> modulator.
>
>
>
>>Thanks for the link. It's a nice one.
>>
>>Jerry

If you want real numbers, you'll have to divulge the sample rate and the
passband of the anti-alias filter.

Jerry
--
Engineering is the art of making what you want from things you can get.
&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;

```
```>If you want real numbers, you'll have to divulge the sample rate and the
>passband of the anti-alias filter.

How about 48Khz 20Hz-20Khz

>
>Jerry

```