mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 04:50:34 -04:00 
			
		
		
		
	Introduce nzhsym, the number of computed half-symbol spectra.
Correct the logic for computing lag range in sync9.f90. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2751 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
		
							parent
							
								
									2c9479df01
								
							
						
					
					
						commit
						561acda6f7
					
				| @ -18,6 +18,7 @@ extern struct { | ||||
|   int nfb;                          //High decode limit (kHz)
 | ||||
|   int ntol;                         //+/- decoding range around fQSO (Hz)
 | ||||
|   int kin; | ||||
|   int nzhsym; | ||||
|   int nsynced; | ||||
|   int ndecoded; | ||||
| } jt9com_; | ||||
|  | ||||
| @ -14,7 +14,7 @@ subroutine decoder(ntrSeconds,ndepth,nRxLog,c00) | ||||
|   integer ii(1) | ||||
|   complex c0(NDMAX),c00(NDMAX) | ||||
|   common/jt9com/ss0(184,NSMAX),savg(NSMAX),id2(NMAX),nutc0,ndiskdat,    & | ||||
|        ntr,nfqso,newdat,npts80,nfb,ntol,kin,nsynced,ndecoded | ||||
|        ntr,nfqso,newdat,npts80,nfb,ntol,kin,nzhsym,nsynced,ndecoded | ||||
|   common/jt9comB/ss(184,NSMAX),c0 | ||||
|   common/tracer/limtrace,lu | ||||
|   logical first | ||||
| @ -79,7 +79,7 @@ subroutine decoder(ntrSeconds,ndepth,nRxLog,c00) | ||||
|   tstep=kstep/12000.0 | ||||
| 
 | ||||
|   call timer('sync9   ',0) | ||||
|   call sync9(ss,tstep,df3,ntol,nfqso,ccfred,ia,ib,ipk)  ! Get sync, approx freq | ||||
|   call sync9(ss,nzhsym,tstep,df3,ntol,nfqso,ccfred,ia,ib,ipk)  !Compute ccfred | ||||
|   call timer('sync9   ',1) | ||||
| 
 | ||||
|   open(13,file='decoded.txt',status='unknown') | ||||
| @ -98,7 +98,6 @@ subroutine decoder(ntrSeconds,ndepth,nRxLog,c00) | ||||
|   ii=maxloc(ccfred(ia:ib)) | ||||
|   i=ii(1) + ia - 1 | ||||
|   f=(i-1)*df3 | ||||
|   print*,ipk,i,ccfred(i),f,abs(f-fgood) | ||||
|   if((i.eq.ipk .or. ccfred(i).ge.3.0) .and. abs(f-fgood).gt.10.0*df8) then | ||||
|      call timer('spec9   ',0) | ||||
|      call spec9(c0,npts8,nsps,f,fpk,xdt,snr,i1SoftSymbols) | ||||
|  | ||||
| @ -4,6 +4,10 @@ | ||||
|   integer ii2(16)                      !Locations of sync half-symbols | ||||
|   data ii2/1,3,9,19,31,45,65,69,101,103,109,119,131,145,165,169/ | ||||
| 
 | ||||
|   integer ka(16),kb(16)                !Reference symbols for sync | ||||
|   data ka/5,5,11,21,33,47,63,71,97,105,111,121,133,147,159,163/ | ||||
|   data kb/7,7,13,23,35,49,67,73,99,107,113,123,135,149,161,167/ | ||||
| 
 | ||||
| 
 | ||||
|   integer isync(85)                    !Sync vector | ||||
|   data isync/                                     & | ||||
|  | ||||
| @ -33,7 +33,7 @@ subroutine symspec(k,ntrperiod,nsps,ingain,nb,nbslider,pxdb,s,red,    & | ||||
|   integer*2 id2 | ||||
|   complex c0(NDMAX) | ||||
|   common/jt9com/ss(184,NSMAX),savg(NSMAX),id2(NMAX),nutc,ndiskdat,    & | ||||
|        ntr,mousefqso,newdat,nfa,nfb,ntol,kin | ||||
|        ntr,mousefqso,newdat,nfa,nfb,ntol,kin,nzhsym,nsynced,ndecoded | ||||
|   data rms/999.0/,k0/99999999/,ntrperiod0/0/,nfft3z/0/ | ||||
|   save | ||||
| 
 | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| subroutine sync9(ss,tstep,df3,ntol,nfqso,ccfred,ia,ib,ipkbest) | ||||
| subroutine sync9(ss,nzhsym,tstep,df3,ntol,nfqso,ccfred,ia,ib,ipkbest) | ||||
| 
 | ||||
|   parameter (NSMAX=22000)            !Max length of saved spectra | ||||
|   real ss(184,NSMAX) | ||||
| @ -18,16 +18,20 @@ subroutine sync9(ss,tstep,df3,ntol,nfqso,ccfred,ia,ib,ipkbest) | ||||
|   endif | ||||
| 
 | ||||
|   sbest=0. | ||||
|   lagmax=2.5/tstep + 0.9999 | ||||
|   lag1=-(2.5/tstep + 0.9999) | ||||
|   lag2=5.0/tstep + 0.9999 | ||||
|   ccfred=0. | ||||
| 
 | ||||
|   do i=ia,ib | ||||
|      smax=0. | ||||
|      do lag=-lagmax,lagmax | ||||
|      do lag=lag1,lag2 | ||||
|         sum=0. | ||||
|         do j=1,16 | ||||
|            k=ii2(j) + lag | ||||
|            if(k.ge.1) sum=sum + ss(k,i) - 0.5*(ss(k+2,i)+ss(k+4,i)) | ||||
|            kaa=ka(j)+lag | ||||
|            kbb=kb(j)+lag | ||||
|            if(k.ge.1 .and. k.le.nzhsym) sum=sum + ss(k,i) -      & | ||||
|                 0.5*(ss(kaa,i)+ss(kbb,i)) | ||||
|         enddo | ||||
|         if(sum.gt.smax) then | ||||
|            smax=sum | ||||
|  | ||||
| @ -350,12 +350,11 @@ void MainWindow::dataSink(int k) | ||||
|     g_pWideGraph->dataSink2(s,red,df3,ihsym,m_diskData,lstrong); | ||||
|   } | ||||
| 
 | ||||
|   // This is a bit strange.  Why do we need the "-3" ???
 | ||||
| //  if(ihsym == m_hsymStop-3) {
 | ||||
|   if(ihsym == m_hsymStop) { | ||||
|     m_dataAvailable=true; | ||||
|     jt9com_.npts8=(ihsym*m_nsps)/16; | ||||
|     jt9com_.newdat=1; | ||||
|     jt9com_.nzhsym=m_hsymStop; | ||||
|     QDateTime t = QDateTime::currentDateTimeUtc(); | ||||
|     m_dateTime=t.toString("yyyy-MMM-dd hh:mm"); | ||||
|     decode();                                           //Start the decoder
 | ||||
|  | ||||
| @ -19,6 +19,7 @@ extern struct { | ||||
|   int nfb;                          //High decode limit (kHz)
 | ||||
|   int ntol;                         //+/- decoding range around fQSO (Hz)
 | ||||
|   int kin; | ||||
|   int nzhsym; | ||||
|   int nsynced; | ||||
|   int ndecoded; | ||||
| } jt9com_; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user