blob: ae85dceaaf74360d104e04b0080407965f7064c3 (
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
|
#N canvas 717 52 526 510 12;
#X floatatom 127 186 0 0 0 0 - - -;
#X obj 49 98 osc~ 100;
#X msg 64 130 clear;
#X obj 77 483 lop~;
#X text 8 483 see also:;
#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 66 156 set 1;
#X text 112 156 <-- set internal state;
#X text 113 99 <-- signal to filter;
#X text 155 189 <-- filter coefficient (may be a signal);
#X text 143 210 <-- creation argument initializes filter coefficient
;
#X text 108 129 <-- 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 - - -;
#X obj 77 219 env~ 16384;
#X floatatom 77 243 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 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 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 416 pd test;
#X text 111 483 etc.: user-friendly filters;
#X text 8 270 where y[n] is the output \, x[n] the input \, and a[n]
the filter coefficient. The filter is always stable.;
#X obj 52 7 rzero_rev~;
#X text 139 7 real one-zero (non-recursive) "reverse" filter \, raw
;
#X obj 48 208 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 230 The action of rpole_rev~ is:;
#X text 71 251 y[n] = -a[n] * x[n] + x[n-1];
#X text 6 302 The transfer function is H(Z) = -a + Z^-1.;
#X text 5 321 (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;
|