From e2a9cdb42869b4dbf798569fa5c654d59ad789eb Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 28 Aug 2012 18:26:21 +0000 Subject: [PATCH] Add msgs.txt for program mapsim. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/map65@2535 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- libm65/mapsim.f90 | 58 ++++++++++++++++++++++++++++----------------- libm65/msgs.txt | 60 +++++++++++++++++++++++++++++++++++++++++++++++ mainwindow.cpp | 2 +- 3 files changed, 97 insertions(+), 23 deletions(-) create mode 100644 libm65/msgs.txt diff --git a/libm65/mapsim.f90 b/libm65/mapsim.f90 index c9fad428a..0ef239484 100644 --- a/libm65/mapsim.f90 +++ b/libm65/mapsim.f90 @@ -1,13 +1,15 @@ program mapsim +! Generate simulated data for testing of MAP65 + parameter (NMAX=96000*60) - integer*2 id2(2,NMAX) - integer*2 id4(4,NMAX) - real*4 d4(4,NMAX) - complex cwave(NMAX) + real*4 d4(4,NMAX) !Floating-point data + integer*2 id4(4,NMAX) !i*2 data, dual polarization + integer*2 id2(2,NMAX) !i*2 data, single polarization + complex cwave(NMAX) !Generated complex waveform (no noise) complex z,zx,zy real*8 fcenter,fsample,samfac,f,dt,twopi,phi,dphi - character message*22,msgsent*22,arg*8,fname*14,mode*2 + character msg0*22,message*22,msgsent*22,arg*8,fname*14,mode*2 nargs=iargc() if(nargs.ne.9) then @@ -15,34 +17,37 @@ program mapsim print*,'Example: 25 "CQ K1ABC FN42" B -22 33 20 45 -20 1' go to 999 endif + call getarg(1,arg) - read(arg,*) rmsdb + read(arg,*) rmsdb !Average noise level in dB rms=10.0**(0.05*rmsdb) - call getarg(2,message) - call getarg(3,mode) + call getarg(2,msg0) + message=msg0 !Transmitted message + call getarg(3,mode) !JT65 sub-mode (A B C B2 C2) call getarg(4,arg) - read(arg,*) f1 + read(arg,*) f1 !Lowest freq (kHz, relative to fcenter) call getarg(5,arg) - read(arg,*) f2 + read(arg,*) f2 !Highest freq call getarg(6,arg) - read(arg,*) nsigs + read(arg,*) nsigs !Number of signals in each file call getarg(7,arg) - read(arg,*) npol + read(arg,*) npol !Polarization in degrees call getarg(8,arg) - read(arg,*) snrdb + read(arg,*) snrdb !S/N pol=npol call getarg(9,arg) - read(arg,*) nfiles + read(arg,*) nfiles !Number of files - fcenter=144.125d0 - fsample=96000.d0 - dt=1.d0/fsample + fcenter=144.125d0 !Center frequency (MHz) + fsample=96000.d0 !Sample rate (Hz) + dt=1.d0/fsample !Sample interval (s) twopi=8.d0*atan(1.d0) rad=360.0/twopi samfac=1.d0 mode65=1 if(mode(1:1).eq.'B') mode65=2 if(mode(1:1).eq.'C') mode65=4 + open(12,file='msgs.txt',status='old') write(*,1000) 1000 format(' N freq S/N pol Message'/ & @@ -51,19 +56,29 @@ program mapsim do ifile=1,nfiles nmin=ifile-1 if(mode(2:2).eq.' ') nmin=2*nmin - write(fname,1002) nmin + write(fname,1002) nmin !Create the output filenames 1002 format('000000_',i4.4,'00') open(10,file=fname//'.iq',access='stream',status='unknown') open(11,file=fname//'.tf2',access='stream',status='unknown') - call noisegen(d4,NMAX) - call cgen65(message,mode65,samfac,nsendingsh,msgsent,cwave,nwave) + call noisegen(d4,NMAX) !Generate Gaussuian noise + if(msg0.ne.' ') then + call cgen65(message,mode65,samfac,nsendingsh,msgsent,cwave,nwave) + endif + + rewind 12 do isig=1,nsigs + + if(msg0.eq.' ') then + read(12,1004) message +1004 format(a22) + call cgen65(message,mode65,samfac,nsendingsh,msgsent,cwave,nwave) + endif + if(npol.lt.0) pol=(isig-1)*180.0/nsigs a=cos(pol/rad) b=sin(pol/rad) -! f=-23000 + 3000*(isig-1) f=1000.0*(f1 + (isig-1)*(f2-f1)/(nsigs-1.0)) dphi=twopi*f*dt + 0.5*twopi @@ -75,7 +90,6 @@ program mapsim phi=0. i0=fsample*(3.5d0+0.05d0*(isig-1)) - do i=1,nwave phi=phi + dphi if(phi.lt.-twopi) phi=phi+twopi diff --git a/libm65/msgs.txt b/libm65/msgs.txt new file mode 100644 index 000000000..c38aba972 --- /dev/null +++ b/libm65/msgs.txt @@ -0,0 +1,60 @@ +W1AAA K2BBB EM00 +W2CCC K3DDD EM01 +W3EEE K4FFF EM02 +W5GGG K6HHH EM03 +W7III K8JJJ EM04 +W9KKK K0LLL EM05 +G0MMM F1NNN JN06 +G2OOO F3PPP JN07 +G4QQQ F5RRR JN08 +G6SSS F7TTT JN09 +W1XAA K2XBB EM10 +W2XCC K3XDD EM11 +W3XEE K4XFF EM12 +W5XGG K6XHH EM13 +W7XII K8XJJ EM14 +W9XKK K0XLL EM15 +G0XMM F1XNN JN16 +G2XOO F3XPP JN17 +G4XQQ F5XRR JN18 +G6XSS F7XTT JN19 +W1YAA K2YBB EM20 +W2YCC K3YDD EM21 +W3YEE K4YFF EM22 +W5YGG K6YHH EM23 +W7YII K8YJJ EM24 +W9YKK K0YLL EM25 +G0YMM F1YNN JN26 +G2YOO F3YPP JN27 +G4YQQ F5YRR JN28 +G6YSS F7YTT JN29 +W1ZAA K2ZBB EM30 +W2ZCC K3ZDD EM31 +W3ZEE K4ZFF EM32 +W5ZGG K6ZHH EM33 +W7ZII K8ZJJ EM34 +W9ZKK K0ZLL EM35 +G0ZMM F1ZNN JN36 +G2ZOO F3ZPP JN37 +G4ZQQ F5ZRR JN38 +G6ZSS F7ZTT JN39 +W1AXA K2BXB EM40 +W2CXC K3DXD EM41 +W3EXE K4FXF EM42 +W5GXG K6HXH EM43 +W7IXI K8JXJ EM44 +W9KXK K0LXL EM45 +G0MXM F1NXN JN46 +G2OXO F3PXP JN47 +G4QXQ F5RXR JN48 +G6SXS F7TXT JN49 +W1AYA K2BYB EM50 +W2CYC K3DYD EM51 +W3EYE K4FYF EM52 +W5GYG K6HYH EM53 +W7IYI K8JYJ EM54 +W9KYK K0LYL EM55 +G0MYM F1NYN JN56 +G2OYO F3PYP JN57 +G4QYQ F5RYR JN58 +G6SYS F7TYT JN59 diff --git a/mainwindow.cpp b/mainwindow.cpp index f610e7aa1..7af9d00d3 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,4 +1,4 @@ -//-------------------------------------------------------------- MainWindow +//--------------------------------------------------------------- MainWindow #include "mainwindow.h" #include "ui_mainwindow.h" #include "devsetup.h"