Remove a small bias in Watterson channel simulator channel amplitude.

This commit is contained in:
Steve Franke 2018-10-25 16:39:17 -05:00
parent 50ff8d3498
commit 87b97039b6
3 changed files with 8 additions and 5 deletions

View File

@ -77,7 +77,7 @@ program wsprsim
c=c0
if(nwav.eq.0) then
if( fspread .ne. 0.0 .or. delay .ne. 0.0 ) then
call watterson(c,NMAX/NDOWN,fs,delay,fspread)
call watterson(c,NMAX/NDOWN,NN*NSPS,fs,delay,fspread)
endif
c=c*sig
if(snrdb.lt.90) then

View File

@ -102,7 +102,7 @@ program ft8sim
phi=mod(phi+dphi,twopi)
enddo
enddo
if(fspread.ne.0.0 .or. delay.ne.0.0) call watterson(c0,NMAX,fs,delay,fspread)
if(fspread.ne.0.0 .or. delay.ne.0.0) call watterson(c0,NMAX,NWAVE,fs,delay,fspread)
c=sig*c0
ib=k

View File

@ -1,5 +1,8 @@
subroutine watterson(c,npts,fs,delay,fspread)
subroutine watterson(c,npts,nsig,fs,delay,fspread)
!
! npts is the total length of the simulated data vector
! nsig is the number of points that are occupied by signal
!
complex c(0:npts-1)
complex c2(0:npts-1)
complex cs1(0:npts-1)
@ -55,7 +58,7 @@ subroutine watterson(c,npts,fs,delay,fspread)
! write(61,3001) i/12000.0,c(i)
!3001 format(3f12.6)
enddo
rms=sqrt(sq/npts)
rms=sqrt(sq/nsig)
c=c/rms
return