aboutsummaryrefslogtreecommitdiff
path: root/doc/pddp/cpole~-help.pd
blob: f8083ed52cc2862a28aee60b2c798a206a0d45b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
#N canvas 0 0 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header cpole~ 3 12 0 18
-204280 -1 0;
#X obj 0 287 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 39 245 494 405 META 0;
#X text 12 185 LIBRARY internal;
#X text 12 225 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 25 LICENSE SIBSD;
#X text 12 205 AUTHOR Miller Puckette;
#X text 12 265 HELP_PATCH_AUTHORS Updated for Pd version-0.38. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 5 KEYWORDS signal filter;
#X text 12 45 DESCRIPTION complex one-pole (recursive) filter \, raw
;
#X text 12 65 INLET_0 signal;
#X text 12 145 OUTLET_0 signal;
#X text 12 85 INLET_1 signal;
#X text 12 105 INLET_2 signal;
#X text 12 125 INLET_3 signal;
#X text 12 165 OUTLET_1 signal;
#X text 12 245 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 424 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 486 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 543 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#N canvas 27 280 428 309 Related_objects 0;
#X obj 74 60 rzero~;
#X obj 25 80 cpole~;
#X obj 25 60 rpole~;
#X obj 123 60 rzero_rev~;
#X obj 74 80 czero~;
#X obj 123 80 czero_rev~;
#X text 201 60 real;
#X text 200 81 complex;
#X text 22 44 1-pole;
#X text 71 44 1-zero;
#X text 121 44 1-zero \, reversed;
#X text 47 29 summary of raw filters:;
#X text 18 184 User-friendly Filters;
#X obj 21 213 lop~;
#X obj 72 212 hip~;
#X obj 124 213 bp~;
#X obj 169 214 vcf~;
#X obj 22 274 biquad~;
#X text 18 250 Other Objects;
#X text 18 113 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 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [cpole~] Related Objects;
#X restore 101 597 pd Related_objects;
#X obj 78 433 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 296 cnv 17 3 45 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 296 signal;
#X text 98 433 signal;
#X obj 478 3 cpole~;
#X obj 450 20 pddp/pddplink http://wiki.puredata.info/en/cpole~ -text
pdpedia: cpole~;
#X obj 57 132 osc~ 100;
#X msg 65 155 clear;
#X obj 84 199 sig~;
#X obj 121 200 sig~;
#X obj 158 200 sig~;
#X obj 56 230 cpole~ 0.9 0.4;
#X msg 67 177 set 0.6 0.8;
#X text 203 181 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 203 223 The transfer function is H(Z) = 1/(1 - aZ^-1).;
#N canvas 45 205 428 355 test 0;
#X obj 66 88 osc~;
#X floatatom 66 65 5 0 0 0 - - -;
#X obj 8 297 env~ 16384;
#X floatatom 8 321 5 0 0 0 - - -;
#X obj 94 117 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 66 115 *~;
#X msg 75 142 set 1;
#X floatatom 340 122 4 -1000 1000 0 - - -;
#X obj 205 325 dac~;
#X obj 205 289 *~;
#X text 70 28 Stuff to test it:;
#X obj 231 116 cos~;
#X obj 67 237 cpole~;
#X obj 251 75 phasor~;
#X floatatom 251 54 5 0 0 0 - - -;
#X floatatom 122 65 5 0 0 0 - - -;
#X obj 150 117 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 122 115 *~;
#X obj 122 88 phasor~;
#X floatatom 314 52 5 0 0 0 - - -;
#X obj 314 75 / 1000;
#X obj 264 117 -~ 0.25;
#X obj 264 139 cos~;
#X obj 340 141 / 1000;
#X obj 230 167 *~;
#X obj 264 167 *~;
#X obj 84 297 env~ 16384;
#X floatatom 84 321 5 0 0 0 - - -;
#X obj 237 285 dbtorms;
#X floatatom 238 265 5 0 0 0 - - -;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 1 [cpole~] Test;
#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 102 552 pd test;
#X text 98 311 clear;
#X text 98 326 set;
#X obj 78 346 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 346 signal;
#X obj 78 371 cnv 17 3 17 empty \$0-pddp.cnv.let.2 2 5 9 0 16 -228856
-162280 0;
#X text 98 371 signal;
#X obj 78 396 cnv 17 3 17 empty \$0-pddp.cnv.let.3 3 5 9 0 16 -228856
-162280 0;
#X obj 78 458 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 458 signal;
#X text 11 23 complex one-pole (recursive) filter \, raw;
#X text 98 396 signal;
#X text 168 296 - signal to filter (real part).;
#X text 168 311 - clear internal state to zero.;
#X text 168 326 - set internal state (real & imaginary parts).;
#X text 168 346 - signal to filter ( imaginary part ).;
#X text 168 371 - filter coefficient ( real part ).;
#X text 168 396 - filter coefficient ( imaginary part ).;
#X text 169 504 - (optional) coefficient (real).;
#X text 169 519 - (optional) coefficient (imaginary).;
#X text 80 504 1) float;
#X text 80 519 2) float;
#X text 202 134 The action of [cpole~] is:;
#X text 85 68 [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 obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X obj 455 51 pddp/dsp;
#X obj 102 572 pddp/pddplink ../3.audio.examples/H12.peaking.pd -text
doc/3.audio.examples/H12.peaking.pd;
#X text 208 160 y[n] = x[n] + a[n] * y[n-1];
#X connect 14 0 19 0;
#X connect 15 0 19 0;
#X connect 16 0 19 1;
#X connect 17 0 19 2;
#X connect 18 0 19 3;
#X connect 20 0 19 0;