mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 13:30:52 -05: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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user