Commit Graph

520 Commits

Author SHA1 Message Date
Bill Somerville 26e5ea963e Make WAV file reading correct so that optional chunks can be tolerated
The WAV file format allows for optional header content, allow for this
in preparation for adding some metadata to WSJT-X recorded WAV files.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6335 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-02 14:29:02 +00:00
Steven Franke 0cf18c445f Update wer simulation results and figures to reflect improvements implemented in r6330.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6334 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-02 02:27:05 +00:00
Steven Franke ca02a5841a Add -a (aggressiveness) command line option and make ntol=1000 the default.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6333 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-01 16:34:55 +00:00
Joe Taylor c7e3fa09e3 Comment out the "write(79)..." lines.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6332 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-01 15:35:00 +00:00
Joe Taylor fecffe8ed8 Force naggressive=0 when in JT9+JT65 mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6331 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-01 15:33:48 +00:00
Joe Taylor 0e15a4cd5c Default parameter settings for JT65 decoding set for HF conditions.
More aggressive parameters are selected with higher values of 
"Aggressive decoding level" on the "Advanced" tab.  With settings
greater than 0, be sure to set Ftol=1000 if you want to decode over 
the whole passband.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6330 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-31 16:22:27 +00:00
Joe Taylor 696f633bf6 Oops! Forgot to back out a temporary change in jt65_test.f90.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6329 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-31 01:47:44 +00:00
Joe Taylor 5bfa43f46f Merge improvements to the FT algorithm into Bill's new structure for
the Fortran routines.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6328 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-31 01:30:31 +00:00
Steven Franke 9e2fd2e11a More refined kvasd stats.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6327 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-31 00:34:57 +00:00
Bill Somerville 0bc01a19b1 Fix JT4 averaging regression
Fell  into the  Fortran  trap for  C/C++  programmers, automatic  SAVE
attribute on default initialized variables.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6326 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-30 14:57:50 +00:00
Bill Somerville e94f7c0c05 Add missing new file
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6325 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-29 23:54:40 +00:00
Bill Somerville d431e2cecd Restructuring in preparation for direct decoder invocation from wsjtx
Re-factor the JT4, JT65 and JT9 decoders as Fortran modules using type
bound  procedures, the  decoder types  implement a  callback procedure
such that he client of the decoder can interpret the decode results as
they need.

The JT4 decoder has a  second callback that delivers message averaging
status.  Also the  previously separate  source files  lib/jt4a.f90 and
lib/avg4.f90 have been merged  into lib/jt4_decode.f90 as private type
bound procedures of the new jt4_decoder type.

Re-factored the lib/decoder.f90 subroutine  to utilize the new decoder
types. Added local procedures to process decodes and averaging results
including the necessary OpenMP synchronization directives for parallel
JT9+JT65 decoding.

Added the  jt65_test module  which is  a basic  test harness  for JT65
decoding. Re-factored  the jt65 utility  to utilize the  new jt65_test
module.

Changed a  few integers  to logical variables  where their  meaning is
clearly binary.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6324 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-29 23:52:55 +00:00
Bill Somerville d6457af36e Rename some sources in prep for decode callback implementation
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6323 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-29 23:52:46 +00:00
Steven Franke 509cb9efd6 Add ftdata-100 and ftdata-10 and update fig_wer2 and associated text.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6322 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-28 21:20:10 +00:00
Steven Franke fc06ec952f Edits to section 1 and corrections to n-k+1 stuff.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6321 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-28 03:02:05 +00:00
Bill Somerville f416a52def Make Fortran profiling timer function a callback with a default null implementation
Groundwork for calling the decoders directly from C/C++ threads.

To  access   the  timer   module  timer_module   must  now   be  used.
Instrumented code need  only use the module function  'timer' which is
now a  procedure pointer that  is guaranteed to be  associated (unless
null()  is assigned  to it,  which should  not be  done). The  default
behaviour of 'timer' is to do nothing.

If a  Fortran program  wishes to  profile code it  should now  use the
timer_impl module  which contains a default  timer implementation. The
main program should call 'init_timer([filename])' before using 'timer'
or     calling     routines     that     are     instrumented.      If
'init_timer([filename])'.  If it is called  then an optional file name
may  be  provided  with  'timer.out'  being used  as  a  default.  The
procedure 'fini_timer()' may be called to close the file.

The default  timer implementation is  thread safe if used  with OpenMP
multi-threaded code  so long as  the OpenMP  thread team is  given the
copyin(/timer_private/) attribute  for correct operation.   The common
block /timer_private/ should  be included for OpenMP  use by including
the file 'timer_common.inc'.

