mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-24 10:22:26 -04:00
Improve sensitivity of msk32 decoder.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6885 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
ea3ec805ab
commit
b9a6d346b5
@ -319,6 +319,10 @@ subroutine detectmsk32(cbig,n,lines,nmessages,nutc)
|
|||||||
cca=sum(c(1:1+41)*conjg(cb))
|
cca=sum(c(1:1+41)*conjg(cb))
|
||||||
phase0=atan2(imag(cca),real(cca))
|
phase0=atan2(imag(cca),real(cca))
|
||||||
|
|
||||||
|
do ipha=1,3
|
||||||
|
if( ipha.eq.2 ) phase0=phase0-20*pi/180.0
|
||||||
|
if( ipha.eq.3 ) phase0=phase0+20*pi/180.0
|
||||||
|
|
||||||
! Remove phase error - want constellation rotated so that sample points lie on I/Q axes
|
! Remove phase error - want constellation rotated so that sample points lie on I/Q axes
|
||||||
cfac=cmplx(cos(phase0),sin(phase0))
|
cfac=cmplx(cos(phase0),sin(phase0))
|
||||||
c=c*conjg(cfac)
|
c=c*conjg(cfac)
|
||||||
@ -407,10 +411,11 @@ subroutine detectmsk32(cbig,n,lines,nmessages,nutc)
|
|||||||
ipkbest = ipk
|
ipkbest = ipk
|
||||||
idfbest = idf
|
idfbest = idf
|
||||||
idbest = id
|
idbest = id
|
||||||
|
iphabest = ipha
|
||||||
nbadsyncbest = nbadsync
|
nbadsyncbest = nbadsync
|
||||||
if( ( ihammd(imsgbest)+nbadsyncbest .le. 4 ) .and. ( (cdratbest .gt. 100.0) .and. (cdbest .le. 0.05) ) ) goto 999
|
if( ( ihammd(imsgbest)+nbadsyncbest .le. 4 ) .and. ( (cdratbest .gt. 100.0) .and. (cdbest .le. 0.05) ) ) goto 999
|
||||||
endif
|
endif
|
||||||
|
enddo ! phase loop
|
||||||
enddo ! frame averaging loop
|
enddo ! frame averaging loop
|
||||||
enddo ! frequency dithering loop
|
enddo ! frequency dithering loop
|
||||||
enddo ! sample-time dither loop
|
enddo ! sample-time dither loop
|
||||||
@ -441,9 +446,9 @@ subroutine detectmsk32(cbig,n,lines,nmessages,nutc)
|
|||||||
|
|
||||||
! write(*,1022) nutc,ipbest,times(ipbest),snrs(ipbest),fest,nrxrpt,nrxhash, &
|
! write(*,1022) nutc,ipbest,times(ipbest),snrs(ipbest),fest,nrxrpt,nrxhash, &
|
||||||
! rpt(nrxrpt),imessage,ig24(imessage),ihammd(imsgbest), &
|
! rpt(nrxrpt),imessage,ig24(imessage),ihammd(imsgbest), &
|
||||||
! cdbest,cdratbest,nbadsyncbest,ipkbest,idbest,idfbest,iavbest
|
! cdbest,cdratbest,nbadsyncbest,ipkbest,idbest,idfbest,iavbest,iphabest
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
!1022 format(i4.4,2x,i4,f8.3,f8.2,f8.2,i6,i6,a6,i8,i10,i4,f8.2,f8.2,i5,i5,i5,i5,i5)
|
!1022 format(i4.4,2x,i4,f8.3,f8.2,f8.2,i6,i6,a6,i8,i10,i4,f8.2,f8.2,i5,i5,i5,i5,i5,i5)
|
||||||
return
|
return
|
||||||
end subroutine detectmsk32
|
end subroutine detectmsk32
|
||||||
|
Loading…
x
Reference in New Issue
Block a user