[Pd] Complex audio signals

Piotr Majdak piotr at majdak.com
Thu Jun 15 14:39:29 CEST 2006


Hi Chuckk,

Chuckk Hubbard wrote:
> On 6/14/06, Piotr Majdak <piotr at majdak.com> wrote:
> 
>> And I really don't know what do you mean by "FFT, which involves 
>> distortion".
>> You don't mean distortions as in "nonlinear distortions", don't you?
> 
> 
> I mean that the reconstituted sound is not exactly the same as the
> original signal.

If:
- x is a sequence in a discrete space (i think hilbert space is OK) with 
the length N,
- DFT is the discrete fourier transformation with the length of N,
- IDFT is the inverse transformation to DFT,
- we neglect all the numerical quantization and overflow for a while,
then:

   IDFT(DFT(x)) = x

Even with numerical limitations it's not a problem. Try this in MATLAB:
x=rand(10000,1);
y=ifft(fft(x));
sqrt(sum((y-x).^2))/length(x)

I get: 1.6806e-018, which shows that the residual error of 
reconstruction of x is rather low even for dealing with long sequences.

>> > And a signal
>> > with the imaginary part set to zero won't represent the same sines and
>> > cosines.
>>
>> Same as what? Sorry, don't understand it...
> 
> 
> The same as having the imaginary part set to the sums of all of the
> sines of the values of which the real part is the cosines.

I still can not follow your explanation, because you compare real 
signals with complex signals, which, of course are not the same. But...

> I mean, it's not really possible for the same sum of rotating bodies
> to have two different sets of vertical values?  The imaginary part
> does affect what's happening, no?

...I have the impression, that you're trying to explain komplex numbers 
with signals from the real world. There is no physical meaning of the 
set of komplex numbers! It is just a tool to perform some calculations 
easier (see last mail for example) and interprete the results in a 
"human" way (e.g. what's the sqrt(-1)?). Thus, as long as you deal with 
real signals, there is no imaginary part what can affect any rotation 
body. Introduce complex signal, there we have it :-)

br, Piotr




More information about the Pd-list mailing list