[PD] how to create a lowpass filter from first principles?
Steffen Leve Poulsen
slagmark at worldonline.dk
Thu Jan 22 22:45:19 CET 2009
Yes Pd is wonderfull!
Attached shows how to do your example the naive way in Pd.
It uses [tabsend~] to get from sig~ domain to message domain.
This is not that efficient but good for testing and development.
More efficient is [z~] from zexy or [delread~] and [delwrite~].
Also look at [biquad~] and the raw filters [czero~] and [cpole~]
> I am new to Pure Data,
> I downloaded and have played around with it for the last couple of days
> and it is rather wonderful.
> I can quite happily create a basic synth inside it without too much strife.
> The reason I wanted to use Pure Data was to implement some of the maths
> that I am learning through a couple of DSP books that I am studying.
> *The DSP book I have read gives a simple lowpass filter function as *
> *g(n) = (f(n-1) + f(n) + f(n+1))/3*
> *i.e the average value of three consecutive samples. I understand how
> this is in effect a lowpass filter.*
> *How do I implement that in PD?*
> I can easily connect a Oscillator (phasor) object to a lowpass filter
> object to the DAC and hear it working,
> However I want to be able to create my own lowpass filter i.e. try to
> really understand how things are put together.
> Therefore if in the function above I need 3 consecutive samples, I would
> have thought that I need some kind of buffer to hold and call those
> samples from,
> so that I can then call three samples average them and then output that,
> however that would have to move at the same rate/freq as the audio
> engine is set up i.e. 44100Hz ..... errrr.
> So I am thinking about how to solve the problem I just seem to be
> missing how to start.
> Any guidance appreciated.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the Pd-list