chiark / gitweb /
display nmra waveforms
authorian <ian>
Thu, 29 Dec 2005 20:46:46 +0000 (20:46 +0000)
committerian <ian>
Thu, 29 Dec 2005 20:46:46 +0000 (20:46 +0000)
detpic/display-nmra [new file with mode: 0755]

diff --git a/detpic/display-nmra b/detpic/display-nmra
new file mode 100755 (executable)
index 0000000..af2f134
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/sh
+set -ex
+
+xpixels=1024
+ypixels=768
+ypersamp=8
+rate=96000
+fsd=0.3
+
+test -f t.nmra$rate.dat || \
+sox -r $rate -u -b -t ossdsp /dev/dsp t.nmra$rate.dat trim 0 0:1
+
+perl -e <t.nmra$rate.dat '
+       for (;;) {
+               @l= ();
+               for ($x=0; $x<'$xpixels'; $x++) {
+                       $_= <>;
+                       last unless length;
+                       next if m/^\;/;
+                       m/^\s*[-e0-9.]+\s+([-0-9.]+)\s*$/ or die;
+                       $h= sprintf "%d",
+                               ($1/(2.0*'$fsd') + 0.5) * ('$ypersamp'-1);
+                       for ($y=0, $l=0; $y<'$ypersamp'; $y+=2, $l++) {
+                               $c= $h==$y ? "_" : $h==$y+1 ? "~" : " ";
+                               $l[$l] .= $c;
+                       }
+               }
+               foreach $l (reverse @l) {
+                       print $l, "\n" or die $!;
+               }
+               print "\n"x('$ypersamp'+1) or die $!;
+               last unless length;
+       }
+' >t.nmra$rate.ptxt
+
+xterm -fn nil2 \
+       -geometry ${xpixels}x$(($ypixels * ($ypsersamp+1)/2)) \
+       -e less -sS t.nmra$rate.ptxt
+
+exit 0
+               for ($l=0; $l<@l; $l++) {
+                       print $l[$l], "\n";
+
+
+sox -r 96000 -u -b -t ossdsp /dev/dsp t.dat trim 0 0:10
+exit 0
+perl -pe '$_= m/\-/ ? "_" : "~"' <t.dat | fold -1024
+
+
+| perl -pe 's/$/\n\n\n/' >u