Electronics > Beginners
FFT and Signals
<< < (3/4) > >>
T3sl4co1l:
That's right, Hermitian is what I was thinking of.

Tim
Langer:

--- Quote from: rhb on March 16, 2019, 02:23:16 am ---1)  The discrete (sampled) Fourier transform is periodic over [-pi:pi) or [0:2*pi) depending upon your conventions.  The latter is what you actually get out of an FFT.   The negative frequncies appear on the right.

2) To make a signal causal, i.e. zero before T0, the imaginary part needs to be the Hilbert transform of the real part.  In the frequency domain the real part is even and the imaginary is odd.  The usual term is the transform is hermitian.  The transform of a hermitian function is pure real and causal.

Compute the FFT of a zero phase (symmetric about T0) function.  The imaginary part will be uniformly zero.  Multiply the negative frequencies by -1, the positive frequencies by 1 and set zero frequency to zero and store that in the imaginary part of the transform.  then inverse transform.  The result will be causal and minimum phase.

--- End quote ---

2) Let me summarize what I understood:
- Make the input Signal U(t) symmetric to t=0; (the imag part is zero with some tricks in matlab (I double checked that));
- multiply pos. by 1 and neg. freq by -1 (okay.....I could do it)
- set zero freq to zero is unnecessary because it already should be zero (but I could do it)

But I don't understand your next point: 'store that in the imaginary part of the transform' store what in the imag part?!

And the other question: Is it wright to devide the FFT signal by Z and then transform it back (this might be the most important question)?!

rhb:
Given f(t) for a real function which is symmetric about T0 (e.g. the autocorrelation) compute the transform, F(w).  That will  be a pure real complex series.  Compute the Hilbert transform of the real part as described and store that in the imaginary part of F(w).  Then back transform.  The result will be pure real and zero for all times before T0.

In the general case F(0) is not zero.  So setting the imaginary part of F(0) to zero is important.

It would probably help to review the mathematics of the analytic signal.  What is being done above is the mathematical equivalent of creating the quadrature part of an I/Q series.  The Hilbert transform is a 90 degree phase shift operator.

BTW don't feel badly about your confusion on this.  It is often badly described.  When I was at Austin working under one of the members of Norbert Wiener's Geophysical analysis Group, none of us could figure out how to make a minimum phase wavelet this way.  So we just applied a Wiener inverse twice.  I only figured out how to do it via the Hilbert transform in the last year.  After 30 years of industry DSP experience!   It rarely came up and if it did I was in too much of a hurry to finish the work, so I just used the Wiener inverse dodge.

I can't answer about the impedance.  I'm a geophysicist by training, so I'm just getting started doing this stuff in the EM field.  I was always working with elastic wave propagation and we were only concerned with the reflection coefficients.  There are 3 of those one compressional and two shear, all of which vary with angle of incidence.  That's for isotropic, plane layered media.  Reality is anisotropic, so the coefficients also vary with azimuth in the general case which is what one usually has.  And it's not really plane layers.
Langer:
I found some information about the Hilbert Transformation: https://www.gaussianwaves.com/2017/04/analytic-signal-hilbert-transform-and-fft/

In general my approach seems to work with harmonic functions, but fails when going to square wave function.

Even if I do the hilbert transformation, I'm not sure if Ufft/Z is then still applicable.

So I will try a new approach which is called convolution: https://www.dspguide.com/ch13/2.htm
This approach seems to fit my needs.

But thanks everybody for his/her hints!

I will post some code if I get it running...

rhb:
Square waves aren't a problem except that you have to deal with the zeros of sin(x)/x.  That's usually done by making them a small percentage of the modulus of the peak value with the correct phase.
Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod