#N canvas 56 7 526 510 12; #X floatatom 118 172 0 0 0 0 - - -; #X obj 54 85 osc~ 100; #X msg 69 117 clear; #X obj 77 483 lop~; #X text 8 483 see also:; #X obj 52 7 rpole~; #X text 114 7 real one-pole (recursive) filter \, raw; #X text 8 35 Rpole~ filters an audio signal (left inlet) via a one-pole real filter \, whose coefficient is controlled by a creation argument or by an audio signal (right inlet).; #X text 331 482 updated for Pd version-0.38; #X obj 84 430 rzero~; #X obj 35 450 cpole~; #X obj 35 430 rpole~; #X obj 133 430 rzero_rev~; #X obj 84 450 czero~; #X obj 133 450 czero_rev~; #X text 211 430 real; #X text 210 451 complex; #X text 32 414 1-pole; #X text 81 414 1-zero; #X text 131 414 1-zero \, reversed; #X text 57 399 summary of raw filters:; #X msg 71 143 set 1; #X text 117 143 <-- set internal state; #X text 118 86 <-- signal to filter; #X text 142 173 <-- filter coefficient (may be a signal); #X text 129 198 <-- creation argument initializes filter coefficient ; #X text 73 252 y[n] = y[n-1] + a[n] * x[n]; #X text 10 302 The transfer function is H(Z) = 1/(1 - aZ^-1).; #X text 113 116 <-- clear internal state to zero; #X text 8 270 where y[n] is the output \, x[n] the input \, and a[n] the filter coefficient. The filter is unstable if/when |a[n]|>1.; #X obj 53 195 rpole~ 0.9; #X text 14 230 The action of rpole~ is:; #N canvas 393 91 326 287 test 0; #X obj 76 78 osc~; #X floatatom 76 55 5 0 0 0 - - -; #X obj 77 219 env~ 16384; #X floatatom 77 243 5 0 0 0 - - -; #X obj 76 168 rpole~; #X obj 104 107 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 76 105 *~; #X msg 97 137 set 1; #X floatatom 172 157 4 -100 100 0 - - -; #X obj 172 182 / 100; #X obj 214 256 dac~; #X obj 228 177 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 214 220 *~; #X obj 230 197 / 10; #X text 80 18 Stuff to test it:; #X connect 0 0 6 0; #X connect 1 0 0 0; #X connect 2 0 3 0; #X connect 4 0 2 0; #X connect 4 0 12 0; #X connect 5 0 6 1; #X connect 6 0 4 0; #X connect 7 0 4 0; #X connect 8 0 9 0; #X connect 9 0 4 1; #X connect 11 0 13 0; #X connect 12 0 10 0; #X connect 12 0 10 1; #X connect 13 0 12 1; #X restore 457 416 pd test; #X text 111 483 etc.: user-friendly filters; #X text 8 320 (Pd also provides a suite of user-friendly filters. This and other raw filters are provided for situations which the user-friendly ones can't handle. See Chapter 8 of http://crca.ucsd.edu/~msp/techniques for an introduction to the necessary theory.); #X connect 0 0 30 1; #X connect 1 0 30 0; #X connect 2 0 30 0; #X connect 21 0 30 0;