mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-29 21:02:26 -04:00
Another step toward a jt9 decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2624 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
e72a766337
commit
e2a62aa0c4
8
jt9.txt
8
jt9.txt
@ -44,12 +44,12 @@ Receiving
|
|||||||
---------
|
---------
|
||||||
1. Apply noise blanking with the timf2 method
|
1. Apply noise blanking with the timf2 method
|
||||||
2. Filter to 1000 Hz bandwidth and downsample (1/8) to 1500 Hz, saving
|
2. Filter to 1000 Hz bandwidth and downsample (1/8) to 1500 Hz, saving
|
||||||
complex data to array c0(1350000).
|
complex data to array c0(1350000). (FIR? FFT2?)
|
||||||
3. Compute symbol-length spectra at half-symbol steps. Use for
|
3. Compute symbol-length spectra at half-symbol steps. Use for
|
||||||
waterfall display s(15750) and save in ss(184,15750) and
|
waterfall display s(22000) and save in ss(184,22000) and
|
||||||
savg(15750) for detecting sync vectors.
|
savg(22000), for detecting sync vectors.
|
||||||
4. At time Tdec, find sync vectors in ss(); get estimates of DF, DT
|
4. At time Tdec, find sync vectors in ss(); get estimates of DF, DT
|
||||||
5. Do full-length FFT, NFFT1=96*nsps2, zero-pad as required.
|
5. Do full-length FFT, NFFT1=96*nsps2, zero-padded as required.
|
||||||
6. For each candidate signal, do inverse FFT of length 1536. This
|
6. For each candidate signal, do inverse FFT of length 1536. This
|
||||||
yields 16 complex samples per symbol, and sync tone should be
|
yields 16 complex samples per symbol, and sync tone should be
|
||||||
close to zero frequency.
|
close to zero frequency.
|
||||||
|
@ -17,7 +17,8 @@ CFLAGS = -I. -fbounds-check -mno-stack-arg-probe
|
|||||||
%.o: %.F90
|
%.o: %.F90
|
||||||
${FC} ${FFLAGS} -c $<
|
${FC} ${FFLAGS} -c $<
|
||||||
|
|
||||||
all: libm65.a jt9sim.exe
|
all: libm65.a jt9sim.exe jt9.exe
|
||||||
|
#all: libm65.a jt9.exe
|
||||||
|
|
||||||
OBJS1 = trimlist.o display.o getdphi.o pctile.o ccf65.o \
|
OBJS1 = trimlist.o display.o getdphi.o pctile.o ccf65.o \
|
||||||
decode1a.o sort.o filbig.o fil6521.o afc65b.o \
|
decode1a.o sort.o filbig.o fil6521.o afc65b.o \
|
||||||
@ -35,19 +36,20 @@ OBJS1 = trimlist.o display.o getdphi.o pctile.o ccf65.o \
|
|||||||
db.o specjtms.o genmsk.o mskdf.o tweak1.o syncmsk.o \
|
db.o specjtms.o genmsk.o mskdf.o tweak1.o syncmsk.o \
|
||||||
lenmsk.o decodemsk.o ping.o makepings.o alignmsg.o match.o \
|
lenmsk.o decodemsk.o ping.o makepings.o alignmsg.o match.o \
|
||||||
rtping.o jtmsk.o hipass.o setupmsk.o foldmsk.o genjt9.o \
|
rtping.o jtmsk.o hipass.o setupmsk.o foldmsk.o genjt9.o \
|
||||||
packbits.o unpackbits.o vit216.o tab.o
|
packbits.o unpackbits.o encode232.o interleave9.o entail.o \
|
||||||
|
fano232.o
|
||||||
|
|
||||||
libm65.a: $(OBJS1)
|
libm65.a: $(OBJS1)
|
||||||
ar cr libm65.a $(OBJS1)
|
ar cr libm65.a $(OBJS1)
|
||||||
ranlib libm65.a
|
ranlib libm65.a
|
||||||
|
|
||||||
OBJS3 = jt9sim.o noisegen.o gran.o tab.o
|
OBJS3 = jt9sim.o gran.o
|
||||||
jt9sim.exe: $(OBJS3) libm65.a
|
jt9sim.exe: $(OBJS3) libm65.a
|
||||||
$(FC) -o jt9sim.exe $(OBJS3) libm65.a
|
$(FC) -o jt9sim.exe $(OBJS3) libm65.a
|
||||||
|
|
||||||
OBJS2 = JT65code.o
|
OBJS2 = jt9.o symspec.o timf2x.o timer.o
|
||||||
JT65code.exe: $(OBJS2) libm65.a
|
jt9.exe: $(OBJS2) libm65.a
|
||||||
$(FC) -o JT65code.exe $(OBJS2) libm65.a
|
$(FC) -o jt9.exe $(OBJS2) libm65.a ../libfftw3f_win.a
|
||||||
|
|
||||||
INCPATH = -I'c:/QtSDK/Desktop/Qt/4.7.4/mingw/include/QtCore' \
|
INCPATH = -I'c:/QtSDK/Desktop/Qt/4.7.4/mingw/include/QtCore' \
|
||||||
-I'c:/QtSDK/Desktop/Qt/4.7.4/mingw/include' \
|
-I'c:/QtSDK/Desktop/Qt/4.7.4/mingw/include' \
|
||||||
@ -56,36 +58,17 @@ INCPATH = -I'c:/QtSDK/Desktop/Qt/4.7.4/mingw/include/QtCore' \
|
|||||||
ipcomm.o: ipcomm.cpp
|
ipcomm.o: ipcomm.cpp
|
||||||
g++ -c $(INCPATH) ipcomm.cpp
|
g++ -c $(INCPATH) ipcomm.cpp
|
||||||
|
|
||||||
#m65a.o: m65a.f90
|
|
||||||
# $(FC) -c -fno-second-underscore -cpp m65a.f90
|
|
||||||
|
|
||||||
sec_midn.o: sec_midn.f90
|
sec_midn.o: sec_midn.f90
|
||||||
$(FC) -c -fno-second-underscore sec_midn.f90
|
$(FC) -c -fno-second-underscore sec_midn.f90
|
||||||
|
|
||||||
#symspec.o: ../symspec.f90
|
#symspec.o: ../symspec.f90
|
||||||
# $(FC) -c $(FFLAGS) -o symspec.o ../symspec.f90
|
# $(FC) -c $(FFLAGS) -o symspec.o ../symspec.f90
|
||||||
|
|
||||||
OBJS4 = tastro.o astro0.o libm65.a
|
OBJS5 = t1.o
|
||||||
tastro.exe: $(OBJS4)
|
t1.exe: $(OBJS5) libm65.a
|
||||||
$(FC) $(FFLAGS) -o tastro.exe $(OBJS4) libm65.a
|
$(FC) -o t1.exe $(OBJS5) libm65.a ../libfftw3f_win.a
|
||||||
|
|
||||||
OBJS5 = t1.o genms.o libm65.a
|
|
||||||
t1.exe: $(OBJS5)
|
|
||||||
$(FC) $(FFLAGS) -o t1.exe $(OBJS5) libm65.a ../libfftw3f_win.a \
|
|
||||||
|
|
||||||
#astro0.o: ../astro0.f90
|
|
||||||
# $(FC) -c $(FFLAGS) -o astro0.o ../astro0.f90
|
|
||||||
|
|
||||||
init_rs.o: init_rs.c
|
|
||||||
$(CC) -c -DBIGSYM=1 -o init_rs.o init_rs.c
|
|
||||||
|
|
||||||
encode_rs.o: encode_rs.c
|
|
||||||
$(CC) -c -DBIGSYM=1 -o encode_rs.o encode_rs.c
|
|
||||||
|
|
||||||
decode_rs.o: decode_rs.c
|
|
||||||
$(CC) -c -DBIGSYM=1 -o decode_rs.o decode_rs.c
|
|
||||||
|
|
||||||
.PHONY : clean
|
.PHONY : clean
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o libm65.a m65.exe jt65code.exe
|
rm -f *.o libm65.a wsjtx.exe jt9sim.exe jt9.exe
|
||||||
|
@ -32,7 +32,7 @@ program jt9
|
|||||||
endif
|
endif
|
||||||
read(arg,*) ntrperiod
|
read(arg,*) ntrperiod
|
||||||
ifile1=2
|
ifile1=2
|
||||||
limtrace=10000
|
limtrace=0
|
||||||
lu=12
|
lu=12
|
||||||
call timer('jt9 ',0) !###
|
call timer('jt9 ',0) !###
|
||||||
|
|
||||||
|
@ -95,7 +95,9 @@ program jt9sim
|
|||||||
open(10,file=fname//'.wav',access='stream',status='unknown')
|
open(10,file=fname//'.wav',access='stream',status='unknown')
|
||||||
|
|
||||||
if(snrdb.lt.90) then
|
if(snrdb.lt.90) then
|
||||||
call noisegen(dat,npts) !Generate Gaussian noise
|
do i=1,npts
|
||||||
|
dat(i)=gran()
|
||||||
|
enddo
|
||||||
else
|
else
|
||||||
dat(1:npts)=0.
|
dat(1:npts)=0.
|
||||||
endif
|
endif
|
||||||
|
@ -139,7 +139,7 @@ subroutine symspecx(k,ntrperiod,nsps,ndiskdat,nb,nbslider,pxdb,s,ihsym, &
|
|||||||
s(i)=sx
|
s(i)=sx
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
if(ihsym.eq.175) then
|
if(ihsym.eq.168) then
|
||||||
do i=1,iz
|
do i=1,iz
|
||||||
write(71,3001) i*df3,savg(i),10.0*log10(savg(i))
|
write(71,3001) i*df3,savg(i),10.0*log10(savg(i))
|
||||||
3001 format(f12.6,e12.3,f12.3)
|
3001 format(f12.6,e12.3,f12.3)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//-------------------------------------------------------------- MainWindow
|
//------------------------------------------------------------- MainWindow
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
#include "devsetup.h"
|
#include "devsetup.h"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user