1. Corrected simulator so that noise and signal levels are correct in

FSK441 and JT6M, as well as JT65.  (Still no generated pings, however.)
2. Updated README_592.TXT in preparation for open release of version 5.9.2.
Updated READ


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/trunk@97 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2006-01-14 01:46:20 +00:00
parent 51a2218bdb
commit be04b5bffa
4 changed files with 42 additions and 22 deletions

View File

@ -8,7 +8,7 @@ Enhancements
result is that there will be fewer audio glitches caused by the
Windows O/S paying attention to other programs.
2. The JT65 decoder has improved immunity to "garbage data," and
2. The JT65 decoder now has improved immunity to "garbage data," and
it exhibits better performance on strong signals.
3. The FSK441 decoder produces less on-screen gibberish when you do
@ -20,21 +20,31 @@ Enhancements
5. On-screen font sizes can be set by using Windows Notepad (or
another text editor) to edit the file wsjtrc.win. If your screen
has resolution greater than 1024 x 768, or if you have old eyes
like mine, you may want to increase the sizes from 8 and 9 (first
three lines of the file) to 9 and 10, say.
like mine, you may want to increase the sizes from 8 and 9 points
(first three lines of the file) to, say, 9 and 10 points.
6. Dividing lines are now provided on the waterfall display between
6. A simulator mode is now built into WSJT. It is presently most
useful in JT65 mode. By entering, say, "#-22" in the text box for
Tx6, you signify that the program should generate its Tx audio
files with the signal embedded in white gaussian noise, 22 dB
below the noise power in a 2.5 kHz bandwidth. You can direct this
signal into a second computer running WSJT, for eaxmple to test
the decoder or to practice operating in JT65 mode. You can even
have the two computers "work each other", although changing
messages of course requires operator action.
7. Dividing lines are now provided on the waterfall display between
spectra corresponding to wave files read from disk.
7. The PTT line is explicitly set low on program startup.
8. The PTT line is explicitly set low on program startup.
8. The F10 key brings up the SpecJT screen (if it was hidden) and
9. The F10 key brings up the SpecJT screen (if it was hidden) and
toggles foreground and focus between the WSJT and SpecJT screens.
9. You can use the Alt-F keyboard shortcut to toggle "Freeze", and
10. You can use the Alt-F keyboard shortcut to toggle "Freeze", and
Alt-Z to toggle "Zap".
10. "Accelerated decoding" has been removed from the Setup menu. In
11. "Accelerated decoding" has been removed from the Setup menu. In
effect, it is now always ON.
@ -53,12 +63,12 @@ Bug Fixes:
Information for Programmers
---------------------------
WSJT is no longer a one-person effort. It has become a full-fledged
Open Source project, with an active working group making contributions
to future development. Source code is now stored in a public
repository under control of a version control system called
Subversion, or SVN. You can learn more at
http://developer.berlios.de/projects/wsjt/.
WSJT is no longer a one-person effort and no longer runs only in
Microsoft Windows. It has become a full-fledged Open Source project,
with an active working group making contributions to future
development. Source code is now stored in a public repository under
control of a version control system called Subversion, or SVN. You
can learn more at http://developer.berlios.de/projects/wsjt/.
The first significant result of the group effort has been to create
versions of WSJT that run under the Linux and FreeBSD operating
@ -73,7 +83,7 @@ The present WSJT working group consists of:
Diane Bruce, VA3DB
James Courtier-Dutton
Bob McGwier, N4HY
Stewart Nelson, KK7A
Stewart Nelson, KK7KA
Joe Taylor, K1JT
Kaj Wiik, OH6EH

View File

@ -213,13 +213,20 @@ end subroutine fivehztx
subroutine addnoise(n)
integer*2 n
real r(12)
real*8 txsnrdb0
include 'gcom1.f90'
save txsnrdb0
if(txsnrdb.gt.90.0) return
snr=10.0**(0.05*(txsnrdb-1))
if(txsnrdb.gt.40.0) return
if(txsnrdb.ne.txsnrdb0) then
snr=10.0**(0.05*(txsnrdb-1))
fac=3000.0
if(snr.gt.1.0) fac=3000.0/snr
txsnrdb0=txsnrdb
endif
call random_number(r)
x=sum(r)-6.0
i=3000.0*x + n*snr*3000.0/32768.0
i=fac*(x + n*snr/32768.0)
if(i>32767) i=32767;
if(i<-32767) i=-32767;
n=i

View File

@ -137,6 +137,7 @@ static int SoundOut( void *inputBuffer, void *outputBuffer,
short *in = (short*)inputBuffer;
short *wptr = (short*)outputBuffer;
unsigned int i,n;
static short int n2;
static int n0;
static int ia=0;
static int ib=0;
@ -167,9 +168,10 @@ static int SoundOut( void *inputBuffer, void *outputBuffer,
for(i=0 ; i<framesPerBuffer; i++ ) {
if(*data->TxOK) {
addnoise_(&data->iwave[ic]);
*wptr++ = data->iwave[ic]; //left
*wptr++ = data->iwave[ic]; //right
n2=data->iwave[ic];
addnoise_(&n2);
*wptr++ = n2; //left
*wptr++ = n2; //right
ic++;
if(ic>=*data->nwave) {
ic = ic % *data->nwave; //Wrap buffer pointer if necessary

View File

@ -1342,13 +1342,14 @@ def update():
if tx6.get()[:1]=='#':
try:
txsnrdb=float(tx6.get()[1:])
if txsnrdb>-99.0 and txsnrdb<10.0:
if txsnrdb>-99.0 and txsnrdb<40.0:
Audio.gcom1.txsnrdb=txsnrdb
tx6.configure(bg='orange')
except:
txsnrdb=99.0
else:
txsnrdb=99.0
Audio.gcom1.txsnrdb=txsnrdb
if Audio.gcom2.monitoring and not Audio.gcom1.transmitting:
bmonitor.configure(bg='green')
else: