[PD] Understanding Oversampling

Miller Puckette mpuckett at imusic1.ucsd.edu
Tue Nov 11 18:49:55 CET 2008


I looked, and it's very confusing, sorry.  There's an error, too :)

The filters are incorrectly set to 7500 Hz.  The main patch is assumed to
be 44100 Hz. so the subpatch runs at 16x44100.  So the cutoff in radians
per sample is beta = 2*pi*7500/(16*44100) = 0.017518.

The rest is as in chapter 8 section 6 (designing Butterworth Filters)
with r = tan ( beta/2) = 0.033405, theta = 0 and +/- pi/3 , e.g., 

(1-r^2)/(1 + r^2 + 2*r*cos(pi/3)) = 0.96555  

(that's one of the numbers that shows up in J07).

To change the value of 7500 or 16, adjust beta accordingly and repeat.

cheers
Miller

On Tue, Nov 11, 2008 at 04:03:54PM +0100, Frank Barknecht wrote:
> Hallo,
> David F. Place hat gesagt: // David F. Place wrote:
> 
> > I'm trying to understand J07.oversampling.pd.  Is the structure of the
> > 3-pole, 3-zero Butterworth low-pass filter specific to the 16x
> > upsampling?  Should it be different for 32x upsampling?
> 
> I'm pretty sure it should be different. Generally the numbers you put
> into the cpole/czero objects of Pd are the coordinates of points in the
> complex plane, where the frequencies are mapped to angles of a circle.
> The angle PI or 180 degrees corresponds to the Nyquist frequency.
> 
> So depending on your samplerate you will have the same angle in the
> plane or the same pole/zero point correspond to different frequencies.
> For example PI will be 22050 for samplerate of 44100, and 24000 for a SR
> of 48000 Hz and then everything else is scaled accordingly.
> 
> Ciao
> -- 
> Frank
> 
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list




More information about the Pd-list mailing list