ODP: Filters

Ethan Duni eduni at ucsd.edu
Wed Jan 13 02:39:21 CET 1999


>fft's don't have to be complex, there is a simplification (i forget what it
>is) 
>or a certain type of signal that most signals fall into that mean the
>complex 
>part is all 0 i.e. all real. 

-ah; i believe i know what you are referring to.  There are some confusing
semantics surrounding this area.. in the general case, Fourier transforms
work on complex-valued inputs (time domain functions).  However, much of the
time we are only concerned with real signals (imaginary part is zero), in
which case the output of the transform is symmetric, so you can stop short
of calculating half of it.  however, the OUTPUT of a fourier transform
always conatins both the phase and amplitude information, usually in the
form of a complex number (i believe there are some other ways of notating
that come out differently).  perhaps this is causing some confusion.

>i'd be interested to hear more about why the
>phase 
>information is needed. in my (admittedly short) analyses, for an ADDITIVE
>synth 
>(not fourier-based, but they are similar), the phase is unimportant - the 
>waveform is quite different, but the sound is the same. 

-Ah! one has to be careful here.  It is true that if you listen to a given
waveform and then you stop and shift the phases of a bunch of the harmonics
in it and listen to that, they won't sound different.  But, if you create a
sound such that one or more of the harmonics' phase changes throughout the
sound you should be able to distinguish it fromt he case where the phases do
not change (for instance, what if one of the harmonics was to be continually
shifted forward in phase throughout the duration of the sound; this would be
identical to throwing the harmonic out of tune (!)).. it also is probably
more relevant in the case of filters; a filter will shift each frequency a
different amount (generally), which can be really significant in the case of
feeding the filter's output back.. 

>the FFT guarantees 
>sample accuracy, of course, so it's a little different. my testing was for 
>relatively simple waveforms though - square and saw. if you want to try it,
>the 
>additive engine at my homepage http://members.xoom.com/elev8 lets you play
>with 
>this. I tried both shifting all harmonics by, say, 90 degrees, as well as 
>shifting different harmonics different amounts. They will probably be
>different 
>when played polyphonically, maybe, but the basic sound was the same to my
>ears.
 
-i think what would happen polyphonically is that you'd get unexpected
cancellations in the end product.  another place phase is importnat is in
stereo; phase differences between sounds is one of the big ques that your
ears use to locate objects spatially (think about when you hear, say, a
truck that is 10 feet in front of you and 5 feet to your left.  the sound
won't really be any louder in one ear than the other, but if you close your
eyes you'll still be able to spatially locate the source of the sound; it's
the phase difference incurred by the path length difference).  another thing
to do is to shift some of the phases of the harmonics on one side of a
stereo pair; same signals, different phases= stereo!

>this is a direct property of the DFT, as i recall, in both discrete and 
>continuous forms. as far as I know, though, you don't need a complex FFT for
>
>this relation to be true - can anyone correct me? I throw this stuff out as
>much
>to learn as anything....phase vocoding is a good way to pitch shift though, 
>since it maintains the harmonic relationships of the source signal (at
>least, 
>IIRC). at least it's an easier way to get right. to do proper phase vocoding
>i 
>suppose you need an exponential FFT, i think these exist but I wouldn't
>swear to
>it....you could "fake" it coarsely using a linear FFT of course.

-i had the impression that FFT's were linear beasts; i was doing some
readings on wavelets (http://www.amara.com/current/wavelet.html - great
page) wherein one of the touted advantages of wavelet analysis over FFT
analysis was the wavelet transform's nonlinear frequency resolution.  though
it doesn't seem that it would be too difficult to define any operations done
on a frequency-domain FFT signal to be nonlinear with frequency (i believe
this is all that's done in the pitch-scaling algorithms used in various
products.. check this page out for some more info:
http://www.prosoniq.com/time_pitch_faq.html ).. 

as long as i'm recommending literature, let me throw out a book that i
thought was a great intro into the world of FFTs: 

The FFT: Fundamentals and Concepts by Ramirez (i think).  it seems it was
actually written for tektronix scope customers to enlighten them about what
those FFT plug-in boards for the scopes would do, but it's pretty general.
doesn't go into too much mathematical depth or complexity, but it clearly
illustrates all of the ideas that one has to grasp to understand and use
fft's (as well as fourier series and continuous transforms).  it also has
some neat introductory information on convolution and correlation and their
relations to the FFT.

Ethan




More information about the Synth-diy mailing list