#include #include //#include #include //#include #include "mw2.h" #include "mw_extcol.h" #define X0 (80+900+80) #define X1 (80) #define X2 (80+900) #define Y0 (30+800+30) #define Y1 (30) #define Y2 (30+800) #define P0 (40) #define P1 (140) int main(int argc,char **argv) { static unsigned char buf1[17]; static unsigned char buf2[3600]; static char s[256]; int i; static int c[4]; int x; int y; sprintf(mw.wn,"Spectrogram");mw.n=0;mw.rev=0;mw.init=NULL; mw.xw=X0;mw.yw=Y0; MW_Open("",mw_extcol); MW_Color(C_BLACK); MW_Rect(X1-1,Y1-1,X2+1,Y2+1); MW_Line(X1+450,Y1-1,X1+450,Y2+1); y=0; while (MW_Event()) { fread(buf1,sizeof(buf1),1,stdin);if (feof(stdin)) break; fread(buf2,sizeof(buf2),1,stdin); sprintf(s,"%s",buf1); MW_String(X1,Y1-4,1,s,1); for (x=0;x<450;x++) { for (i=0;i<4;i++) { c[i]=buf2[x*8+i*2]+256*(int)buf2[x*8+i*2+1]; } if (c[0]127) c[0]=127; if (c[1]>127) c[1]=127; MW_Color(c[0]);MW_Line(X1+x ,Y1+y,X1+x ,Y1+y); MW_Color(c[1]);MW_Line(X1+x+451,Y1+y,X1+x+451,Y1+y); } y++; if (y==800) y=0; MW_Color(C_BLACK);MW_Line(X1,Y1+y,X2,Y1+y); } exit(0); } // 125MSPS 4096pts BW=30.518kHz // step- 452(13.794MHz) // step-1351(41.229MHz) // 3600 byte = 900 x 2