Commit Graph

339 Commits

Author SHA1 Message Date
Bill Somerville
3430648727 Reintegrate Joe's experimental VHF & up features
As at ^/branches/wsjtx_exp@5271



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5272 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-04-22 17:48:03 +00:00
Joe Taylor
b37a25aeac Update jt9sim with a standard *.wav header.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5088 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-03-21 00:34:21 +00:00
Joe Taylor
abf019263d Bring jt9sim.f90 up to date.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5078 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-03-19 13:48:26 +00:00
Joe Taylor
276b726b2d Remove calls to timer() around the "flatten" loop in filbig.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5017 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-03-06 19:44:46 +00:00
Joe Taylor
9359aa7ecd Zero out the wrapped-around end points after cshift from c3a to c3.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5007 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-03-05 17:13:00 +00:00
Joe Taylor
3585138b27 Reformat last few lines of timer.out.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5006 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-03-05 15:27:13 +00:00
Joe Taylor
79538977c7 Further improvements to JT9 decoder.
Better AFC (wider range of possible drifts; more accurate DT alignment).
Better definition of metric tables used by Fano decoder.
Zero-centeres soft symbols, instead of offset +128.
Tuned several empirical parameters.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5004 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-03-04 17:07:15 +00:00
Joe Taylor
d3ca5fdc8e Another minor adjustment to the JT9 decoder, conditionally changing
limits on sync and schk.  (Probably still more to come...)


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4998 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-28 14:24:57 +00:00
Joe Taylor
c0bd9bc788 Further improvements to JT9 decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4993 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-27 15:38:24 +00:00
Joe Taylor
69fd5d2c39 Minor tweaks in JT9 decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4989 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-24 20:19:04 +00:00
Bill Somerville
d24537420f Stop accumulating baseline samples when there are too many
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4966 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-15 19:20:11 +00:00
Joe Taylor
71a2f501eb Minor tweaks to how decoder statistics are compiled and displayed.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4964 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-13 20:25:49 +00:00
Bill Somerville
f6e6a1084f Minor timer clean up
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4961 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-13 16:55:57 +00:00
Joe Taylor
0e5c5a6bfc Add decoder statistics to timer.out.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4958 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-13 14:22:54 +00:00
Joe Taylor
d91aed5aee Improved, simplified sort routine; faster and better "flatten"
procedure; better window functions for some FFTs, resulting in
better decoder performance; User-selectable colors for backgrounds
of decoded messages.  NB: more testing is desirable!



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4951 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-11 00:50:35 +00:00
Bill Somerville
ff43a95498 Add more decoding parameters to jt9 command line program
Options have been added to control frequency cut off values, mode and, Tx mode.

The comand line parser now has optional long option names and usage help.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4949 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-10 14:04:54 +00:00
Bill Somerville
566f9e01b6 Ensure prompt output of decoded messages
Outputo buffer flush commands have been added after each decoded message output
to ensure that other processes get timely updates of newly decoded messages.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4948 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-10 14:04:47 +00:00
Joe Taylor
93b729282b The "big FFTs" should be computed only once for each new set of Rx data.
This requires setting newdat=0 after the big FFT is computed.  In the OMP
code this must be done separately for each mode; so new variables newdat9 
and newdat65 have been defined.  Both are set to "newdat", the value
forwarded from the GUI, each time jt9[_omp][.exe] goes into action. 


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4946 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-08 15:07:31 +00:00
Bill Somerville
609bcb0009 Fix defect in timer call chain maintenance
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4945 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-08 11:56:22 +00:00
Bill Somerville
dba7f5b393 Use correct type for FFTW3 argument
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4944 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-08 11:10:28 +00:00
Bill Somerville
d42cf40268 Correct compile error
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4943 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-08 10:53:48 +00:00
Bill Somerville
8845f63792 Remove redundant copy of large array in JT9 decoder
Also moved  the same large array  from stack to heap  which along with
other prior  changes now allows  the Windows jt9 OpenMP  executable to
run with a default stack size again.

This also removes a crash on the Mac version which was probably due to
excessive stack usage.

Net result is an even faster JT9 decoder.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4942 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-08 09:53:20 +00:00
Joe Taylor
ec7bf0652a Another instance of variables needing to be saved explicitly between
calls to a subroutine.  I believe this fixes the known outstanding decode
issue.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4941 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-06 18:44:45 +00:00
Bill Somerville
133b603c39 Make output arguments of decoders shared between threads
This is only a temporary fix  becuase if both decoders were to produce
results  that need  accumulating  e.g. number  of  decodes, then  more
complex code to merge the results would be needed.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4940 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-06 16:34:26 +00:00
Joe Taylor
94911071be Some variables now need to be saved explicitly to maintain value
betweek subsoutine calls.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4939 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-06 15:18:38 +00:00
Bill Somerville
ad94752967 Thread safe lib/timer.f90
Accounts for each traced call per thread and accumulates by rolling up
calls with an identical call chain before printing the statistics. The
print now accounts for function calls  in their call chain so the same
function will be reported more than  once if it is called in different
places.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4937 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-05 22:07:19 +00:00
Joe Taylor
8073acae1f Increase JT65 decoding depth at QSO frequency.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4936 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-05 17:43:43 +00:00
Joe Taylor
a6a31362ab Better to set nflatten=0 here, for command-line speed tests.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4935 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-04 21:42:49 +00:00
Joe Taylor
e35f8cc555 Make array sizes in downsam9 consistent with the new big FFT length.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4934 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-04 21:26:58 +00:00
Bill Somerville
43397b9580 Only use >1 thread for the biggest FFTs
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4933 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-04 20:52:42 +00:00
Joe Taylor
3b5fcd30f5 Make the symspec() call in jt9.for consistent with that from mainwindow.cpp.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4932 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-04 19:52:37 +00:00
Bill Somerville
62a229f1c5 Fix typo that disabled JT65 decoding in dual mode.
Disable timer.out generation in OpenMP builds as it is broken.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4931 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-04 16:33:45 +00:00
Bill Somerville
9cf5dc4f5c Adjust the jt9 decoder to do the right decodes in parallel
Also limit the required threads for parallel decoding to 2.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4930 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-04 15:34:46 +00:00
Joe Taylor
84b9135b3d Need space for more calls to timer().
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4929 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-04 15:05:39 +00:00
Bill Somerville
8d8d64c07c Thread safety enhancements to jt9
Serialize thread unsafe FFTW3 calls

