mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-23 20:48:33 -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
|
||||
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
|
||||
waterfall display s(15750) and save in ss(184,15750) and
|
||||
savg(15750) for detecting sync vectors.
|
||||
waterfall display s(22000) and save in ss(184,22000) and
|
||||
savg(22000), for detecting sync vectors.
|
||||
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
|
||||
yields 16 complex samples per symbol, and sync tone should be
|
||||
close to zero frequency.
|
||||
|
@ -17,7 +17,8 @@ CFLAGS = -I. -fbounds-check -mno-stack-arg-probe
|
||||
%.o: %.F90
|
||||
${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 \
|
||||
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 \
|
||||
lenmsk.o decodemsk.o ping.o makepings.o alignmsg.o match.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)
|
||||
ar cr libm65.a $(OBJS1)
|
||||
ranlib libm65.a
|
||||
|
||||
OBJS3 = jt9sim.o noisegen.o gran.o tab.o
|
||||
OBJS3 = jt9sim.o gran.o
|
||||
jt9sim.exe: $(OBJS3) libm65.a
|
||||
$(FC) -o jt9sim.exe $(OBJS3) libm65.a
|
||||
|
||||
OBJS2 = JT65code.o
|
||||
JT65code.exe: $(OBJS2) libm65.a
|
||||
$(FC) -o JT65code.exe $(OBJS2) libm65.a
|
||||
OBJS2 = jt9.o symspec.o timf2x.o timer.o
|
||||
jt9.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' \
|
||||
-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
|
||||
g++ -c $(INCPATH) ipcomm.cpp
|
||||
|
||||
#m65a.o: m65a.f90
|
||||
# $(FC) -c -fno-second-underscore -cpp m65a.f90
|
||||
|
||||
sec_midn.o: sec_midn.f90
|
||||
$(FC) -c -fno-second-underscore sec_midn.f90
|
||||
|
||||
#symspec.o: ../symspec.f90
|
||||
# $(FC) -c $(FFLAGS) -o symspec.o ../symspec.f90
|
||||
|
||||
OBJS4 = tastro.o astro0.o libm65.a
|
||||
tastro.exe: $(OBJS4)
|
||||
$(FC) $(FFLAGS) -o tastro.exe $(OBJS4) libm65.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
|
||||
OBJS5 = t1.o
|
||||
t1.exe: $(OBJS5) libm65.a
|
||||
$(FC) -o t1.exe $(OBJS5) libm65.a ../libfftw3f_win.a
|
||||
|
||||
.PHONY : 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
|
||||
read(arg,*) ntrperiod
|
||||
ifile1=2
|
||||
limtrace=10000
|
||||
limtrace=0
|
||||
lu=12
|
||||
call timer('jt9 ',0) !###
|
||||
|
||||
|
@ -95,7 +95,9 @@ program jt9sim
|
||||
open(10,file=fname//'.wav',access='stream',status='unknown')
|
||||
|
||||
if(snrdb.lt.90) then
|
||||
call noisegen(dat,npts) !Generate Gaussian noise
|
||||
do i=1,npts
|
||||
dat(i)=gran()
|
||||
enddo
|
||||
else
|
||||
dat(1:npts)=0.
|
||||
endif
|
||||
|
@ -139,7 +139,7 @@ subroutine symspecx(k,ntrperiod,nsps,ndiskdat,nb,nbslider,pxdb,s,ihsym, &
|
||||
s(i)=sx
|
||||
enddo
|
||||
|
||||
if(ihsym.eq.175) then
|
||||
if(ihsym.eq.168) then
|
||||
do i=1,iz
|
||||
write(71,3001) i*df3,savg(i),10.0*log10(savg(i))
|
||||
3001 format(f12.6,e12.3,f12.3)
|
||||
|
@ -1,4 +1,4 @@
|
||||
//-------------------------------------------------------------- MainWindow
|
||||
//------------------------------------------------------------- MainWindow
|
||||
#include "mainwindow.h"
|
||||
#include "ui_mainwindow.h"
|
||||
#include "devsetup.h"
|
||||
|
Loading…
Reference in New Issue
Block a user