>Clay wrote:
>> NiCad wrote:
>>> Hello everyone,
>>>
>>> just a little question about the good old Hilbert Transform.
>>>
>>> - Goal: obtain analytic signal (a(n)+j�(n)) from an in-phase signal
>>> (a(n));
>>> - Tool: Blackfin BF537. I get a sampled signal, and i compute it's
hilbert
>>> transform using a FIR filter with coefficients obtained using
>>> Matlab/Scilab's "Hilb" function.
>>> -Problem: I have to create the analytic signal in a numeric fashion...
The
>>> signal �(n) coming out of the filter is longer than the initial
signal
>>> a(n), by the amount of taps/coeffs in the filter. So, when i
reassemble
>>> both signals in a .re and .im structure, the imaginary part is
longer...
>>>
>>> The question is, can i just truncate the imaginary signal so that i
have
>>> equivalent length signal components? Or should i use a smaller length
>>> signal applied to the input of the filter? This way, i would have:
>>> - initial signal a[n] of length N
>>> - filter h length M
>>> - yields: �[N]=a[N-M]*h[M]
>>>
>>> Although i have not noticed anyproblems with this method, I am not
sure if
>>> this is a correct way of proceeding, or if some better method
exists...
>>>
>>> Thanks for your time DSPers!
>>>
>>> -----------------------------------
>>> NickelCadmium - NiCad - keeps on going, and going, and going..
>>
>>
>> Since you are doing a Hilbert transform via an FIR filter, then simply
>> delay your in-phase part by the delay of the Hilbert and then pair the
>> two together to make your analytic signal. Linear phase FIRs have a
>> delay of (N+1)/2 samples where N is the number of taps in the filter.
>
>If your HT has an even number of taps, the necessary delay will not be a
>whole number of sample times. If your HT has an odd number of taps, the
>properly delayed I signal is available at the middle tap of the HT delay
>structure. Both ends of a filtered signal are corrupted with transients.
> While the whole output is longer than the input by twice the filter
>length, the uncorrupted output is shorter by the same amount.
>
>Jerry
>--
>Engineering is the art of making what you want from things you can get.
>�����������������������������������������������������������������������
>
Thanks alot for the good info
Nic
-----------------------------------
NickelCadmium
Reply by Jerry Avins●June 24, 20062006-06-24
Clay wrote:
> NiCad wrote:
>> Hello everyone,
>>
>> just a little question about the good old Hilbert Transform.
>>
>> - Goal: obtain analytic signal (a(n)+j�(n)) from an in-phase signal
>> (a(n));
>> - Tool: Blackfin BF537. I get a sampled signal, and i compute it's hilbert
>> transform using a FIR filter with coefficients obtained using
>> Matlab/Scilab's "Hilb" function.
>> -Problem: I have to create the analytic signal in a numeric fashion... The
>> signal �(n) coming out of the filter is longer than the initial signal
>> a(n), by the amount of taps/coeffs in the filter. So, when i reassemble
>> both signals in a .re and .im structure, the imaginary part is longer...
>>
>> The question is, can i just truncate the imaginary signal so that i have
>> equivalent length signal components? Or should i use a smaller length
>> signal applied to the input of the filter? This way, i would have:
>> - initial signal a[n] of length N
>> - filter h length M
>> - yields: �[N]=a[N-M]*h[M]
>>
>> Although i have not noticed anyproblems with this method, I am not sure if
>> this is a correct way of proceeding, or if some better method exists...
>>
>> Thanks for your time DSPers!
>>
>> -----------------------------------
>> NickelCadmium - NiCad - keeps on going, and going, and going..
>
>
> Since you are doing a Hilbert transform via an FIR filter, then simply
> delay your in-phase part by the delay of the Hilbert and then pair the
> two together to make your analytic signal. Linear phase FIRs have a
> delay of (N+1)/2 samples where N is the number of taps in the filter.
If your HT has an even number of taps, the necessary delay will not be a
whole number of sample times. If your HT has an odd number of taps, the
properly delayed I signal is available at the middle tap of the HT delay
structure. Both ends of a filtered signal are corrupted with transients.
While the whole output is longer than the input by twice the filter
length, the uncorrupted output is shorter by the same amount.
Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
Reply by Clay●June 24, 20062006-06-24
NiCad wrote:
> Hello everyone,
>
> just a little question about the good old Hilbert Transform.
>
> - Goal: obtain analytic signal (a(n)+j=E2(n)) from an in-phase signal
> (a(n));
> - Tool: Blackfin BF537. I get a sampled signal, and i compute it's hilbert
> transform using a FIR filter with coefficients obtained using
> Matlab/Scilab's "Hilb" function.
> -Problem: I have to create the analytic signal in a numeric fashion... The
> signal =E2(n) coming out of the filter is longer than the initial signal
> a(n), by the amount of taps/coeffs in the filter. So, when i reassemble
> both signals in a .re and .im structure, the imaginary part is longer...
>
> The question is, can i just truncate the imaginary signal so that i have
> equivalent length signal components? Or should i use a smaller length
> signal applied to the input of the filter? This way, i would have:
> - initial signal a[n] of length N
> - filter h length M
> - yields: =E2[N]=3Da[N-M]*h[M]
>
> Although i have not noticed anyproblems with this method, I am not sure if
> this is a correct way of proceeding, or if some better method exists...
>
> Thanks for your time DSPers!
>
> -----------------------------------
> NickelCadmium - NiCad - keeps on going, and going, and going..
Since you are doing a Hilbert transform via an FIR filter, then simply
delay your in-phase part by the delay of the Hilbert and then pair the
two together to make your analytic signal. Linear phase FIRs have a
delay of (N+1)/2 samples where N is the number of taps in the filter.
Clay
Reply by NiCad●June 24, 20062006-06-24
Hello everyone,
just a little question about the good old Hilbert Transform.
- Goal: obtain analytic signal (a(n)+j�(n)) from an in-phase signal
(a(n));
- Tool: Blackfin BF537. I get a sampled signal, and i compute it's hilbert
transform using a FIR filter with coefficients obtained using
Matlab/Scilab's "Hilb" function.
-Problem: I have to create the analytic signal in a numeric fashion... The
signal �(n) coming out of the filter is longer than the initial signal
a(n), by the amount of taps/coeffs in the filter. So, when i reassemble
both signals in a .re and .im structure, the imaginary part is longer...
The question is, can i just truncate the imaginary signal so that i have
equivalent length signal components? Or should i use a smaller length
signal applied to the input of the filter? This way, i would have:
- initial signal a[n] of length N
- filter h length M
- yields: �[N]=a[N-M]*h[M]
Although i have not noticed anyproblems with this method, I am not sure if
this is a correct way of proceeding, or if some better method exists...
Thanks for your time DSPers!
-----------------------------------
NickelCadmium - NiCad - keeps on going, and going, and going..