The module 'lib/timer_C_wrapper.f90' provides  a Fortran wrapper along
with 'init' and 'fini' subroutines  which allow a C/C++ application to
call timer instrumented  Fortran code and for it  to receive callbacks
of 'timer()' subroutine invocations.  No C/C++ timer implementation is
provided at this stage.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6320 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-27 15:40:57 +00:00
Steven Franke 29f309bbc0 some more progress.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6319 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-27 00:17:20 +00:00
Steven Franke b04a73e157 Add discussion of sync losses.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6318 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-26 21:43:07 +00:00
Steven Franke b12290871d More refinements to section 7 and figs.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6317 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-26 20:13:12 +00:00
Steven Franke f838755ae6 Restructure ftrsd, update WER data, delete some old files.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6316 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-26 15:47:49 +00:00
Steven Franke e2dcc912a1 Fix misprints in equation 4 and 5
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6313 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 19:44:30 +00:00
Joe Taylor 0ab5a28067 Commit two .lab (gnuplot label) files.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6307 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-23 23:40:00 +00:00
Joe Taylor be5d42845c A few more editorial changes.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6306 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-23 23:38:12 +00:00
Steven Franke f5e87d79c1 Merge in updates to simulation results, add gnuplot script for bodide fig.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6305 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-23 23:29:44 +00:00
Joe Taylor 15194c6857 Add (temporarily?) pdf's for two figures.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6304 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-23 20:27:24 +00:00
Joe Taylor 90a35b1dfd Another draft of the FTRSD paper.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6303 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-23 20:23:28 +00:00
Steven Franke 59806b11bd Computes theoretical probability of error for a bounded-distance decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6302 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-22 00:08:31 +00:00
Joe Taylor ef49f6dbd6 New versions of two figures, and some text additions. (More to come!)
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6301 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-21 19:48:08 +00:00
Joe Taylor 4f8d3dffc7 Tweak some details used for collecting decode statistics.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6300 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-21 14:48:51 +00:00
Joe Taylor f421ca57b7 Use sync rather than nsync, for better resolution.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6298 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 21:36:49 +00:00
Joe Taylor b6d9e5dda0 Add stats (convenience program for measuring decode statistics).
Minor tweaks to hinted-decode routine.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6297 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 20:00:59 +00:00
Joe Taylor 2072f6f7c6 Look for weaker Sync indications when naggressive > 0 and ntol < 1000.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6296 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 19:58:10 +00:00
Bill Somerville 61395e9481 Fix the jt9 command line acceptance constraints
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6295 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 17:57:18 +00:00
Bill Somerville 93b2f4164a Improve the randomness of the srand seed generator
XOR:ing the time since epoch in seconds with the PID fails for processes
started every second since the PID and time increment in step regularly in
this scenario and therefore give identical seeds. Thanks to Steve K9AN for
spotting this subtle flaw.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6294 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 17:32:56 +00:00
Bill Somerville 906b2dba89 Fix reading from /dev/urandom for C library srand seed
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6293 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 15:14:38 +00:00
Bill Somerville ca5cfc1402 Fix defect in jt9 standalone mode causing randon file read
Made default values for decoding  parameters better in standalone jt65
tool.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6291 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-17 23:21:38 +00:00
Bill Somerville d5bc774641 Get rid of jt9com and npar common blocks
Also  use correct  C binding  and have  compilers determine  sizes and
offsets.

The wsjtx.exe program now owns the  decoder shared data that is shared
with symspec.  It is now in  struct dec_data, still a  global variable
for now but hopefully a MainWindow member variable soon.

The struct  dec_data (in both C/C++  and Fortran) has a  sub structure
with the decoder  parameters which enables copying  and manipulating a
lot cleaner.

New  of  changed types  of  shared  data  must  still be  modified  in
commons.h and a  new file lib/jt9com.f90, they must stay  in sync as a
pointer to the structure is passed between C and Fortran.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6290 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-17 20:29:55 +00:00
Joe Taylor bd38074f6b Reduce gain on 2d cumulative spectrum, to be more consistent with others.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6289 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-17 15:55:35 +00:00
Joe Taylor a263657ba1 Include DT and fSpread on output to screen.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6288 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-17 15:35:39 +00:00
Bill Somerville 8668d37d9e Add new command line options to the standalone jt65 test program
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6287 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-17 10:43:07 +00:00
Joe Taylor 256feedd95 Correct the second calling sequence to jt65a().
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6286 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-17 00:47:55 +00:00
Joe Taylor e8788ece2d Send the hinted-decode options into exp_decode65().
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6285 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-16 21:16:23 +00:00
Joe Taylor 9af174642b Send mycall, hiscall, hisgrid downstream to extract.f90.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6283 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-16 19:31:12 +00:00
Joe Taylor c0c7e5d563 Suppress false decodes seen with new JT65 decoder running in crowded HF band.
Note to testers: see lines 100-105 in jt65a.f90.  If you want to experiment
with some of these parameters, one way is to uncomment lines 148-151
and look at output in "fort.79" after a decoding run.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6282 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-16 17:53:19 +00:00
Joe Taylor b87c77ddf1 Make erasure pattern exponents work, the intended way. :-)
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6280 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-16 01:07:07 +00:00
Steven Franke f281d082bf Make odd erasure pattern exponents work.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6279 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-16 00:49:47 +00:00
Joe Taylor d7e7b43045 Many changes to the JT65 decode chain. This is development code! It
includes an initial implementation of the FTRSD decoder with a "qual"
parameter for evaluation of candidate codewords.  Also includes hinted
decoding.  Further testing is needed.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6278 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-15 21:24:22 +00:00
Bill Somerville b66e0fc9b4 Clarify escaping of jt65sim arguments on *nix shells
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6277 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-15 15:56:37 +00:00
Bill Somerville 5f9ed5a5ac Tidy up command line processing in Fortran tools
Build script now  builds jt65. The tools jt65 and  jt65sim usilize the
options module for all comamnd line parsing.

The  tool  jt65sim  now  has  conventinal  command  line  options  and
switchs. Default values have been  added where appropriate and options
documentation  updated. An  option to  disable PRNG  seeding has  been
added.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6276 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-15 15:35:04 +00:00
Bill Somerville eedb6d3458 Remove spurious argumenst that should never have been there
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6275 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-15 11:08:56 +00:00