Serialize FFTW3 plan initializations in four2a

Serialize decoder results output to file/console

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4928 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-04 01:41:26 +00:00
Joe Taylor
8543283404 Add rfilt and df to the "save" list in filbig.f90.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4927 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-04 00:37:33 +00:00
Joe Taylor
79a6ed5464 Further algorithmic tweaks in the JT9 decoder.
More detailed message to come, with comparative timing statistics.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4926 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-02 18:29:00 +00:00
Bill Somerville
b16d510b0d First attempt at a thread safe lib/timer.f90
This  tries  to  account  for  function  calls  in  different  threads
separately by decorating  the function name with the  thread number it
is  running in.  This may  not be  the best  strategy for  performance
timing but it is  the easiest way of making it thread  safe that I can
see.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4924 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-02 14:08:17 +00:00
Bill Somerville
2903788e4c Build an OpenMP version of jt9 where possible
This change  introduces the program jt9_omp  which is a testbed  for a
multi-threaded version of the jt9 decoder program. The program jt9_omp
should be  a directly substitutable for  jt9 except that JT65  and JT9
decodes are computed in parallel.

Also enable  the OpenMP directives in  decoder.f90 - note this  is not
yet a working multi-threaded decoder and the existing jt9 is still the
correct decoder to be used in WSJT-X.

Increased the available  stack size for jt9_omp.exe as this  is a hard
limit on  Windows and  the default  is not big  enough for  the OpenMP
version of jt9.

Also  Fortran  array  bounds  checking is  now  disabled  for  Release
configuration builds so as to improve performance a little.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4922 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-02 11:24:20 +00:00
Joe Taylor
7f70863caa Change some calls to timer().
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4921 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-01 20:11:10 +00:00
Joe Taylor
ccca5b80ea Forgot to commit decjt9.f90.
Also note: something's wrong when trying to decode a file read 
by the GUI from disk.  Will fix it soon...



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4920 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-01 17:40:14 +00:00
Joe Taylor
960da46d28 Many changes in program jt9[.exe] aimed at speeding up the decoders.
The long FFTs can now use the multi-threaded FFTW routines.
Subroutine decode9.f90 was renamed jt9fano.f90.
The JT9 decoder's top-level functions were removed from decoder.f90
and put into a separate subroutine decjt90.f90.
Subroutine decoder.f90 is now configured for possible use of OpenMP 
SECTIONS, with the JT9 and JT65 decoders running concurrently on
a multi-core machine.  Note, however, that this concurrent processing 
is not yet fully implemented.  Probably calls to timer need to be removed; 
some variables used in calls to jt65a and decjt9 may need to be 
declared PRIVATE in decoder; some sections probably need to be declared 
CRITICAL; probably some SAVE statements in downstream routines have
made them not thread-safe; etc., etc.  

I'm a neophyte at using OpenMP.  Comments, suggestions, and/or tests by
others will be welcome!



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4919 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-02-01 16:23:36 +00:00
Joe Taylor
647f809c97 Made a start at implementing an option to use multi-threaded FFTs.
New command-line option for jt9: [-m nthreads].  Default is nthreads=1.
Also refactored a loop in filbig.f90 that was taking far too much
time.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4916 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-01-30 21:28:10 +00:00
Joe Taylor
2ca414ac9d Allow use on nonthreading model by setting nthreads=0.
Require at least 10 iterations.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4915 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-01-30 01:45:37 +00:00
Joe Taylor
2557fa39f2 More minor cleanup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4914 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-01-29 20:50:05 +00:00
Joe Taylor
88eb165e4c Set compiler flags.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4913 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-01-29 19:17:56 +00:00
Joe Taylor
518dd76c6b Clean up compiler warnings.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4912 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-01-29 19:16:37 +00:00
Joe Taylor
508594428a Another tweak.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4911 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-01-29 18:49:40 +00:00
Joe Taylor
7965d607c2 Remove diagnostic print.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4910 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-01-29 18:46:46 +00:00
Joe Taylor
0f0d63a714 Minor tweaks.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4909 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-01-29 18:38:51 +00:00