mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-08-03 22:52:25 -04:00
Accumulate the symbol spectra s1() in array s1a().
This commit is contained in:
parent
63beab393b
commit
a75037d053
@ -12,6 +12,7 @@ module q65
|
|||||||
real f0save(MAXAVE)
|
real f0save(MAXAVE)
|
||||||
real xdtsave(MAXAVE)
|
real xdtsave(MAXAVE)
|
||||||
real snr1save(MAXAVE)
|
real snr1save(MAXAVE)
|
||||||
|
real,allocatable,save :: s1a(:,:) !Cumulative symbol spectra
|
||||||
real,allocatable :: s3save(:,:,:)
|
real,allocatable :: s3save(:,:,:)
|
||||||
real,allocatable :: s3avg(:,:)
|
real,allocatable :: s3avg(:,:)
|
||||||
|
|
||||||
|
@ -60,6 +60,14 @@ subroutine q65_sync(nutc,iwave,ntrperiod,mode_q65,codewords,ncw,nsps, &
|
|||||||
allocate(ccf(-ia2:ia2,-53:214))
|
allocate(ccf(-ia2:ia2,-53:214))
|
||||||
allocate(ccf1(-ia2:ia2))
|
allocate(ccf1(-ia2:ia2))
|
||||||
allocate(ccf2(-ia2:ia2))
|
allocate(ccf2(-ia2:ia2))
|
||||||
|
if(LL.ne.LL0 .or. lclearave) then
|
||||||
|
if(allocated(s1a)) deallocate(s1a)
|
||||||
|
allocate(s1a(iz,jz))
|
||||||
|
s1a=0.
|
||||||
|
navg=0
|
||||||
|
LL0=LL
|
||||||
|
endif
|
||||||
|
|
||||||
s3=0.
|
s3=0.
|
||||||
if(sync(1).eq.99.0) then !Generate the sync vector
|
if(sync(1).eq.99.0) then !Generate the sync vector
|
||||||
sync=-22.0/63.0 !Sync tone OFF
|
sync=-22.0/63.0 !Sync tone OFF
|
||||||
@ -98,6 +106,8 @@ subroutine q65_sync(nutc,iwave,ntrperiod,mode_q65,codewords,ncw,nsps, &
|
|||||||
! Try list decoding via "Deep Likelihood".
|
! Try list decoding via "Deep Likelihood".
|
||||||
|
|
||||||
call timer('list_dec',0)
|
call timer('list_dec',0)
|
||||||
|
! call q65_dec_q3(codewords,ncw,isync,df
|
||||||
|
|
||||||
ipk=0
|
ipk=0
|
||||||
jpk=0
|
jpk=0
|
||||||
ccf_best=0.
|
ccf_best=0.
|
||||||
@ -190,6 +200,7 @@ subroutine q65_sync(nutc,iwave,ntrperiod,mode_q65,codewords,ncw,nsps, &
|
|||||||
go to 100
|
go to 100
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
irc=-2
|
irc=-2
|
||||||
dat4=0
|
dat4=0
|
||||||
|
|
||||||
@ -256,9 +267,9 @@ subroutine q65_sync(nutc,iwave,ntrperiod,mode_q65,codewords,ncw,nsps, &
|
|||||||
n=n+1
|
n=n+1
|
||||||
if(j.ge.1 .and. j.le.jz) s3(-64:LL-65,n)=s1(i1:i2,j)
|
if(j.ge.1 .and. j.le.jz) s3(-64:LL-65,n)=s1(i1:i2,j)
|
||||||
enddo
|
enddo
|
||||||
call timer('q65_avg ',0)
|
! call timer('q65_avg ',0)
|
||||||
call q65_avg(nutc,ntrperiod,LL,nfqso,ntol,lclearave,xdt,f0,snr1,s3)
|
! call q65_avg(nutc,ntrperiod,LL,nfqso,ntol,lclearave,xdt,f0,snr1,s3)
|
||||||
call timer('q65_avg ',1)
|
! call timer('q65_avg ',1)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@ -284,12 +295,12 @@ end subroutine q65_sync
|
|||||||
|
|
||||||
subroutine q65_symspec(iwave,nmax,nsps,iz,jz,istep,nsmo,s1)
|
subroutine q65_symspec(iwave,nmax,nsps,iz,jz,istep,nsmo,s1)
|
||||||
|
|
||||||
|
use q65
|
||||||
integer*2 iwave(0:nmax-1) !Raw data
|
integer*2 iwave(0:nmax-1) !Raw data
|
||||||
real s1(iz,jz)
|
real s1(iz,jz)
|
||||||
complex, allocatable :: c0(:) !Complex spectrum of symbol
|
complex, allocatable :: c0(:) !Complex spectrum of symbol
|
||||||
|
|
||||||
allocate(c0(0:nsps-1))
|
allocate(c0(0:nsps-1))
|
||||||
|
|
||||||
nfft=nsps
|
nfft=nsps
|
||||||
fac=1/32767.0
|
fac=1/32767.0
|
||||||
do j=1,jz !Compute symbol spectra at step size
|
do j=1,jz !Compute symbol spectra at step size
|
||||||
@ -312,6 +323,8 @@ subroutine q65_symspec(iwave,nmax,nsps,iz,jz,istep,nsmo,s1)
|
|||||||
call smo121(s1(1:iz,j),iz)
|
call smo121(s1(1:iz,j),iz)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
s1a=s1a+s1
|
||||||
|
navg=navg+1
|
||||||
|
|
||||||
return
|
return
|
||||||
end subroutine q65_symspec
|
end subroutine q65_symspec
|
||||||
|
Loading…
x
Reference in New Issue
Block a user