mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-24 02:12:37 -04:00
Add standard ITU channel parameters.
This commit is contained in:
parent
ec535541db
commit
5e6a9d59ed
@ -20,44 +20,46 @@ program sfoxtest
|
|||||||
integer, allocatable :: chansym0(:) !Encoded data, 7-bit integers
|
integer, allocatable :: chansym0(:) !Encoded data, 7-bit integers
|
||||||
integer, allocatable :: chansym(:) !Recovered hard-decision symbols
|
integer, allocatable :: chansym(:) !Recovered hard-decision symbols
|
||||||
integer, allocatable :: iera(:) !Positions of erasures
|
integer, allocatable :: iera(:) !Positions of erasures
|
||||||
character fname*17,arg*12
|
character fname*17,arg*12,itu*2
|
||||||
|
|
||||||
nargs=iargc()
|
nargs=iargc()
|
||||||
if(nargs.ne.10) then
|
if(nargs.ne.9) then
|
||||||
print*,'Usage: sfoxtest f0 DT fspread delay M N K v nfiles snr'
|
print*,'Usage: sfoxtest f0 DT ITU M N K v nfiles snr'
|
||||||
print*,'Example: sfoxtest 1500 0.15 0.5 1.0 8 74 44 0 10 -10'
|
print*,'Example: sfoxtest 1500 0.15 MM 8 74 44 0 10 -10'
|
||||||
|
print*,' LQ: Low Latitude Quiet'
|
||||||
|
print*,' MD: Mid Latitude Disturbed'
|
||||||
|
print*,' HM: High Latitude Moderate'
|
||||||
|
print*,' ... etc.'
|
||||||
go to 999
|
go to 999
|
||||||
endif
|
endif
|
||||||
call getarg(1,arg)
|
call getarg(1,arg)
|
||||||
read(arg,*) f0
|
read(arg,*) f0
|
||||||
call getarg(2,arg)
|
call getarg(2,arg)
|
||||||
read(arg,*) xdt
|
read(arg,*) xdt
|
||||||
call getarg(3,arg)
|
call getarg(3,itu)
|
||||||
read(arg,*) fspread
|
|
||||||
call getarg(4,arg)
|
call getarg(4,arg)
|
||||||
read(arg,*) delay
|
|
||||||
call getarg(5,arg)
|
|
||||||
read(arg,*) mm0
|
read(arg,*) mm0
|
||||||
call getarg(6,arg)
|
call getarg(5,arg)
|
||||||
read(arg,*) nn0
|
read(arg,*) nn0
|
||||||
call getarg(7,arg)
|
call getarg(6,arg)
|
||||||
read(arg,*) kk0
|
read(arg,*) kk0
|
||||||
call getarg(8,arg)
|
call getarg(7,arg)
|
||||||
read(arg,*) n
|
read(arg,*) n
|
||||||
verbose=n.ne.0
|
verbose=n.ne.0
|
||||||
call getarg(9,arg)
|
call getarg(8,arg)
|
||||||
read(arg,*) nfiles
|
read(arg,*) nfiles
|
||||||
call getarg(10,arg)
|
call getarg(9,arg)
|
||||||
read(arg,*) snrdb
|
read(arg,*) snrdb
|
||||||
|
|
||||||
call sfox_init(mm0,nn0,kk0)
|
call sfox_init(mm0,nn0,kk0,itu,fspread,delay)
|
||||||
syncwidth=100.0
|
syncwidth=100.0
|
||||||
baud=12000.0/NSPS
|
baud=12000.0/NSPS
|
||||||
bw=NQ*baud
|
bw=NQ*baud
|
||||||
|
|
||||||
write(*,1000) MM,NN,KK,NSPS,baud,bw
|
write(*,1000) MM,NN,KK,NSPS,baud,bw,itu,fspread,delay
|
||||||
1000 format('M:',i2,' Base code: (',i3,',',i3,') NSPS:',i5, &
|
1000 format('M:',i2,' Base code: (',i3,',',i3,') NSPS:',i5, &
|
||||||
' Symbol Rate:',f7.3,' BW:',f6.0)
|
' Symbol Rate:',f7.3,' BW:',f6.0/ &
|
||||||
|
'Channel: ',a2,' fspread:',f5.1,' delay:',f5.1/)
|
||||||
|
|
||||||
! Allocate storage for arrays that depend on code parameters.
|
! Allocate storage for arrays that depend on code parameters.
|
||||||
allocate(msg0(1:KK))
|
allocate(msg0(1:KK))
|
||||||
@ -179,12 +181,12 @@ program sfoxtest
|
|||||||
1310 format(f7.2,i6,2f7.2,f7.1,i6)
|
1310 format(f7.2,i6,2f7.2,f7.1,i6)
|
||||||
|
|
||||||
if(snrdb.eq.0 .and. fgood.le.0.5 .and. fgood0.gt.0.5) then
|
if(snrdb.eq.0 .and. fgood.le.0.5 .and. fgood0.gt.0.5) then
|
||||||
threshold=isnr+1 - (fgood0-0.50)/(fgood0-fgood)
|
threshold=isnr + 1 - (fgood0-0.50)/(fgood0-fgood+0.000001)
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
fgood0=fgood
|
fgood0=fgood
|
||||||
if(snrdb.ne.0.0) exit
|
if(snrdb.ne.0.0) exit
|
||||||
|
if(fgood.eq.0.0) exit
|
||||||
if(fgoodsync.lt.0.5) exit
|
if(fgoodsync.lt.0.5) exit
|
||||||
enddo ! isnr
|
enddo ! isnr
|
||||||
write(*,1320) threshold
|
write(*,1320) threshold
|
||||||
|
Loading…
x
Reference in New Issue
Block a user