#N canvas 580 65 668 554 12;
#X declare -stdpath ./;
#X floatatom 129 87 5 0 0 0 - - - 0;
#N canvas 0 0 450 300 (subpatch) 0;
#X array \$0-difference 882 float 0;
#X coords 0 1.02 882 -1.02 200 130 1;
#X restore 430 378 graph;
#X text 51 87 frequency;
#N canvas 0 0 450 300 (subpatch) 0;
#X array \$0-phasor1 882 float 0;
#X coords 0 1.02 882 -1.02 200 130 1;
#X restore 429 59 graph;
#X text 36 27 CLASSICAL PULSE WIDTH MODULATION;
#X obj 129 117 + 0.2;
#X obj 111 200 -~;
#N canvas 0 0 450 300 (subpatch) 0;
#X array \$0-phasor2 882 float 0;
#X coords 0 1.02 882 -1.02 200 130 1;
#X restore 430 218 graph;
#X text 43 350 This patch demonstrates pulse width modulation \, which is accomplished simply by subtracting two sawtooth waves at a varying phase difference. Here their frequencies are set to differ by 1/5 Hz. so that the relative phase wanders continuously., f 47;
#X text 450 519 ---- 0.02 seconds ----;
#X text 49 474 updated for Pd version 0.39;
#X obj 53 257 output~;
#X obj 220 214 tabwrite~ \$0-phasor1;
#X obj 208 248 tabwrite~ \$0-phasor2;
#X obj 194 280 tabwrite~ \$0-difference;
#X obj 55 141 phasor~;
#X obj 208 147 metro 193;
#X obj 208 120 tgl 19 0 empty empty empty 0 -6 0 8 #dfdfdf #000000 #000000 0 1;
#X text 232 120 <= start/stop graphing;
#X obj 506 9 declare -stdpath ./;
#X obj 129 141 phasor~;
#X connect 0 0 5 0;
#X connect 0 0 15 0;
#X connect 5 0 20 0;
#X connect 6 0 11 0;
#X connect 6 0 11 1;
#X connect 6 0 14 0;
#X connect 15 0 6 0;
#X connect 15 0 12 0;
#X connect 16 0 12 0;
#X connect 16 0 13 0;
#X connect 16 0 14 0;
#X connect 17 0 16 0;
#X connect 20 0 6 1;
#X connect 20 0 13 0;
