[Pd] Complex audio signals

Piotr Majdak piotr at majdak.com
Wed Jun 21 21:56:51 CEST 2006


Chuckk Hubbard wrote:
> On 6/20/06, Mathieu Bouchard <matju at 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




More information about the Pd-list mailing list