Hello,
I am new to this group, and have a question about the fortran code
of gen_ft8wave. I am using the fortran code in a c++ library to support ft8
in my own sdr transceiver development on a raspberry pi. (see github
https://github.com/paulh002/wsjtx_lib and
https://github.com/paulh002/sdrberry). I have made a c++ wrapper library
with the fortran code which works fine but for one issue.
Sometimes the subroutine gen_ft8wave generates an incorrect ft8 wave. This
happens when the subroutine gen_ft8wave is first used in the decode process
which uses a sample rate of 12000 Hz. The subroutine saves the sample time
in variable dt, but when I generate a ft8 signal I use 480000 Hz and the dt
variable is then incorrect. (It saves the sample time on first execution).
The other way around if you first generate a wave with 48000 Hz sample rate
the subroutine subtract will call gen_ft8wave with a sample frequency of
12000 Hz and will receive an incorrect wave form.
For now I fixed this by checking also the sample rate see the code snippet
below. My question is if this observation is correct?
real f1
save pulse,twopi,dt,hmod,ibt0,ctab, f1
ibt=nint(10*bt)
if(ibt0.ne.ibt .or. f1.ne.fsample) then
twopi=8.0*atan(1.0)
dt=1.0/fsample
hmod=1.0
! Compute the frequency-smoothing pulse
do i=1,3*nsps
tt=(i-1.5*nsps)/real(nsps)
pulse(i)=gfsk_pulse(bt,tt)
enddo
ibt0=nint(10*bt)
do i=0,NTAB-1
phi=i*twopi/NTAB
ctab(i)=cmplx(cos(phi),sin(phi))
enddo
endif
f1 = fsample
73 PA0PHH
_______________________________________________
wsjt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wsjt-devel