Update of /cvsroot/pure-data/externals/iem/iem_adaptfilt/help
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13932/externals/iem/iem_adaptfilt/help
Added Files:
.DS_Store n_CLNLMS~-help.pd n_CNLMS~-help.pd NLMSCC~-help.pd
NLMS~-help.pd
Log Message:
no message
--- NEW FILE: n_CLNLMS~-help.pd ---
#N canvas 18 0 998 718 10;
#N canvas 0 0 450 300 graph1 0;
#X array 1_W 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 49 517 graph;
#X msg 25 245 update \$1;
#X msg 102 255 beta \$1;
#X obj 438 26 tgl 15 0 empty empty empty 0 -6 0 8 -225280 -1 -1 0 1
;
#X obj 438 47 dsp;
#X floatatom 438 93 5 0 0 0 - - -;
#X floatatom 451 72 5 0 0 0 - - -;
#X obj 437 461 bng 15 150 20 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 53 275 noise~;
#X obj 25 58 vradio 15 1 0 8 empty empty empty 0 -6 0 8 -225280 -1
-1 0;
#N canvas 165 115 464 314 /SUBPATCH/ 0;
#X obj 76 61 inlet;
#X msg 32 163 0;
#X msg 63 159 1;
#X msg 97 158 2;
#X msg 132 156 4;
#X msg 159 157 8;
#X msg 191 162 16;
#X msg 219 164 32;
#X msg 248 165 64;
#X obj 76 84 sel 0 1 2 3 4 5 6 7;
#X obj 32 217 outlet;
#X connect 0 0 9 0;
#X connect 1 0 10 0;
#X connect 2 0 10 0;
#X connect 3 0 10 0;
#X connect 4 0 10 0;
#X connect 5 0 10 0;
#X connect 6 0 10 0;
#X connect 7 0 10 0;
#X connect 8 0 10 0;
#X connect 9 0 1 0;
#X connect 9 1 2 0;
#X connect 9 2 3 0;
#X connect 9 3 4 0;
#X connect 9 4 5 0;
#X connect 9 5 6 0;
#X connect 9 6 7 0;
#X connect 9 7 8 0;
#X restore 25 205 pd;
#X text 7 39 internal downsampling of update;
#X msg 60 337 gamma \$1;
#X text 75 363 input signal;
#X text 320 362 desired signal;
#N canvas 0 0 450 300 graph1 0;
#X array IR 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 225 23 graph;
#X obj 54 460 unsig~;
#X floatatom 54 486 9 0 0 0 - - -;
#X obj 140 460 unsig~;
#X floatatom 140 486 9 0 0 0 - - -;
#X text 411 362 d(n);
#X obj 777 283 loadbang;
#X text 687 432 (array-sizes have to be >= then FIR_size);
#X text 42 71 update every sample;
#X text 42 56 stop \, no update;
#X text 42 86 update every 2nd sample;
#X text 42 101 update every 4th sample;
#X text 42 116 update every 8th sample;
#X text 42 131 update every 16th sample;
#X text 42 146 update every 32nd sample;
#X text 42 161 update every 64th sample;
#N canvas 0 0 486 336 /SUBPATCH/ 0;
#X obj 48 46 inlet;
#X obj 205 47 inlet;
#X msg 205 71 \; IR const 0;
#X obj 92 84 loadbang;
#X msg 48 120 \; IR 0 0 0 0 0 0 0.314287 0.8 0.75 0 0 0 0 -0.7 -0.65
0 0 0 0.157143 0.128572 0 0 -0.128572 -0.1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X restore 778 258 pd;
#X obj 791 240 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 808 237 clear;
#X obj 778 221 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 795 218 load;
#X text 840 227 IR;
#X text 4 395 filtered output signal;
#X text 324 394 error signal;
#X text 454 455 constrain;
#X text 454 465 coefficients;
#X msg 437 420 0;
#X obj 437 440 speedlim 100;
#X obj 95 412 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#N canvas 0 0 478 328 /SUBPATCH/ 0;
#X obj 137 73 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X msg 137 115 39;
#X msg 92 190 \$1 39;
#X msg 136 53 1;
#X obj 137 92 metro 200;
#X obj 136 24 inlet;
#X obj 92 169 tabread 1_W;
#X obj 92 214 tabwrite 1_W;
#X msg 177 192 \$1 39;
#X msg 260 191 \$1 39;
#X obj 260 170 tabread 3_W;
#X obj 260 215 tabwrite 3_W;
#X obj 177 171 tabread 2_W;
#X obj 177 216 tabwrite 2_W;
#X connect 0 0 4 0;
#X connect 1 0 6 0;
#X connect 1 0 12 0;
#X connect 1 0 10 0;
#X connect 2 0 7 0;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 2 0;
#X connect 8 0 13 0;
#X connect 9 0 11 0;
#X connect 10 0 9 0;
#X connect 12 0 8 0;
#X restore 777 304 pd;
#X text 802 310 update of W;
#X text 801 299 graphical;
#X text 96 317 minimum input value;
#X msg 102 218 0.1;
#X msg 60 299 1e-05;
#X text 155 256 beta [0 .. 2];
#X text 116 336 gamma [0 .. 1];
#X obj 527 47 cnv 15 68 17 empty empty empty 20 12 0 14 -225280 -66577
0;
#N canvas 0 0 499 295 FORMULAS 0;
#X obj 167 52 cnv 15 150 40 empty empty empty 20 12 0 14 -225280 -66577
0;
#X obj 167 123 cnv 15 270 50 empty empty empty 20 12 0 14 -225280 -66577
0;
#X obj 167 205 cnv 15 260 30 empty empty empty 20 12 0 14 -225280 -66577
0;
#X text 280 129 beta;
#X text 231 146 >;
#X text 232 144 _;
#X text 232 138 _;
#X text 277 141 2;
#X text 340 141 2;
#X text 311 146 gamma * blocksize);
#X text 294 146 +;
#X text 243 146 x[n-i];
#X text 174 135 my(n) =;
#X text 223 130 _________________________________;
#X text 8 135 normalized learn rate:;
#X text 173 54 y(n) = W * x(n);
#X obj 225 56 cnv 11 1 1 empty empty * 0 9 0 14 -225280 -1 0;
#X text 173 72 e(n) = d(n) - W * x(n);
#X obj 267 74 cnv 11 1 1 empty empty * 0 9 0 14 -225280 -1 0;
#X text 119 73 error:;
#X text 116 55 output:;
#X text 7 210 coefficient iteration:;
#X text 176 213 W(k+1 \, i) = leakage*W(k \, i) + my(n)* e(n)* x(n)
;
#X restore 527 47 pd FORMULAS;
#X obj 102 238 cnv 14 31 14 empty empty empty 20 12 0 14 -225280 -66577
0;
#X floatatom 102 238 5 0 2 0 - - -;
#X text 138 237 learn-rate;
#X obj 60 319 cnv 14 31 14 empty empty empty 20 12 0 14 -225280 -66577
0;
#X floatatom 60 319 5 0 1 0 - - -;
#X floatatom 25 226 5 0 0 0 - - -;
#X text 526 29 Normalized Least Mean Square (linear adaptive FIR-filter)
;
#N canvas 0 0 450 300 graph1 0;
#X array 2_W 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 299 517 graph;
#N canvas 0 0 450 300 graph1 0;
#X array 3_W 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 549 517 graph;
#X obj 229 461 unsig~;
#X floatatom 229 487 9 0 0 0 - - -;
#X obj 319 459 unsig~;
#X floatatom 319 485 9 0 0 0 - - -;
#X obj 253 233 cnv 14 31 14 empty empty empty 20 12 0 14 -225280 -66577
0;
#X floatatom 253 233 5 0 10000 0 - - -;
#X msg 253 251 kappa \$1;
#X msg 253 213 1;
#X obj 408 291 FIR~ IR 32;
#X obj 171 291 z~ 2;
#X obj 289 291 z~ 4;
#X text 26 363 x1(n);
#X text 257 363 x3(n);
#X text 176 362 x2(n);
#X text 24 408 y1(n) = 1_W * x1(n);
#X obj 181 427 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#X obj 271 401 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#X text 110 423 y2(n) = 2_W * x2(n);
#X text 200 397 y3(n) = 3_W * x3(n);
#X obj 360 423 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#X text 326 419 - 1_W * x1(n);
#X text 297 408 e(n) = d(n);
#X obj 360 433 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#X text 326 429 - 2_W * x2(n);
#X obj 360 443 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#X text 326 439 - 3_W * x3(n);
#X text 526 18 Multi Channel Constraint;
#X obj 53 380 n_CLNLMS~ 3 32 0.1 1e-05 1 0.95 W ______________________
;
#X text 472 230 minimum input value;
#X obj 436 232 cnv 14 31 14 empty empty empty 20 12 0 14 -225280 -66577
0;
#X floatatom 436 232 5 0 10000 0 - - -;
#X msg 436 212 1;
#X msg 436 250 leakage \$1;
#X text 516 254 leakage [0 .. 1];
#X text 520 163 (C) 2005 \, m.noisternig & t.musil \, IEM \, Graz \,
Austria;
#X text 548 176 [noisternig \, musil]_AT_iem.at;
#X text 525 69 1.arg: <float> number of channels n;
#X text 525 82 2.arg: <float> number of order of FIR-filter;
#X text 525 96 3.arg: <float> learn-rate = beta;
#X text 318 250 kappa;
#X text 289 231 constraint;
#X text 526 121 5.arg: <float> constraint = kappa;
#X text 525 108 4.arg: <float> regularization parameter = gamma;
#X text 526 133 6.arg: <float> leakage;
#X text 526 146 7.arg: <symbol> table-name of W;
#X connect 1 0 90 0;
#X connect 2 0 90 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 4 1 6 0;
#X connect 8 0 71 0;
#X connect 8 0 72 0;
#X connect 8 0 73 0;
#X connect 8 0 90 0;
#X connect 9 0 10 0;
#X connect 10 0 59 0;
#X connect 12 0 90 0;
#X connect 16 0 17 0;
#X connect 18 0 19 0;
#X connect 21 0 44 0;
#X connect 32 0 31 1;
#X connect 34 0 31 0;
#X connect 41 0 42 0;
#X connect 42 0 7 0;
#X connect 48 0 55 0;
#X connect 49 0 58 0;
#X connect 55 0 2 0;
#X connect 58 0 12 0;
#X connect 59 0 1 0;
#X connect 63 0 64 0;
#X connect 65 0 66 0;
#X connect 68 0 69 0;
#X connect 69 0 90 0;
#X connect 70 0 68 0;
#X connect 71 0 90 3;
#X connect 72 0 90 1;
#X connect 73 0 90 2;
#X connect 90 0 16 0;
#X connect 90 1 18 0;
#X connect 90 2 63 0;
#X connect 90 3 65 0;
#X connect 90 4 41 0;
#X connect 93 0 95 0;
#X connect 94 0 93 0;
#X connect 95 0 90 0;
--- NEW FILE: NLMSCC~-help.pd ---
#N canvas 284 42 905 668 10;
#N canvas 0 0 450 300 graph1 0;
#X array W 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 34 496 graph;
#X msg 26 246 update \$1;
#X msg 103 256 beta \$1;
#X obj 273 25 tgl 15 0 empty empty empty 0 -6 0 8 -225280 -1 -1 0 1
;
#X obj 273 46 dsp;
#X floatatom 273 92 5 0 0 0 - - -;
#X floatatom 286 71 5 0 0 0 - - -;
#X obj 277 464 bng 15 150 20 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 423 290 2.arg: <float> learn-rate = beta;
#X obj 54 276 noise~;
#X obj 26 59 vradio 15 1 0 8 empty empty empty 0 -6 0 8 -225280 -1
-1 0;
#N canvas 165 115 464 314 /SUBPATCH/ 0;
#X obj 76 61 inlet;
#X msg 32 163 0;
#X msg 63 159 1;
#X msg 97 158 2;
#X msg 132 156 4;
#X msg 159 157 8;
#X msg 191 162 16;
#X msg 219 164 32;
#X msg 248 165 64;
#X obj 76 84 sel 0 1 2 3 4 5 6 7;
#X obj 32 217 outlet;
#X connect 0 0 9 0;
#X connect 1 0 10 0;
#X connect 2 0 10 0;
#X connect 3 0 10 0;
#X connect 4 0 10 0;
#X connect 5 0 10 0;
#X connect 6 0 10 0;
#X connect 7 0 10 0;
#X connect 8 0 10 0;
#X connect 9 0 1 0;
#X connect 9 1 2 0;
#X connect 9 2 3 0;
#X connect 9 3 4 0;
#X connect 9 4 5 0;
#X connect 9 5 6 0;
#X connect 9 6 7 0;
#X connect 9 7 8 0;
#X restore 26 206 pd;
#X text 35 38 internal downsampling of update;
#X msg 97 338 gamma \$1;
#N canvas 0 0 450 300 graph1 0;
#X array W_top 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 626 495 graph;
#N canvas 0 0 450 300 graph1 0;
#X array W_bottom 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 294 495 graph;
#X text 76 364 input signal;
#X text 191 363 desired signal;
#N canvas 0 0 450 300 graph1 0;
#X array IR 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 372 32 graph;
#X obj 55 441 unsig~;
#X floatatom 55 467 9 0 0 0 - - -;
#X obj 165 440 unsig~;
#X floatatom 165 466 9 0 0 0 - - -;
#X text 27 364 x(n);
#X text 282 363 d(n);
#X text 30 409 y(n) = W * x(n);
#X obj 277 292 FIR~ IR 32;
#X obj 589 135 loadbang;
#X text 473 280 (array-sizes have to be >= then FIR_size);
#X text 423 270 1.arg: <float> number of order of FIR-filter;
#X text 43 72 update every sample;
#X text 43 57 stop \, no update;
#X text 43 87 update every 2nd sample;
#X text 43 102 update every 4th sample;
#X text 43 117 update every 8th sample;
#X text 43 132 update every 16th sample;
#X text 43 147 update every 32nd sample;
#X text 43 162 update every 64th sample;
#N canvas 0 0 474 324 /SUBPATCH/ 0;
#X obj 48 46 inlet;
#X obj 205 47 inlet;
#X msg 205 71 \; IR const 0;
#X msg 48 120 \; IR 0 0 0 0 0.314287 0.8 0.75 0 0 0 0 -0.7 -0.65 0
0 0 0.157143 0.128572 0 0 -0.128572 -0.1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0;
#X obj 92 84 loadbang;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 4 0 3 0;
#X restore 590 110 pd;
#X obj 603 92 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 620 89 clear;
#X obj 590 73 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 607 70 load;
#X text 652 79 IR;
#X text 5 396 filtered output signal;
#X text 169 396 error signal;
#X text 143 408 e(n) = d(n) - W * x(n);
#X text 294 458 constrain;
#X text 294 468 coefficients;
#N canvas 0 0 825 416 /SUBPATCH/ 0;
#X obj 43 39 inlet;
#X obj 446 39 inlet;
#X obj 92 84 loadbang;
#X msg 54 114 \; W_top 0 1 0.928572 0.885714 0.857142 0.828571 0.799999
0.785713 0.757141 0.742855 0.72857 0.714284 0.699998 0.685712 0.671426
0.642854 0.628569 0.599997 0.571425 0.557139 0.528568 0.514282 0.499996
0.499996 0.48571 0.471424 0.457138 0.428567 0.414281 0.399995 0.385709
0.371423 0.357137 0.342851 0.328565 0.31428 0.31428 0.31428 0.31428
0.299994 0.299994;
#X msg 43 226 \; W_bottom 0 -1 -0.971428 -0.942857 -0.914286 -0.885714
-0.857143 -0.828572 -0.814286 -0.785715 -0.757143 -0.728572 -0.7 -0.671429
-0.657143 -0.642858 -0.614286 -0.585715 -0.571429 -0.557144 -0.528572
-0.514287 -0.500001 -0.485715 -0.471429 -0.457144 -0.442858 -0.428572
-0.428572 -0.400001 -0.400001 -0.385715 -0.371429 -0.371429 -0.357144
-0.357144 -0.342858 -0.328572 -0.314287 -0.285715 -0.285715;
#X msg 446 226 \; W_bottom 0 -1 -0.857143 -0.728572 -0.671429 -0.614286
-0.585715 -0.557143 -0.514286 -0.485715 -0.471429 -0.471429 -0.442858
-0.428572 -0.400001 -0.371429 -0.342858 -0.328572 -0.314286 -0.285715
-0.285715 -0.271429 -0.271429 -0.271429 -0.271429 -0.271429 -0.271429
-0.257144 -0.242858 -0.228572 -0.214286 -0.214286 -0.214286 -0.200001
-0.214287 -0.200001 -0.200001 -0.185715 -0.171429 -0.171429 -0.171429
;
#X msg 459 113 \; W_top 0 1 0.842856 0.785713 0.699998 0.642854 0.571425
0.514282 0.457138 0.442852 0.414281 0.385709 0.342851 0.285708 0.257136
0.214279 0.199993 0.171421 0.157135 0.142849 0.128564 0.142849 0.142849
0.142849 0.142849 0.142849 0.128564 0.128564 0.128564 0.128564 0.128564
0.128564 0.142849 0.142849 0.142849 0.142849 0.157135 0.157135 0.157135
0.142849 0.142849;
#X connect 0 0 4 0;
#X connect 0 0 3 0;
#X connect 1 0 6 0;
#X connect 1 0 5 0;
#X connect 2 0 3 0;
#X connect 2 0 4 0;
#X restore 506 576 pd;
#X obj 519 558 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 506 539 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 277 423 0;
#X obj 277 443 speedlim 100;
#X text 499 522 top & bottom;
#X text 523 536 nonconstrained;
#X text 536 555 constrained;
#X obj 84 413 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#X obj 237 412 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#N canvas 0 0 470 320 /SUBPATCH/ 0;
#X obj 137 73 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X msg 137 115 39;
#X msg 137 156 \$1 39;
#X msg 136 53 1;
#X obj 137 92 metro 200;
#X obj 136 24 inlet;
#X obj 137 135 tabread W;
#X obj 137 180 tabwrite W;
#X connect 0 0 4 0;
#X connect 1 0 6 0;
#X connect 2 0 7 0;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 2 0;
#X restore 589 156 pd;
#X text 614 162 update of W;
#X text 613 151 graphical;
#X text 423 310 4.arg: <symbol> table-name of W;
#X text 423 320 5.arg: <symbol> table-name of lower boundary of W;
#X text 423 330 6.arg: <symbol> table-name of upper boundary of W;
#X text 423 300 3.arg: <float> minimum input value gamma;
#X text 133 318 minimum input value;
#X msg 103 219 0.1;
#X msg 97 300 1e-05;
#X text 156 257 beta [0 .. 2];
#X text 153 337 gamma [0 .. 1];
#X obj 458 250 cnv 15 68 17 empty empty empty 20 12 0 14 -225280 -66577
0;
#N canvas 0 0 758 363 FORMULAS 0;
#X obj 168 54 cnv 15 150 40 empty empty empty 20 12 0 14 -225280 -66577
0;
#X obj 168 125 cnv 15 270 50 empty empty empty 20 12 0 14 -225280 -66577
0;
#X obj 168 207 cnv 15 510 90 empty empty empty 20 12 0 14 -225280 -66577
0;
#X text 281 131 beta;
#X text 232 148 >;
#X text 233 146 _;
#X text 233 140 _;
#X text 278 143 2;
#X text 341 143 2;
#X text 312 148 gamma * blocksize);
#X text 295 148 +;
#X text 244 148 x[n-i];
#X text 175 137 my(n) =;
#X text 224 132 _________________________________;
#X text 29 138 normalized learn rate:;
#X text 246 243 <;
#X text 250 237 |;
#X text 250 249 |;
#X text 250 230 |;
#X text 250 256 |;
#X text 250 270 |;
#X text 250 223 |;
#X text 254 206 _;
#X text 253 270 _;
#X text 271 211 W > W_top;
#X text 265 275 W < W_bottom;
#X text 260 246 &&(W <= W_top);
#X text 256 235 (W >= W_bottom);
#X text 175 243 W(k+1 \, i) =;
#X text 250 216 |;
#X text 250 263 |;
#X text 346 275 ...... W(k+1 \, i) = W_botton(i);
#X text 334 212 ........ W(k+1 \, i) = W_top(i);
#X text 174 56 y(n) = W * x(n);
#X obj 226 58 cnv 11 1 1 empty empty * 0 9 0 14 -225280 -1 0;
#X text 174 74 e(n) = d(n) - W * x(n);
#X obj 268 76 cnv 11 1 1 empty empty * 0 9 0 14 -225280 -1 0;
#X text 120 75 error:;
#X text 117 57 output:;
#X text 27 242 coefficient iteration:;
#X text 358 243 .... W(k+1 \, i) = W(k \, i) + my(n)* e(n)* x(n);
#X restore 457 249 pd FORMULAS;
#X obj 54 380 NLMSCC~ 32 0.1 1e-05 W W_bottom W_top;
#X obj 103 239 cnv 14 31 14 empty empty empty 20 12 0 14 -225280 -66577
0;
#X floatatom 103 239 5 0 2 0 - - -;
#X text 139 238 learn-rate;
#X obj 97 320 cnv 14 31 14 empty empty empty 20 12 0 14 -225280 -66577
0;
#X floatatom 97 320 5 0 2 0 - - -;
#X floatatom 26 227 5 0 0 0 - - -;
#X text 426 221 Normalized Least Mean Square (linear adaptive FIR-filter)
;
#X text 455 232 with Coefficient Constraint;
#X text 422 350 (C) 2005 \, m.noisternig & t.musil \, IEM \, Graz \,
Austria;
#X text 450 363 [noisternig \, musil]_AT_iem.at;
#X connect 1 0 73 0;
#X connect 2 0 73 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 4 1 6 0;
#X connect 9 0 26 0;
#X connect 9 0 73 0;
#X connect 10 0 11 0;
#X connect 11 0 79 0;
#X connect 13 0 73 0;
#X connect 19 0 20 0;
#X connect 21 0 22 0;
#X connect 26 0 73 1;
#X connect 27 0 59 0;
#X connect 39 0 38 1;
#X connect 41 0 38 0;
#X connect 50 0 49 1;
#X connect 51 0 49 0;
#X connect 52 0 53 0;
#X connect 53 0 7 0;
#X connect 67 0 75 0;
#X connect 68 0 78 0;
#X connect 73 0 19 0;
#X connect 73 1 21 0;
#X connect 73 2 52 0;
#X connect 75 0 2 0;
#X connect 78 0 13 0;
#X connect 79 0 1 0;
--- NEW FILE: .DS_Store ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: n_CNLMS~-help.pd ---
#N canvas 170 22 1021 882 10;
#N canvas 0 0 450 300 graph1 0;
#X array 1_W 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 64 519 graph;
#X msg 40 247 update \$1;
#X msg 117 257 beta \$1;
#X obj 456 26 tgl 15 0 empty empty empty 0 -6 0 8 -225280 -1 -1 0 1
;
#X obj 456 47 dsp;
#X floatatom 456 93 5 0 0 0 - - -;
#X floatatom 469 72 5 0 0 0 - - -;
#X obj 452 463 bng 15 150 20 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 68 277 noise~;
#X obj 40 60 vradio 15 1 0 8 empty empty empty 0 -6 0 8 -225280 -1
-1 0;
#N canvas 165 115 464 314 /SUBPATCH/ 0;
#X obj 76 61 inlet;
#X msg 32 163 0;
#X msg 63 159 1;
#X msg 97 158 2;
#X msg 132 156 4;
#X msg 159 157 8;
#X msg 191 162 16;
#X msg 219 164 32;
#X msg 248 165 64;
#X obj 76 84 sel 0 1 2 3 4 5 6 7;
#X obj 32 217 outlet;
#X connect 0 0 9 0;
#X connect 1 0 10 0;
#X connect 2 0 10 0;
#X connect 3 0 10 0;
#X connect 4 0 10 0;
#X connect 5 0 10 0;
#X connect 6 0 10 0;
#X connect 7 0 10 0;
#X connect 8 0 10 0;
#X connect 9 0 1 0;
#X connect 9 1 2 0;
#X connect 9 2 3 0;
#X connect 9 3 4 0;
#X connect 9 4 5 0;
#X connect 9 5 6 0;
#X connect 9 6 7 0;
#X connect 9 7 8 0;
#X restore 40 207 pd;
#X text 22 41 internal downsampling of update;
#X msg 75 339 gamma \$1;
#X text 90 365 input signal;
#X text 335 364 desired signal;
#N canvas 0 0 450 300 graph1 0;
#X array IR 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 240 25 graph;
#X obj 69 462 unsig~;
#X floatatom 69 488 9 0 0 0 - - -;
#X obj 155 462 unsig~;
#X floatatom 155 488 9 0 0 0 - - -;
#X text 426 364 d(n);
#X obj 516 270 loadbang;
#X text 704 47 (array-sizes have to be >= then FIR_size);
#X text 654 37 1.arg: <float> number of order of FIR-filter;
#X text 57 73 update every sample;
#X text 57 58 stop \, no update;
#X text 57 88 update every 2nd sample;
#X text 57 103 update every 4th sample;
#X text 57 118 update every 8th sample;
#X text 57 133 update every 16th sample;
#X text 57 148 update every 32nd sample;
#X text 57 163 update every 64th sample;
#N canvas 0 0 486 336 /SUBPATCH/ 0;
#X obj 48 46 inlet;
#X obj 205 47 inlet;
#X msg 205 71 \; IR const 0;
#X obj 92 84 loadbang;
#X msg 48 120 \; IR 0 0 0 0 0 0 0.314287 0.8 0.75 0 0 0 0 -0.7 -0.65
0 0 0 0.157143 0.128572 0 0 -0.128572 -0.1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 3 0 4 0;
#X restore 517 245 pd;
#X obj 530 227 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 547 224 clear;
#X obj 517 208 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 534 205 load;
#X text 579 214 IR;
#X text 19 397 filtered output signal;
#X text 339 396 error signal;
#X text 469 457 constrain;
#X text 469 467 coefficients;
#X msg 452 422 0;
#X obj 452 442 speedlim 100;
#X obj 110 414 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#N canvas 0 0 482 332 /SUBPATCH/ 0;
#X obj 137 73 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X msg 137 115 39;
#X msg 92 190 \$1 39;
#X msg 136 53 1;
#X obj 137 92 metro 200;
#X obj 136 24 inlet;
#X obj 92 169 tabread 1_W;
#X obj 92 214 tabwrite 1_W;
#X msg 177 192 \$1 39;
#X msg 260 191 \$1 39;
#X obj 260 170 tabread 3_W;
#X obj 260 215 tabwrite 3_W;
#X obj 177 171 tabread 2_W;
#X obj 177 216 tabwrite 2_W;
#X connect 0 0 4 0;
#X connect 1 0 6 0;
#X connect 1 0 12 0;
#X connect 1 0 10 0;
#X connect 2 0 7 0;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 2 0;
#X connect 8 0 13 0;
#X connect 9 0 11 0;
#X connect 10 0 9 0;
#X connect 12 0 8 0;
#X restore 516 291 pd;
#X text 541 297 update of W;
#X text 540 286 graphical;
#X text 111 319 minimum input value;
#X msg 117 220 0.1;
#X msg 75 301 1e-05;
#X text 170 258 beta [0 .. 2];
#X text 131 338 gamma [0 .. 1];
#X obj 574 38 cnv 15 68 17 empty empty empty 20 12 0 14 -225280 -66577
0;
#N canvas 0 0 568 372 FORMULAS 0;
#X obj 167 52 cnv 15 150 40 empty empty empty 20 12 0 14 -225280 -66577
0;
#X obj 167 123 cnv 15 270 50 empty empty empty 20 12 0 14 -225280 -66577
0;
#X obj 167 205 cnv 15 260 30 empty empty empty 20 12 0 14 -225280 -66577
0;
#X text 280 129 beta;
#X text 231 146 >;
#X text 232 144 _;
#X text 232 138 _;
#X text 277 141 2;
#X text 340 141 2;
#X text 311 146 gamma * blocksize);
#X text 294 146 +;
#X text 243 146 x[n-i];
#X text 174 135 my(n) =;
#X text 223 130 _________________________________;
#X text 6 135 normalized learn rate:;
#X text 173 54 y(n) = W * x(n);
#X obj 225 56 cnv 11 1 1 empty empty * 0 9 0 14 -225280 -1 0;
#X text 173 72 e(n) = d(n) - W * x(n);
#X obj 267 74 cnv 11 1 1 empty empty * 0 9 0 14 -225280 -1 0;
#X text 119 73 error:;
#X text 116 55 output:;
#X text 7 212 coefficient iteration:;
#X text 176 213 W(k+1 \, i) = W(k \, i) + my(n)* e(n)* x(n);
#X restore 573 39 pd FORMULAS;
#X obj 117 240 cnv 14 31 14 empty empty empty 20 12 0 14 -225280 -66577
0;
#X floatatom 117 240 5 0 2 0 - - -;
#X text 153 239 learn-rate;
#X obj 75 321 cnv 14 31 14 empty empty empty 20 12 0 14 -225280 -66577
0;
#X floatatom 75 321 5 0 1 0 - - -;
#X floatatom 40 228 5 0 0 0 - - -;
#X text 572 14 Normalized Least Mean Square (linear adaptive FIR-filter)
;
#N canvas 0 0 450 300 graph1 0;
#X array 2_W 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 314 519 graph;
#N canvas 0 0 450 300 graph1 0;
#X array 3_W 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 564 519 graph;
#X obj 68 382 n_CNLMS~ 3 32 0.1 1e-05 1 W _______________________________
;
#X obj 244 463 unsig~;
#X floatatom 244 489 9 0 0 0 - - -;
#X obj 334 461 unsig~;
#X floatatom 334 487 9 0 0 0 - - -;
#X text 304 233 minimum input value;
#X obj 268 235 cnv 14 31 14 empty empty empty 20 12 0 14 -225280 -66577
0;
#X floatatom 268 235 5 0 10000 0 - - -;
#X msg 268 253 kappa \$1;
#X text 324 252 kappa [0 .. 1];
#X msg 268 215 1;
#X obj 423 293 FIR~ IR 32;
#X obj 186 293 z~ 2;
#X obj 304 293 z~ 4;
#X text 41 365 x1(n);
#X text 272 365 x3(n);
#X text 191 364 x2(n);
#X text 39 410 y1(n) = 1_W * x1(n);
#X obj 196 429 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#X obj 286 403 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#X text 125 425 y2(n) = 2_W * x2(n);
#X text 215 399 y3(n) = 3_W * x3(n);
#X obj 375 425 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#X text 341 421 - 1_W * x1(n);
#X text 312 410 e(n) = d(n);
#X obj 375 435 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#X text 341 431 - 2_W * x2(n);
#X obj 375 445 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#X text 341 441 - 3_W * x3(n);
#X text 572 3 Multi Channel Constraint;
#X msg 463 139 \; 1_W const 0 \; 2_W const 0 \; 3_W const 0;
#X text 462 117 RESET TABLES;
#X text 654 150 (C) 2005 \, m.noisternig & t.musil \, IEM \, Graz \,
Austria;
#X text 682 163 [noisternig \, musil]_AT_iem.at;
#X text 655 64 2.arg: <float> number of order of FIR-filter;
#X text 655 78 3.arg: <float> learn-rate = beta;
#X text 656 103 5.arg: <float> constraint = kappa;
#X text 655 90 4.arg: <float> regularization parameter = gamma;
#X text 656 118 6.arg: <symbol> table-name of W;
#X connect 1 0 64 0;
#X connect 2 0 64 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 4 1 6 0;
#X connect 8 0 75 0;
#X connect 8 0 64 0;
#X connect 8 0 76 0;
#X connect 8 0 77 0;
#X connect 9 0 10 0;
#X connect 10 0 60 0;
#X connect 12 0 64 0;
#X connect 16 0 17 0;
#X connect 18 0 19 0;
#X connect 21 0 45 0;
#X connect 33 0 32 1;
#X connect 35 0 32 0;
#X connect 42 0 43 0;
#X connect 43 0 7 0;
#X connect 49 0 56 0;
#X connect 50 0 59 0;
#X connect 56 0 2 0;
#X connect 59 0 12 0;
#X connect 60 0 1 0;
#X connect 64 0 16 0;
#X connect 64 1 18 0;
#X connect 64 2 65 0;
#X connect 64 3 67 0;
#X connect 64 4 42 0;
#X connect 65 0 66 0;
#X connect 67 0 68 0;
#X connect 71 0 72 0;
#X connect 72 0 64 0;
#X connect 74 0 71 0;
#X connect 75 0 64 3;
#X connect 76 0 64 1;
#X connect 77 0 64 2;
--- NEW FILE: NLMS~-help.pd ---
#N canvas 23 7 909 523 10;
#N canvas 0 0 450 300 graph1 0;
#X array W 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 454 335 graph;
#X msg 25 245 update \$1;
#X msg 102 255 beta \$1;
#X obj 272 24 tgl 15 0 empty empty empty 0 -6 0 8 -225280 -1 -1 0 1
;
#X obj 272 45 dsp;
#X floatatom 272 91 5 0 0 0 - - -;
#X floatatom 285 70 5 0 0 0 - - -;
#X obj 276 463 bng 15 150 20 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 453 230 2.arg: <float> learn-rate = beta;
#X obj 53 275 noise~;
#X obj 25 58 vradio 15 1 0 8 empty empty empty 0 -6 0 8 -225280 -1
-1 0;
#N canvas 165 115 464 314 /SUBPATCH/ 0;
#X obj 76 61 inlet;
#X msg 32 163 0;
#X msg 63 159 1;
#X msg 97 158 2;
#X msg 132 156 4;
#X msg 159 157 8;
#X msg 191 162 16;
#X msg 219 164 32;
#X msg 248 165 64;
#X obj 76 84 sel 0 1 2 3 4 5 6 7;
#X obj 32 217 outlet;
#X connect 0 0 9 0;
#X connect 1 0 10 0;
#X connect 2 0 10 0;
#X connect 3 0 10 0;
#X connect 4 0 10 0;
#X connect 5 0 10 0;
#X connect 6 0 10 0;
#X connect 7 0 10 0;
#X connect 8 0 10 0;
#X connect 9 0 1 0;
#X connect 9 1 2 0;
#X connect 9 2 3 0;
#X connect 9 3 4 0;
#X connect 9 4 5 0;
#X connect 9 5 6 0;
#X connect 9 6 7 0;
#X connect 9 7 8 0;
#X restore 25 205 pd;
#X text 34 37 internal downsampling of update;
#X msg 96 337 gamma \$1;
#X text 75 363 input signal;
#X text 190 362 desired signal;
#N canvas 0 0 450 300 graph1 0;
#X array IR 40 float 0;
#X coords 0 1 39 -1 200 140 1;
#X restore 367 11 graph;
#X obj 54 440 unsig~;
#X floatatom 54 466 9 0 0 0 - - -;
#X obj 174 439 unsig~;
#X floatatom 174 465 9 0 0 0 - - -;
#X text 26 363 x(n);
#X text 281 362 d(n);
#X text 29 408 y(n) = W * x(n);
#X obj 276 291 FIR~ IR 32;
#X obj 618 73 loadbang;
#X text 503 220 (array-sizes have to be >= then FIR_size);
#X text 453 210 1.arg: <float> number of order of FIR-filter;
#X text 42 71 update every sample;
#X text 42 56 stop \, no update;
#X text 42 86 update every 2nd sample;
#X text 42 101 update every 4th sample;
#X text 42 116 update every 8th sample;
#X text 42 131 update every 16th sample;
#X text 42 146 update every 32nd sample;
#X text 42 161 update every 64th sample;
#N canvas 0 0 474 324 /SUBPATCH/ 0;
#X obj 48 46 inlet;
#X obj 205 47 inlet;
#X msg 205 71 \; IR const 0;
#X msg 48 120 \; IR 0 0 0 0 0.314287 0.8 0.75 0 0 0 0 -0.7 -0.65 0
0 0 0.157143 0.128572 0 0 -0.128572 -0.1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0;
#X obj 92 84 loadbang;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 4 0 3 0;
#X restore 619 48 pd;
#X obj 632 30 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 649 27 clear;
#X obj 619 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 636 8 load;
#X text 644 50 IR;
#X text 4 395 filtered output signal;
#X text 178 395 error signal;
#X text 152 407 e(n) = d(n) - W * x(n);
#X text 293 457 constrain;
#X text 293 467 coefficients;
#X msg 276 422 0;
#X obj 276 442 speedlim 100;
#X obj 83 412 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#X obj 247 411 cnv 8 1 1 empty empty * 0 7 0 14 -262144 -1 0;
#N canvas 0 0 470 320 /SUBPATCH/ 0;
#X obj 137 73 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X msg 137 115 39;
#X msg 137 156 \$1 39;
#X msg 136 53 1;
#X obj 137 92 metro 200;
#X obj 136 24 inlet;
#X obj 137 135 tabread W;
#X obj 137 180 tabwrite W;
#X connect 0 0 4 0;
#X connect 1 0 6 0;
#X connect 2 0 7 0;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 2 0;
#X restore 618 94 pd;
#X text 643 100 update of W;
#X text 642 89 graphical;
#X text 453 250 4.arg: <symbol> table-name of W;
#X text 453 240 3.arg: <float> minimum input value gamma;
#X text 132 317 minimum input value;
#X msg 102 218 0.1;
#X msg 96 299 1e-05;
#X text 155 256 beta [0 .. 2];
#X text 152 336 gamma [0 .. 1];
#X obj 455 187 cnv 15 68 17 empty empty empty 20 12 0 14 -225280 -66577
0;
#N canvas 0 0 499 295 FORMULAS 0;
#X obj 167 52 cnv 15 150 40 empty empty empty 20 12 0 14 -225280 -66577
0;
#X obj 167 123 cnv 15 270 50 empty empty empty 20 12 0 14 -225280 -66577
0;
#X obj 167 205 cnv 15 260 30 empty empty empty 20 12 0 14 -225280 -66577
0;
#X text 280 129 beta;
#X text 231 146 >;
#X text 232 144 _;
#X text 232 138 _;
#X text 277 141 2;
#X text 340 141 2;
#X text 311 146 gamma * blocksize);
#X text 294 146 +;
#X text 243 146 x[n-i];
#X text 174 135 my(n) =;
#X text 223 130 _________________________________;
#X text 28 136 normalized learn rate:;
#X text 173 54 y(n) = W * x(n);
#X obj 225 56 cnv 11 1 1 empty empty * 0 9 0 14 -225280 -1 0;
#X text 173 72 e(n) = d(n) - W * x(n);
#X obj 267 74 cnv 11 1 1 empty empty * 0 9 0 14 -225280 -1 0;
#X text 119 73 error:;
#X text 116 55 output:;
#X text 26 210 coefficient iteration:;
#X text 176 213 W(k+1 \, i) = W(k \, i) + my(n)* e(n)* x(n);
#X restore 455 187 pd FORMULAS;
#X obj 102 238 cnv 14 31 14 empty empty empty 20 12 0 14 -225280 -66577
0;
#X floatatom 102 238 5 0 2 0 - - -;
#X text 138 237 learn-rate;
#X obj 96 319 cnv 14 31 14 empty empty empty 20 12 0 14 -225280 -66577
0;
#X floatatom 96 319 5 0 2 0 - - -;
#X floatatom 25 226 5 0 0 0 - - -;
#X text 455 169 Normalized Least Mean Square (linear adaptive FIR-filter)
;
#X obj 53 379 NLMS~ 32 0.1 1e-05 W;
#X text 451 268 (C) 2005 \, m.noisternig & t.musil \, IEM \, Graz \,
Austria;
#X text 479 281 [noisternig \, musil]_AT_iem.at;
#X connect 1 0 70 0;
#X connect 2 0 70 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 4 1 6 0;
#X connect 9 0 24 0;
#X connect 9 0 70 0;
#X connect 10 0 11 0;
#X connect 11 0 68 0;
#X connect 13 0 70 0;
#X connect 17 0 18 0;
#X connect 19 0 20 0;
#X connect 24 0 70 1;
#X connect 25 0 51 0;
#X connect 37 0 36 1;
#X connect 39 0 36 0;
#X connect 47 0 48 0;
#X connect 48 0 7 0;
#X connect 57 0 64 0;
#X connect 58 0 67 0;
#X connect 64 0 2 0;
#X connect 67 0 13 0;
#X connect 68 0 1 0;
#X connect 70 0 17 0;
#X connect 70 1 19 0;