Merged master 8748
This commit is contained in:
@@ -1,235 +0,0 @@
|
||||
// This is a comment line, anything with // is ignored at process time.
|
||||
= WSJT-X User Guide
|
||||
Joseph H Taylor, Jr, K1JT
|
||||
:revnumber: {VERSION}
|
||||
// For web-pages, adding :badges: is ok, but is a security issue for
|
||||
// package building .deb, .rpm, etc as it exposes the IP address and the images
|
||||
// are non-free, so can't be included as part of the Debian package.
|
||||
// :badges:
|
||||
:docinfo1:
|
||||
:imagesdir: {docdir}/images
|
||||
:icons: font
|
||||
:numbered:
|
||||
:keywords: amateur radio weak signal communication K1JT WSJT JT65 JT9
|
||||
:description: Software for Amateur Radio Weak-Signal Communication
|
||||
:prog: WSJT-X
|
||||
|
||||
// use global link file
|
||||
include::../../common/links.adoc[]
|
||||
|
||||
// These [[xxxx]] labels are HTML anchors, and can be used to
|
||||
// navigate though the document easily: <<INTRO,See Introduction>> will
|
||||
// place a hyper-link in your text to take you too the anchored section.
|
||||
// All major sections or points of interest should have one.
|
||||
|
||||
// == is level (2), section 1.0, === would mean section 1.1, === would
|
||||
// be section 1.1.1. This method is used throughout the document.
|
||||
|
||||
[[INTRO]]
|
||||
== Introduction
|
||||
include::introduction.adoc[]
|
||||
|
||||
[[NEW_FEATURES]]
|
||||
include::new_features.adoc[]
|
||||
|
||||
[[SYSREQ]]
|
||||
== System Requirements
|
||||
include::system-requirements.adoc[]
|
||||
|
||||
[[INSTALL]]
|
||||
== Installation
|
||||
|
||||
Installation packages for released versions on Windows, Linux, and OS
|
||||
X are found on the {homepage}. Click on the _WSJT-X_ link at the
|
||||
left margin and select the appropriate package for your operating
|
||||
system.
|
||||
|
||||
[[INSTALL_WIN]]
|
||||
=== Windows
|
||||
include::install-windows.adoc[]
|
||||
|
||||
[[INSTALL_LINUX]]
|
||||
=== Linux
|
||||
include::install-linux.adoc[]
|
||||
|
||||
[[INSTALL_OSX]]
|
||||
=== OS X and macOS
|
||||
include::install-mac.adoc[]
|
||||
|
||||
////
|
||||
[[SRC_CODE]]
|
||||
=== Source Code
|
||||
include::install-from-source.adoc[]
|
||||
////
|
||||
|
||||
[[CONFIG]]
|
||||
== Settings
|
||||
|
||||
Select *Settings* from the *File* menu or by typing *F2*. (On
|
||||
Macintosh select *Preferences* from the _WSJT-X_ menu, or use the
|
||||
keyboard shortcut *Cmd+,*). The following sections describe setup
|
||||
options available on each of eight tabs selectable near the top of the
|
||||
window.
|
||||
|
||||
[[GENERAL]]
|
||||
=== General
|
||||
include::settings-general.adoc[]
|
||||
|
||||
[[RADIO]]
|
||||
=== Radio
|
||||
include::settings-radio.adoc[]
|
||||
|
||||
[[AUDIO]]
|
||||
=== Audio
|
||||
include::settings-audio.adoc[]
|
||||
|
||||
[[TXMACROS]]
|
||||
=== Tx Macros
|
||||
include::settings-txmacros.adoc[]
|
||||
|
||||
[[REPORTING]]
|
||||
=== Reporting
|
||||
include::settings-reporting.adoc[]
|
||||
|
||||
[[BAND_SETTINGS]]
|
||||
=== Frequencies
|
||||
include::settings-frequencies.adoc[]
|
||||
|
||||
[[COLORS]]
|
||||
=== Colors
|
||||
include::settings-colors.adoc[]
|
||||
|
||||
[[ADVANCED]]
|
||||
=== Advanced
|
||||
include::settings-advanced.adoc[]
|
||||
|
||||
[[TRANSCEIVER]]
|
||||
== Transceiver Setup
|
||||
include::transceiver-setup.adoc[]
|
||||
|
||||
[[TUTORIAL]]
|
||||
== Basic Operating Tutorial
|
||||
|
||||
This section introduces the basic user controls and program behavior
|
||||
of _WSJT-X_, with particular emphasis on the JT9, JT65, and FT8 modes.
|
||||
We suggest that new users should go through the full HF-oriented
|
||||
tutorial, preferably while at your radio. Subsequent sections cover
|
||||
additional details on <<MAKE_QSOS,Making QSOs>>, <<WSPR,WSPR mode>>
|
||||
and <<VHF_AND_UP,VHF+ Features>>.
|
||||
|
||||
[[TUT_MAIN]]
|
||||
=== Main Window Settings
|
||||
include::tutorial-main-window.adoc[]
|
||||
|
||||
[[TUT_WIDE_GRAPH]]
|
||||
=== Wide Graph Settings
|
||||
include::tutorial-wide-graph-settings.adoc[]
|
||||
|
||||
[[TUT_EX1]]
|
||||
=== JT9
|
||||
include::tutorial-example1.adoc[]
|
||||
|
||||
[[TUT_EX2]]
|
||||
=== JT9+JT65
|
||||
include::tutorial-example2.adoc[]
|
||||
|
||||
[[TUT_EX3]]
|
||||
=== FT8
|
||||
include::tutorial-example3.adoc[]
|
||||
|
||||
[[MAKE_QSOS]]
|
||||
== Making QSOs
|
||||
include::make-qso.adoc[]
|
||||
|
||||
[[VHF_AND_UP]]
|
||||
== VHF+ Features
|
||||
include::vhf-features.adoc[]
|
||||
|
||||
[[WSPR]]
|
||||
== WSPR Mode
|
||||
include::wspr.adoc[]
|
||||
|
||||
[[COMMAND_REF]]
|
||||
== On-Screen Controls
|
||||
|
||||
[[MENUS]]
|
||||
=== Menus
|
||||
include::controls-functions-menus.adoc[]
|
||||
|
||||
[[CONTROLS_MAIN]]
|
||||
=== Button Row
|
||||
include::controls-functions-main-window.adoc[]
|
||||
|
||||
[[CONTROLS_LEFT]]
|
||||
=== Left
|
||||
include::controls-functions-left.adoc[]
|
||||
|
||||
[[CONTROLS_CENTER]]
|
||||
=== Center
|
||||
include::controls-functions-center.adoc[]
|
||||
|
||||
[[CONTROLS_MSGS]]
|
||||
=== Tx Messages
|
||||
include::controls-functions-messages.adoc[]
|
||||
|
||||
[[STATUS_BAR]]
|
||||
=== Status Bar
|
||||
include::controls-functions-status-bar.adoc[]
|
||||
|
||||
[[CONTROLS_WIDE]]
|
||||
=== Wide Graph
|
||||
include::controls-functions-wide-graph.adoc[]
|
||||
|
||||
[[LOGGING]]
|
||||
== Logging
|
||||
include::logging.adoc[]
|
||||
|
||||
[[DECODER_NOTES]]
|
||||
== Decoder Notes
|
||||
include::decoder_notes.adoc[]
|
||||
|
||||
[[MEASUREMENT_TOOLS]]
|
||||
== Measurement Tools
|
||||
include::measurement_tools.adoc[]
|
||||
|
||||
[[COOP_PGMS]]
|
||||
== Cooperating Programs
|
||||
include::cooperating-programs.adoc[]
|
||||
|
||||
[[PLATFORM]]
|
||||
== Platform Dependencies
|
||||
include::platform-dependencies.adoc[]
|
||||
|
||||
|
||||
[[FAQ]]
|
||||
== Frequently Asked Questions
|
||||
include::faq.adoc[]
|
||||
|
||||
[[PROTOCOLS]]
|
||||
== Protocol Specifications
|
||||
include::protocols.adoc[]
|
||||
|
||||
[[ASTRODATA]]
|
||||
== Astronomical Data
|
||||
include::astro_data.adoc[]
|
||||
|
||||
[[UTIL]]
|
||||
== Utility Programs
|
||||
include::utilities.adoc[]
|
||||
|
||||
[[SUPPORT]]
|
||||
== Support
|
||||
include::support.adoc[]
|
||||
|
||||
[[ACK]]
|
||||
== Acknowledgements
|
||||
include::acknowledgements.adoc[]
|
||||
|
||||
[[LICENSE]]
|
||||
== License
|
||||
include::../../common/license.adoc[]
|
||||
|
||||
ifeval::["{backend}" != "html5"]
|
||||
[index]
|
||||
== Index
|
||||
endif::[]
|
||||
@@ -1,35 +0,0 @@
|
||||
/*
|
||||
* Reads cty.dat file
|
||||
* Establishes a map between prefixes and their country names
|
||||
* VK3ACF July 2013
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __COUNTRYDAT_H
|
||||
#define __COUNTRYDAT_H
|
||||
|
||||
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QHash>
|
||||
|
||||
|
||||
class CountryDat
|
||||
{
|
||||
public:
|
||||
void init(const QString filename);
|
||||
void load();
|
||||
QString find(const QString prefix); // return country name or ""
|
||||
QStringList getCountryNames() { return _countryNames; };
|
||||
|
||||
private:
|
||||
QString _extractName(const QString line);
|
||||
void _removeBrackets(QString &line, const QString a, const QString b);
|
||||
QStringList _extractPrefix(QString &line, bool &more);
|
||||
|
||||
QString _filename;
|
||||
QStringList _countryNames;
|
||||
QHash<QString, QString> _data;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,125 @@
|
||||
subroutine softsym9w(id2,npts,xdt0,f0,width,nsubmode,xdt1,snrdb,i1softsymbols)
|
||||
|
||||
parameter (NFFT=6912,NH=NFFT/2,NQ=NH/2)
|
||||
real s(NQ)
|
||||
real s2(0:8,85)
|
||||
real s3(0:7,69)
|
||||
real x(NFFT)
|
||||
complex cx(0:NH)
|
||||
integer*2 id2(60*12000)
|
||||
integer*1 i1SoftSymbolsScrambled(207)
|
||||
integer*1 i1softsymbols(207)
|
||||
include 'jt9sync.f90'
|
||||
equivalence (x,cx)
|
||||
|
||||
if(npts.eq.-99) stop !Silence compiler warning
|
||||
df=12000.0/NFFT
|
||||
i0a=max(1.0,(xdt0-1.0)*12000.0)
|
||||
i0b=(xdt0+1.0)*12000.0
|
||||
k1=max(1,nint((f0-0.5*width)/df))
|
||||
k2=min(NQ,nint((f0+0.5*width)/df))
|
||||
smax=0.
|
||||
i0pk=1
|
||||
i1softsymbols=0
|
||||
|
||||
do i0=i0a,i0b,432
|
||||
s=0.
|
||||
ssum=0.
|
||||
do j=1,16
|
||||
ia=i0 + (ii(j)-1)*nfft
|
||||
ib=ia+NFFT-1
|
||||
x=1.e-6*id2(ia:ib)
|
||||
call four2a(x,nfft,1,-1,0) !r2c FFT
|
||||
do k=1,NQ
|
||||
s(k)=s(k) + real(cx(k))**2 + aimag(cx(k))**2
|
||||
enddo
|
||||
enddo
|
||||
ssum=ssum + sum(s(k1:k2))
|
||||
if(ssum.gt.smax) then
|
||||
smax=ssum
|
||||
i0pk=i0
|
||||
else
|
||||
if(ssum.lt.0.7*smax) exit
|
||||
endif
|
||||
end do
|
||||
xdt1=(i0pk-1)/12000.0
|
||||
|
||||
if(i0pk.le.0) go to 999
|
||||
|
||||
m=0
|
||||
do j=1,85
|
||||
ia=i0pk + (j-1)*nfft
|
||||
ib=ia+NFFT-1
|
||||
x=1.e-6*id2(ia:ib)
|
||||
call four2a(x,nfft,1,-1,0) !r2c FFT
|
||||
do k=1,NQ
|
||||
s(k)=real(cx(k))**2 + aimag(cx(k))**2
|
||||
enddo
|
||||
|
||||
dtone=df*(2**nsubmode)
|
||||
do i=0,8
|
||||
f=f0 + i*dtone
|
||||
k1=max(1,nint((f-0.5*width)/df))
|
||||
k2=min(NQ,nint((f+0.5*width)/df))
|
||||
s2(i,j)=sum(s(k1:k2)) !Symbol spectra, including sync
|
||||
enddo
|
||||
|
||||
if(isync(j).eq.0) then
|
||||
m=m+1
|
||||
s3(0:7,m)=s2(1:8,j) !Symbol spectra, data only
|
||||
endif
|
||||
|
||||
! write(19,3101) j,s2(0:8,j)
|
||||
!3101 format(i2,9f8.2)
|
||||
enddo
|
||||
|
||||
ss=0.
|
||||
sig=0.
|
||||
do j=1,69
|
||||
smax=0.
|
||||
do i=0,7
|
||||
smax=max(smax,s3(i,j))
|
||||
ss=ss+s3(i,j)
|
||||
enddo
|
||||
sig=sig+smax
|
||||
ss=ss-smax
|
||||
enddo
|
||||
ave=ss/(69*7) !Baseline
|
||||
call pctile(s2,9*85,35,xmed)
|
||||
s3=s3/ave
|
||||
sig=sig/69. !Signal
|
||||
snrdb=db(sig/xmed) - 28.0
|
||||
|
||||
m0=3
|
||||
k=0
|
||||
do j=1,69
|
||||
smax=0.
|
||||
do i=0,7
|
||||
if(s3(i,j).gt.smax) smax=s3(i,j)
|
||||
enddo
|
||||
|
||||
do m=m0-1,0,-1 !Get bit-wise soft symbols
|
||||
if(m.eq.2) then
|
||||
r1=max(s3(4,j),s3(5,j),s3(6,j),s3(7,j))
|
||||
r0=max(s3(0,j),s3(1,j),s3(2,j),s3(3,j))
|
||||
else if(m.eq.1) then
|
||||
r1=max(s3(2,j),s3(3,j),s3(4,j),s3(5,j))
|
||||
r0=max(s3(0,j),s3(1,j),s3(6,j),s3(7,j))
|
||||
else
|
||||
r1=max(s3(1,j),s3(2,j),s3(4,j),s3(7,j))
|
||||
r0=max(s3(0,j),s3(3,j),s3(5,j),s3(6,j))
|
||||
endif
|
||||
|
||||
k=k+1
|
||||
i4=nint(10.0*(r1-r0))
|
||||
if(i4.lt.-127) i4=-127
|
||||
if(i4.gt.127) i4=127
|
||||
i1SoftSymbolsScrambled(k)=i4
|
||||
enddo
|
||||
enddo
|
||||
|
||||
! Remove interleaving
|
||||
call interleave9(i1SoftSymbolsScrambled,-1,i1SoftSymbols)
|
||||
|
||||
999 return
|
||||
end subroutine softsym9w
|
||||
Reference in New Issue
Block a user