Commit Graph

2434 Commits

Author SHA1 Message Date
Bill Somerville
58aacc590e Class to read and write WAV format files
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6337 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-02 17:19:49 +00:00
Bill Somerville
92e1f70b8f Some docs and enhancements for WAV reading
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6336 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-01-02 15:04:26 +00:00
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
Bill Somerville
96a65b331d Elide duplicate UDP messages
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6315 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 21:37:16 +00:00
Bill Somerville
3c428b139a Fix dependency and sequencing issues of upload-samples target
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6314 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 20:46:26 +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
Bill Somerville
459f74ac60 Do not disable Tx or "Enable Tx" when changing band in WSPR mode
The fixes a regression introduced in r6311

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6312 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 19:42:36 +00:00
Bill Somerville
3c869e4c53 Reset Tx watchdog when changing bands
Also disable "Enable Tx" when changing bands.

Thanks to Mike W9MDB for contributions to this patch.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6311 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 13:33:29 +00:00
Bill Somerville
b98b4ae299 Some helpful developer documentation
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6310 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 13:19:54 +00:00
Bill Somerville
8efde1b4ef Fix samples upload-samples target commands
Also added --progress switch to rsync command

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6309 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 11:54:51 +00:00
Bill Somerville
924e20efa8 Add a sample download dialog and upload sub-system
Samples are  downloaded from a  web server, currently the  SF download
server.   The samples  are  stored in  the  source controlled  samples
directory and the CMake script  there builds a suitable directory tree
for upload to the web  server under samples/web containing the samples
hierarchy and the  generated JSON contents database  file. The samples
CMake script also  defines an 'upload-samples' target  that uses rsync
to efficiently upload  the samples and the  accompanying contents JSON
database file.

Any directory structure under the samples directory may be created, to
add a new sample file simply add  the file to source control and amend
the list of sample files (SAMPLE_FILES) in samples/CMakeLists.txt.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6308 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-24 11:41:05 +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
3ed60c89eb Reset watchdog counter if a Tx message button is clicked.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6299 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-19 01:37:53 +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
bc3e565ef5 Quote file name passed to wsprd
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6292 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2015-12-18 12:44:04 +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