#N canvas 375 33 610 515 10;
#X obj 169 180 line~;
#X obj 22 201 cos~;
#X obj 169 156 pack 0 50;
#X floatatom 169 55 0 0 100 0 - - -;
#X obj 23 128 -~ 0.5;
#X obj 23 154 *~;
#X obj 169 81 / 10;
#X obj 169 105 moses 0;
#X msg 169 129 0;
#X obj 22 177 clip~ -0.5 0.5;
#X text 164 37 bandwidth;
#X obj 169 205 +~ 1;
#X obj 22 225 +~ 1;
#X text 19 357 Here is a measured amplitude spectrum for the pulse
train. Nutice that \, other than a smallish spillover \, the energy
sits in one "lobe" whose changing width justifies our calling the squeeze
factor the "bandwidth.";
#X text 18 410 The spectrum is in units of amplitude. THe sidelobes
\, although they look small \, are actually only about 34 dB down.
You can design more complicated pulse trains \, little Blackman window
functions \, which control the sidelobes much better.;
#X obj 22 307 output~;
#X obj 21 276 hip~;
#N canvas 122 211 558 609 fft 0;
#X obj 19 61 inlet~;
#X obj 208 212 inlet;
#X obj 29 92 rfft~;
#X obj 29 125 *~;
#X obj 60 125 *~;
#X obj 29 155 sqrt~;
#X obj 332 109 block~ 4096 1;
#X obj 29 181 biquad~ 0 0 0 0 1;
#X text 93 93 Fourier series;
#X text 98 146 magnitude;
#X text 96 131 calculate;
#X text 21 3 This subpatch computes the spectrum of the incoming signal
with a (rectangular windowed) FFT. FFTs aren't properly introduced
until much later.;
#X text 83 61 signal to analyze;
#X text 193 164 delay two samples;
#X text 191 182 for better graphing;
#X obj 264 434 samplerate~;
#X obj 264 457 / 256;
#X obj 238 261 metro 500;
#X obj 238 238 inlet;
#X text 291 236 toggle to graph repeatedly;
#X text 262 212 bang to graph once;
#X obj 29 205 /~ 4096;
#X obj 19 295 tabwrite~ F03-signal;
#X obj 235 299 tabwrite~ F03-spectrum;
#X obj 264 409 bang~;
#X msg 209 322 \; pd dsp 1;
#X obj 264 482 s freq;
#X connect 0 0 2 0;
#X connect 0 0 22 0;
#X connect 1 0 22 0;
#X connect 1 0 23 0;
#X connect 1 0 25 0;
#X connect 2 0 3 0;
#X connect 2 0 3 1;
#X connect 2 1 4 0;
#X connect 2 1 4 1;
#X connect 3 0 5 0;
#X connect 4 0 5 0;
#X connect 5 0 7 0;
#X connect 7 0 21 0;
#X connect 15 0 16 0;
#X connect 16 0 26 0;
#X connect 17 0 22 0;
#X connect 17 0 23 0;
#X connect 18 0 17 0;
#X connect 18 0 25 0;
#X connect 21 0 23 0;
#X connect 24 0 15 0;
#X restore 75 278 pd fft;
#X obj 135 257 bng 18 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 135 278 tgl 18 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X text 156 277 <-- repeatedly;
#X text 157 257 <-- graph once;
#X obj 22 249 *~ 0.5;
#X obj 23 104 phasor~;
#N canvas 0 0 450 300 (subpatch) 0;
#X array F03-signal 882 float 0;
#X coords 0 1.02 882 -1.02 200 130 1;
#X restore 390 251 graph;
#N canvas 0 0 450 300 (subpatch) 0;
#X array F03-spectrum 259 float 0;
#X coords 0 0.51 258 -0.008 256 130 1;
#X restore 279 56 graph;
#X text 418 384 ---- 0.02 seconds ----;
#X text 308 187 2;
#X text 339 187 4;
#X text 278 187 0;
#X text 342 202 -- partial number --;
#X text 371 187 6;
#X text 404 187 8;
#X text 432 187 10;
#X text 464 187 12;
#X text 496 187 14;
#X obj 23 77 r freq;
#X obj 1 1 cnv 15 445 20 empty \$0-pddp.cnv.header pulse_spectrum_measurement
20 10 1 18 -261139 -33289 0;
#X obj 407 2 pddp/pddplink http://puredata.info/dev/pddp -text pddp
;
#X obj 1 487 cnv 15 445 20 empty \$0-pddp.cnv.footer empty 20 12 0
14 -233017 -33289 0;
#N canvas 44 246 494 284 META 0;
#X text 12 125 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 105 AUTHOR Miller Puckette;
#X text 12 85 LIBRARY PDDP;
#X text 12 5 GENRE tutorial;
#X text 12 45 LICENSE SIBSD;
#X text 12 145 HELP_PATCH_AUTHORS Updated for release 0.37. Jonathan
Wilkes revised the patch to conform to the PDDP template for Pd version
0.42.;
#X text 12 25 KEYWORDS signal;
#X text 12 65 DESCRIPTION pulse spectrum measurement;
#X restore 392 489 pd META;
#N canvas 13 202 428 190 References 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -261139 -33289 0;
#X text 7 2 pulse spectrum- Related Help Documents;
#X text 19 37 links:;
#X restore 103 489 pd References;
#X obj 6 489 pddp/pddplink ../5.reference/pddp/help.pd -text help;
#X connect 0 0 11 0;
#X connect 1 0 12 0;
#X connect 2 0 0 0;
#X connect 3 0 6 0;
#X connect 4 0 5 0;
#X connect 5 0 9 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 7 1 2 0;
#X connect 8 0 2 0;
#X connect 9 0 1 0;
#X connect 11 0 5 1;
#X connect 12 0 22 0;
#X connect 16 0 15 0;
#X connect 16 0 15 1;
#X connect 18 0 17 1;
#X connect 19 0 17 2;
#X connect 22 0 16 0;
#X connect 22 0 17 0;
#X connect 23 0 4 0;
#X connect 36 0 23 0;
