#N canvas 440 32 585 555 12;
#X floatatom 141 193 0 0 0 0 - - -;
#X obj 49 109 osc~ 100;
#X msg 64 141 clear;
#X obj 87 506 lop~;
#X text 8 506 see also:;
#X text 340 531 updated for Pd version-0.38;
#X obj 94 453 rzero~;
#X obj 35 477 cpole~;
#X obj 35 453 rpole~;
#X obj 153 453 rzero_rev~;
#X obj 94 477 czero~;
#X obj 153 477 czero_rev~;
#X text 241 453 real;
#X text 240 478 complex;
#X text 32 434 1-pole;
#X text 91 434 1-zero;
#X text 151 434 1-zero \, reversed;
#X text 57 417 summary of raw filters:;
#X msg 66 167 set 1;
#X text 112 167 <-- set internal state;
#X text 124 109 <-- signal to filter;
#X text 173 193 <-- filter coefficient (may be a signal);
#X text 152 221 <-- creation argument initializes filter coefficient
;
#X text 108 140 <-- clear internal state to zero;
#N canvas 393 91 326 287 test 0;
#X obj 76 78 osc~;
#X floatatom 76 55 5 0 0 0 - - -, f 5;
#X obj 76 219 env~ 16384;
#X floatatom 76 243 5 0 0 0 - - -, f 5;
#X obj 114 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 - - -, f 4;
#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 obj 76 168 rzero_rev~;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 4 0 5 1;
#X connect 5 0 14 0;
#X connect 6 0 14 0;
#X connect 7 0 8 0;
#X connect 8 0 14 1;
#X connect 10 0 12 0;
#X connect 11 0 9 0;
#X connect 11 0 9 1;
#X connect 12 0 11 1;
#X connect 14 0 2 0;
#X connect 14 0 11 0;
#X restore 457 427 pd test;
#X text 131 506 etc.: user-friendly filters;
#X text 8 281 where y[n] is the output \, x[n] the input \, and a[n]
the filter coefficient. The filter is always stable.;
#X obj 50 7 rzero_rev~;
#X text 139 7 real one-zero (non-recursive) "reverse" filter \, raw
;
#X obj 48 219 rzero_rev~ 1;
#X text 7 35 Rzero_rev~ filters an audio signal (left inlet) via a
one-zero real filter \, whose coefficient is controlled by a creation
argument or by an audio signal (right inlet). The impulse response
is that of "rzero" reversed in time.;
#X text 14 241 The action of rpole_rev~ is:;
#X text 71 262 y[n] = -a[n] * x[n] + x[n-1];
#X text 6 313 The transfer function is H(Z) = -a + Z^-1.;
#X text 5 332 (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 29 1;
#X connect 1 0 29 0;
#X connect 2 0 29 0;
#X connect 18 0 29 0;
