I am trying an example matlab code for reconstructing a sine-tone using window OLA, using a Hanning window (periodic). Sampling frequency is 8kHz and the tone frequency is 20 hz (just for a trial). It is working as expected and I can get the sine-tone out using OLA. Now, I would like to get the phase-shifted sine tone (say by pi/2) using OLA. For this, I am multiplying the windowed frame by exp(-j pi/2) before OLA operation. I am somehow loosing the phase continuity and my output is all over the place. Any thoughts ? I believe, I am missing something fundamental here..
note: fft and frame size are 128, shift is 64.
If you shift your already-windowed data in time, you will put the tapered window edges somewhere in the middle of the FFT frame, and create new edges (not tapered). The FFT will see those as wideband noise ... might make your results look bad :-)
Try phase shifting prior to windowing.
here is a paper that guides you to the phase continuity reconstruction
Using the FFT as an Arbitrary Function Generator, harris & Lowdermilk
Abstract:The inverse fast Fourier transform (IFFT) forms a time series from its spectral description. The time data formed by the IFFT represents a single cycle of a periodic waveform which can be accessed periodically to form an arbitrary length version of the signal. This property is similar to the periodic memory access used by arbitrary function generators. A sequence of windowed, overlapped IFFTs can be used to seamlessly extend the time series to obtain any arbitrary non-periodic time series. This option is not available from traditional arbitrary function generators.
Published in: IEEE Autotestcon, 2005.
I tried copying the file to this email... not successfully...you can download from ieee xplore or email firstname.lastname@example.org and I can send you my copy.
Note cost of the paper is $33.00 for non-IEEE members.
Absurd isn't it? that's why i located my manuscript and added it my last reply...
(and why I offered to send a copy in response to a request)
Thanks for being so helpful!
hope the ideas are useful to you.