aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Kelly <edkelly@users.sourceforge.net>2007-12-13 07:06:52 +0000
committerEd Kelly <edkelly@users.sourceforge.net>2007-12-13 07:06:52 +0000
commitf9e424312a63b740edb845d28685ec68022cf729 (patch)
treec8516ed8e9f519355f3b06981966861207b469eb
parentd1c07e6cbc68f3c1e9a252edb79422e426857f94 (diff)
Help files for windowing are complete! So now we have easy block-sized
windows. Hurrah! Ek svn path=/trunk/externals/windowing/; revision=9094
-rw-r--r--bartlett~-help.pd53
-rw-r--r--blackman~-help.pd2
-rw-r--r--gaussian~-help.pd64
-rw-r--r--hanning~-help.pd2
-rw-r--r--kaiser~-help.pd63
-rw-r--r--lanczos~-help.pd51
-rw-r--r--welch~-help.pd54
7 files changed, 289 insertions, 0 deletions
diff --git a/bartlett~-help.pd b/bartlett~-help.pd
new file mode 100644
index 0000000..0f2ebd0
--- /dev/null
+++ b/bartlett~-help.pd
@@ -0,0 +1,53 @@
+#N canvas 256 141 557 517 10;
+#X obj 4 479 cnv 15 550 20 empty \$0-pddp.cnv.footer empty 20 12 0
+14 -228856 -66577 0;
+#X obj 4 -17 cnv 15 550 40 empty \$0-pddp.cnv.header bartlett~ 3 12
+0 18 -204280 -1 0;
+#X obj 3 239 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 15 12 0 13
+-228856 -1 0;
+#X obj 3 299 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlet 15 12 0
+13 -228856 -1 0;
+#X obj 3 359 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 15
+12 0 13 -228856 -1 0;
+#X obj 72 259 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X text 168 40 formula:;
+#X obj 97 86 hsl 71 15 -1 1 0 0 empty empty empty -2 -6 0 10 -262144
+-1 -1 7000 1;
+#X msg 94 66 1;
+#X obj 94 46 loadbang;
+#X obj 102 365 pddp/pddplink http://en.wikipedia.org/wiki/Window_function
+-text wikipedia: window functions;
+#X obj 438 -14 import windowing;
+#X msg 36 154 \; pd dsp 1;
+#X text 21 85 height --->;
+#X obj 127 109 sig~ 1;
+#N canvas 0 0 450 300 graph3 0;
+#X array \$0-bartlett 64 float 0;
+#X coords 0 1 63 -1 200 140 1;
+#X restore 326 65 graph;
+#X text 102 394 Windowing functions are used with FFTs. These transform
+the signal block-by-block into a spectral representation whose resolution
+in both the frequency and time domains are proportional to their size
+(as a power-of-two in PD). The different windows have different characteristics
+in terms of stopband attenuation and noise bandwidth.;
+#X text 102 258 SIGNAL: the height (amplitude) of the window is controlled
+by the signal on its inlet.;
+#X obj 127 158 tabsend~ \$0-bartlett;
+#X obj 127 132 bartlett~;
+#X text 169 53 1-x^2;
+#X text 103 317 SIGNAL: a bartlett (triangle) window with size=dsp
+blocksize;
+#X obj 102 380 pddp/pddplink http://mathworld.wolfram.com/BartlettFunction.html
+-text mathworld link;
+#X obj 435 6 pddp/pddplink http://wiki.puredata.info/en/bartlett~ -text
+pdpedia: bartlett~;
+#X text 15 6 description: generates a bartlett window for each dsp
+block;
+#X obj 72 319 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X connect 7 0 14 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 14 0 19 0;
+#X connect 19 0 18 0;
diff --git a/blackman~-help.pd b/blackman~-help.pd
index 15f85e1..f54f8c6 100644
--- a/blackman~-help.pd
+++ b/blackman~-help.pd
@@ -44,6 +44,8 @@ in terms of stopband attenuation and noise bandwidth.;
#X text 102 258 SIGNAL: the height (amplitude) of the window is controlled
by the signal on its inlet.;
#X obj 127 158 tabsend~ \$0-blackman;
+#X obj 73 319 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
#X connect 7 0 15 0;
#X connect 8 0 7 0;
#X connect 9 0 8 0;
diff --git a/gaussian~-help.pd b/gaussian~-help.pd
new file mode 100644
index 0000000..ac715ac
--- /dev/null
+++ b/gaussian~-help.pd
@@ -0,0 +1,64 @@
+#N canvas 256 141 559 517 10;
+#X obj 4 479 cnv 15 550 20 empty \$0-pddp.cnv.footer empty 20 12 0
+14 -228856 -66577 0;
+#X obj 4 -17 cnv 15 550 40 empty \$0-pddp.cnv.header gaussian~ 3 12
+0 18 -204280 -1 0;
+#X obj 3 239 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 15 12 0 13
+-228856 -1 0;
+#X obj 3 319 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlet 15 12 0
+13 -228856 -1 0;
+#X obj 3 359 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 15
+12 0 13 -228856 -1 0;
+#X obj 72 259 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X text 168 40 formula:;
+#X obj 97 86 hsl 71 15 -1 1 0 0 empty empty empty -2 -6 0 10 -262144
+-1 -1 7000 1;
+#X msg 94 66 1;
+#X obj 94 46 loadbang;
+#X obj 102 365 pddp/pddplink http://en.wikipedia.org/wiki/Window_function
+-text wikipedia: window functions;
+#X obj 438 -14 import windowing;
+#X msg 36 154 \; pd dsp 1;
+#X text 21 85 height --->;
+#X obj 127 109 sig~ 1;
+#N canvas 0 0 450 300 graph3 0;
+#X array \$0-gaussian 64 float 0;
+#X coords 0 1 63 -1 200 140 1;
+#X restore 326 65 graph;
+#X text 103 405 Windowing functions are used with FFTs. These transform
+the signal block-by-block into a spectral representation whose resolution
+in both the frequency and time domains are proportional to their size
+(as a power-of-two in PD). The different windows have different characteristics
+in terms of stopband attenuation and noise bandwidth.;
+#X text 102 258 SIGNAL: the height (amplitude) of the window is controlled
+by the signal on its inlet.;
+#X text 15 6 description: generates a gaussian window for each dsp
+block;
+#X obj 435 6 pddp/pddplink http://wiki.puredata.info/en/gaussian~ -text
+pdpedia: gaussian~;
+#X obj 127 132 gaussian~;
+#X obj 127 158 tabsend~ \$0-gaussian;
+#X text 103 327 SIGNAL: a gaussian window with size=dsp blocksize;
+#X obj 197 86 hsl 71 15 0 2 0 0 empty empty empty -2 -6 0 10 -262144
+-1 -1 1750 1;
+#X floatatom 192 105 5 0 0 0 - - -;
+#X msg 121 66 0.5;
+#X text 102 284 FLOAT: the width of the gaussian distribution curve
+is controlled by floats in the inlet;
+#X text 169 54 2^(-(x/d)^2);
+#X obj 102 378 pddp/pddplink http://en.wikipedia.org/wiki/Gaussian_function
+-text wikipedia: gaussian function;
+#X obj 102 392 pddp/pddplink http://mathworld.wolfram.com/GaussianFunction.html
+-text mathworld link;
+#X obj 73 326 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X connect 7 0 14 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 9 0 25 0;
+#X connect 14 0 20 0;
+#X connect 20 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 20 0;
+#X connect 25 0 23 0;
diff --git a/hanning~-help.pd b/hanning~-help.pd
index bd46b48..8a0c1d6 100644
--- a/hanning~-help.pd
+++ b/hanning~-help.pd
@@ -47,6 +47,8 @@ in terms of stopband attenuation and noise bandwidth.;
#X obj 170 167 tabsend~ \$0-hanning;
#X text 102 258 SIGNAL: the height (amplitude) of the window is controled
by the signal on its inlet.;
+#X obj 72 319 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
#X connect 6 0 25 0;
#X connect 9 0 6 0;
#X connect 11 0 9 0;
diff --git a/kaiser~-help.pd b/kaiser~-help.pd
new file mode 100644
index 0000000..78038f2
--- /dev/null
+++ b/kaiser~-help.pd
@@ -0,0 +1,63 @@
+#N canvas 256 141 557 517 10;
+#X obj 4 479 cnv 15 550 20 empty \$0-pddp.cnv.footer empty 20 12 0
+14 -228856 -66577 0;
+#X obj 4 -17 cnv 15 550 40 empty \$0-pddp.cnv.header kaiser~ 3 12 0
+18 -204280 -1 0;
+#X obj 3 239 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 15 12 0 13
+-228856 -1 0;
+#X obj 3 319 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlet 15 12 0
+13 -228856 -1 0;
+#X obj 3 359 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 15
+12 0 13 -228856 -1 0;
+#X obj 72 259 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X text 168 40 formula:;
+#X obj 97 126 hsl 71 15 -1 1 0 0 empty empty empty -2 -6 0 10 -262144
+-1 -1 7000 1;
+#X msg 94 106 1;
+#X obj 94 86 loadbang;
+#X obj 102 365 pddp/pddplink http://en.wikipedia.org/wiki/Window_function
+-text wikipedia: window functions;
+#X obj 438 -14 import windowing;
+#X msg 36 154 \; pd dsp 1;
+#X text 21 125 height --->;
+#X obj 127 149 sig~ 1;
+#N canvas 0 0 450 300 graph3 0;
+#X array \$0-kaiser 64 float 0;
+#X coords 0 1 63 -1 200 140 1;
+#X restore 326 65 graph;
+#X text 103 396 Windowing functions are used with FFTs. These transform
+the signal block-by-block into a spectral representation whose resolution
+in both the frequency and time domains are proportional to their size
+(as a power-of-two in PD). The different windows have different characteristics
+in terms of stopband attenuation and noise bandwidth.;
+#X text 102 258 SIGNAL: the height (amplitude) of the window is controlled
+by the signal on its inlet.;
+#X obj 197 126 hsl 81 15 1 240 1 0 empty empty empty -2 -6 0 10 -262144
+-1 -1 3361 1;
+#X floatatom 192 145 5 0 0 0 - - -;
+#X obj 127 172 kaiser~;
+#X obj 127 198 tabsend~ \$0-kaiser;
+#X obj 435 6 pddp/pddplink http://wiki.puredata.info/en/kaiser~ -text
+pdpedia: kaiser~;
+#X text 169 84 modified Bessel function;
+#X text 169 70 where Io is 0th order;
+#X text 168 55 Io(a*sqrt(1-x^2))/Io(a);
+#X text 103 327 SIGNAL: a kaiser (exponential decay) window with size=dsp
+blocksize;
+#X msg 121 106 10;
+#X obj 102 379 pddp/pddplink http://en.wikipedia.org/wiki/Kaiser_window
+-text wikipedia: kaiser window;
+#X text 102 284 FLOAT: the narrowness of the kaiser window is controlled
+by floats in the inlet;
+#X text 15 6 description: generates a kaiser window for each dsp block
+;
+#X connect 7 0 14 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 9 0 27 0;
+#X connect 14 0 20 0;
+#X connect 18 0 19 0;
+#X connect 19 0 20 0;
+#X connect 20 0 21 0;
+#X connect 27 0 18 0;
diff --git a/lanczos~-help.pd b/lanczos~-help.pd
new file mode 100644
index 0000000..4495841
--- /dev/null
+++ b/lanczos~-help.pd
@@ -0,0 +1,51 @@
+#N canvas 256 141 560 517 10;
+#X obj 4 479 cnv 15 550 20 empty \$0-pddp.cnv.footer empty 20 12 0
+14 -228856 -66577 0;
+#X obj 4 -17 cnv 15 550 40 empty \$0-pddp.cnv.header lanczos~ 3 12
+0 18 -204280 -1 0;
+#X obj 3 239 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 15 12 0 13
+-228856 -1 0;
+#X obj 3 299 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlet 15 12 0
+13 -228856 -1 0;
+#X obj 3 359 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 15
+12 0 13 -228856 -1 0;
+#X obj 72 259 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X text 168 40 formula:;
+#X obj 97 86 hsl 71 15 -1 1 0 0 empty empty empty -2 -6 0 10 -262144
+-1 -1 7000 1;
+#X msg 94 66 1;
+#X obj 94 46 loadbang;
+#X obj 102 365 pddp/pddplink http://en.wikipedia.org/wiki/Window_function
+-text wikipedia: window functions;
+#X obj 438 -14 import windowing;
+#X msg 36 154 \; pd dsp 1;
+#X text 21 85 height --->;
+#X obj 127 109 sig~ 1;
+#N canvas 0 0 450 300 graph3 0;
+#X array \$0-lanczos 64 float 0;
+#X coords 0 1 63 -1 200 140 1;
+#X restore 326 65 graph;
+#X text 102 380 Windowing functions are used with FFTs. These transform
+the signal block-by-block into a spectral representation whose resolution
+in both the frequency and time domains are proportional to their size
+(as a power-of-two in PD). The different windows have different characteristics
+in terms of stopband attenuation and noise bandwidth.;
+#X text 102 258 SIGNAL: the height (amplitude) of the window is controlled
+by the signal on its inlet.;
+#X text 169 52 sin(pi*x)/(pi*x);
+#X text 15 6 description: generates a lanczos window for each dsp block
+;
+#X obj 435 6 pddp/pddplink http://wiki.puredata.info/en/lanczos~ -text
+pdpedia: lanczos~;
+#X obj 127 158 tabsend~ \$0-lanczos;
+#X text 103 317 SIGNAL: a lanczos (sinc) window with size=dsp blocksize
+;
+#X obj 127 132 lanczos~;
+#X obj 72 319 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X connect 7 0 14 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 14 0 23 0;
+#X connect 23 0 21 0;
diff --git a/welch~-help.pd b/welch~-help.pd
new file mode 100644
index 0000000..efc0060
--- /dev/null
+++ b/welch~-help.pd
@@ -0,0 +1,54 @@
+#N canvas 256 141 560 517 10;
+#X obj 4 479 cnv 15 550 20 empty \$0-pddp.cnv.footer empty 20 12 0
+14 -228856 -66577 0;
+#X obj 4 -17 cnv 15 550 40 empty \$0-pddp.cnv.header welch~ 3 12 0
+18 -204280 -1 0;
+#X obj 3 239 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 15 12 0 13
+-228856 -1 0;
+#X obj 3 299 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlet 15 12 0
+13 -228856 -1 0;
+#X obj 3 359 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 15
+12 0 13 -228856 -1 0;
+#X obj 72 259 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X text 168 40 formula:;
+#X obj 97 86 hsl 71 15 -1 1 0 0 empty empty empty -2 -6 0 10 -262144
+-1 -1 7000 1;
+#X msg 94 66 1;
+#X obj 94 46 loadbang;
+#X obj 102 365 pddp/pddplink http://en.wikipedia.org/wiki/Window_function
+-text wikipedia: window functions;
+#X obj 438 -14 import windowing;
+#X msg 36 154 \; pd dsp 1;
+#X text 21 85 height --->;
+#X obj 127 109 sig~ 1;
+#N canvas 0 0 450 300 graph3 0;
+#X array \$0-welch 64 float 0;
+#X coords 0 1 63 -1 200 140 1;
+#X restore 326 65 graph;
+#X text 102 406 Windowing functions are used with FFTs. These transform
+the signal block-by-block into a spectral representation whose resolution
+in both the frequency and time domains are proportional to their size
+(as a power-of-two in PD). The different windows have different characteristics
+in terms of stopband attenuation and noise bandwidth.;
+#X text 102 258 SIGNAL: the height (amplitude) of the window is controlled
+by the signal on its inlet.;
+#X obj 127 158 tabsend~ \$0-welch;
+#X obj 127 132 welch~;
+#X text 169 53 1-abs(x);
+#X obj 102 379 pddp/pddplink http://en.wikipedia.org/wiki/Welch_method
+-text wikipedia: Welch's method;
+#X obj 102 392 pddp/pddplink http://mathworld.wolfram.com/WelchApodizationFunction.html
+-text mathworld link;
+#X text 103 317 SIGNAL: a welch window with size=dsp blocksize;
+#X text 15 6 description: generates a welch window for each dsp block
+;
+#X obj 435 6 pddp/pddplink http://wiki.puredata.info/en/welch~ -text
+pdpedia: welch~;
+#X obj 73 319 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
+-162280 0;
+#X connect 7 0 14 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 14 0 19 0;
+#X connect 19 0 18 0;