Chuckk Hubbard wrote:
On 6/20/06, Mathieu Bouchard matju@artengine.ca wrote:
On Mon, 19 Jun 2006, Chuckk Hubbard wrote:
I guess the question is, can anyone hear the difference?
No, see below.
So, the idea is just that the transform data is easier to read if there is a harmonic relationship- not that the reconstructed signal will be truer?
The reconstructed signal will be fine. If instead of sin(440t) you get sin(420t)+0.2*sin(460t)+0.04*sin(500t)+... (completely made up example) then this only means that the latter is the closest approximation to the former in the context of that particular block size.
Can it be heard?
If you have any differences between the original and reconstructed signals, then they will be introduced by quantization (try a FFT with 8-bit fixed point DSP) or by overflow or by windowing effects - not by FT->IFT. This means: FT and IFT work as they are supposed to work - all problems and differences in the perfect reconstruction of your signals are caused by inproper signal processing. And this means: if you have differences after FT->IFT then you will have differences after simple multiplications and/or additions too, because your system is not adequate to do this job.
I'm specifically curious about seeing integration and convolution, although I haven't found how to do that in Octave yet.
If x is the sequence with your signal in MATLAB (Octave has the same syntax), then
Integration is y=sum(x); Convolution is y=conv(x,f); where f is the sequence with the impulse response of the filter FT is X=fft(x); IFT is y=ifft(X);
The syntax is quite easy - if you need some help about MATLAB, write me a personal mail - I'll do my best.
br, Piotr