aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/5.reference/cpole~-help.pd
diff options
context:
space:
mode:
Diffstat (limited to 'pd/doc/5.reference/cpole~-help.pd')
-rw-r--r--pd/doc/5.reference/cpole~-help.pd119
1 files changed, 119 insertions, 0 deletions
diff --git a/pd/doc/5.reference/cpole~-help.pd b/pd/doc/5.reference/cpole~-help.pd
new file mode 100644
index 00000000..e0df0339
--- /dev/null
+++ b/pd/doc/5.reference/cpole~-help.pd
@@ -0,0 +1,119 @@
+#N canvas 281 13 533 567 12;
+#X obj 54 90 osc~ 100;
+#X msg 62 117 clear;
+#X obj 79 547 lop~;
+#X text 10 550 see also:;
+#X text 333 549 updated for Pd version-0.38;
+#X obj 86 497 rzero~;
+#X obj 37 517 cpole~;
+#X obj 37 497 rpole~;
+#X obj 135 497 rzero_rev~;
+#X obj 86 517 czero~;
+#X obj 135 517 czero_rev~;
+#X text 213 497 real;
+#X text 212 518 complex;
+#X text 34 481 1-pole;
+#X text 83 481 1-zero;
+#X text 133 481 1-zero \, reversed;
+#X text 59 466 summary of raw filters:;
+#X text 73 300 y[n] = y[n-1] + a[n] * x[n];
+#X text 12 369 The transfer function is H(Z) = 1/(1 - aZ^-1).;
+#X text 106 116 <-- clear internal state to zero;
+#N canvas 168 90 498 357 test 0;
+#X obj 76 78 osc~;
+#X floatatom 76 55 5 0 0 0 - - -;
+#X obj 18 287 env~ 16384;
+#X floatatom 18 311 5 0 0 0 - - -;
+#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 85 132 set 1;
+#X floatatom 350 112 4 -1000 1000 0 - - -;
+#X obj 215 315 dac~;
+#X obj 215 279 *~;
+#X text 80 18 Stuff to test it:;
+#X obj 241 106 cos~;
+#X obj 77 227 cpole~;
+#X obj 261 65 phasor~;
+#X floatatom 261 44 5 0 0 0 - - -;
+#X floatatom 132 55 5 0 0 0 - - -;
+#X obj 160 107 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 132 105 *~;
+#X obj 132 78 phasor~;
+#X floatatom 324 42 5 0 0 0 - - -;
+#X obj 324 65 / 1000;
+#X obj 274 107 -~ 0.25;
+#X obj 274 129 cos~;
+#X obj 350 131 / 1000;
+#X obj 240 157 *~;
+#X obj 274 157 *~;
+#X obj 94 287 env~ 16384;
+#X floatatom 94 311 5 0 0 0 - - -;
+#X obj 247 275 dbtorms;
+#X floatatom 248 255 5 0 0 0 - - -;
+#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 12 0;
+#X connect 6 0 12 0;
+#X connect 7 0 23 0;
+#X connect 9 0 8 0;
+#X connect 9 0 8 1;
+#X connect 11 0 24 0;
+#X connect 12 0 2 0;
+#X connect 12 0 9 0;
+#X connect 12 1 26 0;
+#X connect 13 0 21 0;
+#X connect 13 0 11 0;
+#X connect 14 0 13 0;
+#X connect 15 0 18 0;
+#X connect 16 0 17 1;
+#X connect 17 0 12 0;
+#X connect 18 0 17 0;
+#X connect 19 0 20 0;
+#X connect 20 0 13 1;
+#X connect 21 0 22 0;
+#X connect 22 0 25 0;
+#X connect 23 0 25 1;
+#X connect 23 0 24 1;
+#X connect 24 0 12 2;
+#X connect 25 0 12 3;
+#X connect 26 0 27 0;
+#X connect 28 0 9 1;
+#X connect 29 0 28 0;
+#X restore 459 483 pd test;
+#X text 113 550 etc.: user-friendly filters;
+#X text 10 387 (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 obj 52 7 cpole~;
+#X text 114 7 complex one-pole (recursive) filter \, raw;
+#X text 118 91 <-- signal to filter (real part);
+#X text 117 173 <-- signal to filter (imaginary part);
+#X obj 84 172 sig~;
+#X obj 115 197 sig~;
+#X text 149 199 <-- filter coefficient (real part);
+#X obj 145 219 sig~;
+#X obj 53 244 cpole~ 0.9 0.4;
+#X text 159 246 <-- creation arguments initialize filter;
+#X text 187 262 coefficient (real and imaginary part);
+#X text 14 278 The action of cpole~ is:;
+#X text 11 320 where y[n] is the output \, x[n] the input \, and a[n]
+the filter coefficient (all complex numbers). The filter is unstable
+if/when |a[n]|>1.;
+#X text 8 31 Cpole~ filters a complex audio signal (first two inlets)
+via a one-pole filter \, whose coefficients are controlled by creation
+arguments or by another complex audio signal (remaining two inlets).
+;
+#X text 150 144 <-- set internal state (real&imaginary parts);
+#X msg 64 143 set 0.6 0.8;
+#X text 179 221 <-- filter coefficient (imaginary part);
+#X connect 0 0 31 0;
+#X connect 1 0 31 0;
+#X connect 27 0 31 1;
+#X connect 28 0 31 2;
+#X connect 30 0 31 3;
+#X connect 38 0 31 0;