Documentation ¶
Overview ¶
Package internal contains kerberos specific internal bits of API.
Index ¶
- func AlignReaders(planner fft.Planner, readers []sdr.Reader) error
- func FFTShiftAndScale(data []complex64, scale float32) error
- func GraftReaders(planner fft.Planner, readers []sdr.Reader) (sdr.ReadCloser, error)
- func PhaseOffsets(readers []sdr.Reader) ([]complex64, error)
- func ReadBuffers(readers []sdr.Reader, bufs []sdr.SamplesC64) error
- type CrossCorrelater
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AlignReaders ¶
AlignReaders will align multiple readers to be in sample lock.
func FFTShiftAndScale ¶
FFTShiftAndScale will do a FFT frequency flip, and also scale any values by a float32 real value (both real and imag) which helps if the resulting FFT is unscaled.
func GraftReaders ¶
GraftReaders will combine (in frequency space) multiple readers, and return an sdr.Reader at a higher sample rate.
func PhaseOffsets ¶
PhaseOffsets will compute the PLL startup-specific phase offsets from eachother. Although we're in sample lock, because each RTL has their own PLL and friends, they will still have phase differences. We must correct for these when doing coherent operations.
func ReadBuffers ¶
func ReadBuffers(readers []sdr.Reader, bufs []sdr.SamplesC64) error
ReadBuffers will do an sdr.ReadFull for each reader and buffer pair.
Types ¶
type CrossCorrelater ¶
type CrossCorrelater struct {
// contains filtered or unexported fields
}
CrossCorrelater contains internal members to run CrossCorrelations.
func NewCrossCorrelater ¶
func NewCrossCorrelater(planner fft.Planner, fftLength int) (*CrossCorrelater, error)
NewCrossCorrelater will return a new CrossCorrelater ready to check buffers.
func (CrossCorrelater) Correlate ¶
func (cc CrossCorrelater) Correlate( buf1, buf2 sdr.SamplesC64, ) ([]complex64, error)
Correlate will check the alignment of two buffers.