Versions in this module Expand all Collapse all v0 v0.0.4 Dec 1, 2023 v0.0.3 Dec 1, 2023 Changes in this version + func FmDemodulate(fi *FMDemodFilter, input []complex64, output []float32) int + func Rtoc(r []float64) []complex128 + func Rtoc32(r []float32) []complex64 + func VscaleF32(input, output []float32, scale float32) + func Window(output []float64, a []float64) + func WindowF32(output []float32, a []float64) v0.0.2 Dec 1, 2023 v0.0.1 Dec 1, 2023 Changes in this version + var BlackmanFreqCoeff = []float64 + var BlackmanFreqCoeff32 = []float32 + var HammingFreqCoeff = []float64 + var HammingFreqCoeff32 = []float32 + var HanningFreqCoeff = []float64 + var HanningFreqCoeff32 = []float32 + func Atan2LUT(y, x int) int + func BlackmanWindow(output []float64) + func BlackmanWindowF32(output []float32) + func Conj32(x complex64) complex64 + func F32toi16(input []float32, output []int16, scale float32) + func F32toi16ble(input []float32, output []byte, scale float32) + func FastAtan2(y, x float32) float32 + func FastAtan2Fixed(y, x int) int + func FastAtan2_2(y, x float32) float32 + func FastPhase32(x complex64) float32 + func HammingWindow(output []float64) + func HammingWindowF32(output []float32) + func HanningWindow(output []float64) + func HanningWindowF32(output []float32) + func Hermite4p3o(samples []float64, x float64) float64 + func Hermite4p3oF32(samples []float32, x float32) float32 + func I16bleToF32(input []byte, output []float32, scale float32) + func I16bleToF64(input []byte, output []float64, scale float64) + func I8tof32(input []byte, output []float32) + func Linear(samples []float64, x float64) float64 + func LinearF32(samples []float32, x float32) float32 + func NuttallWindow(output []float64) + func NuttallWindowF32(output []float32) + func Optimal2x4p4o(samples []float64, x float64) float64 + func Optimal2x4p4oF32(samples []float32, x float32) float32 + func Optimal2x6p5o(samples []float64, x float64) float64 + func Optimal2x6p5oF32(samples []float32, x float32) float32 + func Phase32(x complex64) float32 + func PolarDiscriminator(a, b complex128) float64 + func PolarDiscriminator32(a, b complex64) float32 + func TriangleWindow(output []float64) + func TriangleWindowF32(output []float32) + func Ui8toc64(input []byte, output []complex64) + func Ui8tof32(input []byte, output []float32) + func Ui8toi16(input []byte, output []int16) + func Ui8toi16b(input, output []byte) + func VAbsC64(input []complex64, output []float32) + func VAddC64(input, output []complex64) + func VAddF32(input, output []float32) + func VMaxF32(input []float32) float32 + func VMulC64(input, output, mul []complex64) + func VMulC64xF32(input, output []complex64, mul []float32) + func VScaleC64(input, output []complex64, scale float32) + func VScaleF32(input, output []float32, scale float32) + type BiQuadFilter struct + A0 float64 + A1 float64 + A2 float64 + B0 float64 + B1 float64 + B2 float64 + func AllPassBiQuadFilter(sampleRate, centreFrequency, q float64) *BiQuadFilter + func HighShelfBiQuadFilter(sampleRate, cutoffFrequency, shelfSlope, dbGain float64) *BiQuadFilter + func LowShelfBiQuadFilter(sampleRate, cutoffFrequency, shelfSlope, dbGain float64) *BiQuadFilter + func NewBandPassConstantPeakGainBiQuadFilter(sampleRate, centreFrequency, q float64) *BiQuadFilter + func NewBandPassConstantSkirtGainBiQuadFilter(sampleRate, centreFrequency, q float64) *BiQuadFilter + func NewHighPassBiQuadFilter(sampleRate, cutoffFreq, q float64) *BiQuadFilter + func NewLowPassBiQuadFilter(sampleRate, cutoffFreq, q float64) *BiQuadFilter + func NotchBiQuadFilter(sampleRate, centreFrequency, q float64) *BiQuadFilter + func PeakingEQBiQuadFilter(sampleRate, centreFrequency, q, dbGain float64) *BiQuadFilter + func (f *BiQuadFilter) Filter(input, output []float64) + func (f *BiQuadFilter) FilterF32(input, output []float32) + type ComplexFilter interface + Filter func([]complex64) ([]complex64, error) + type ComplexGoertzel struct + func NewComplexGoertzel(targetFreqs []uint64, sampleRate, blockSize int) *ComplexGoertzel + func (g *ComplexGoertzel) Complex() []complex128 + func (g *ComplexGoertzel) Feed(samples []complex128) + func (g *ComplexGoertzel) Magnitude() []float64 + func (g *ComplexGoertzel) Reset() + type ComplexIIRFilter struct + func NewComplexIIRFilter(bCoef, aCoef []float64) *ComplexIIRFilter + func (f *ComplexIIRFilter) Filter(input, output []complex128) + type ComplexIIRFilter32 struct + func NewComplexIIRFilter32(bCoef, aCoef []float32) *ComplexIIRFilter32 + func (f *ComplexIIRFilter32) Filter(input, output []complex64) + type ComplexSource interface + Source func() ([]complex64, error) + type Demodulator interface + Demodulate func(input []complex64, output []float32) (int, error) + type FMDemodFilter struct + func (fi *FMDemodFilter) Demodulate(input []complex64, output []float32) int + type Goertzel struct + func NewGoertzel(targetFreqs []uint64, sampleRate, blockSize int) *Goertzel + func (g *Goertzel) Complex() []complex128 + func (g *Goertzel) Feed(samples []float64) + func (g *Goertzel) Magnitude() []float64 + func (g *Goertzel) Reset() + type Goertzel32 struct + func NewGoertzel32(targetFreqs []uint64, sampleRate, blockSize int) *Goertzel32 + func (g *Goertzel32) Complex() []complex64 + func (g *Goertzel32) Feed(samples []float32) + func (g *Goertzel32) Magnitude() []float32 + func (g *Goertzel32) Reset() + type I32Rotate90Filter struct + func (fi *I32Rotate90Filter) Filter(samples []int32) []int32 + type IIRFilter struct + func NewIIRFilter(bCoef, aCoef []float64) *IIRFilter + func (f *IIRFilter) Filter(input, output []float64) + type LowPassDownsampleComplexFilter struct + Downsample int + func (fi *LowPassDownsampleComplexFilter) Filter(samples []complex64) []complex64 + type LowPassDownsampleRationalFilter struct + Fast int + Slow int + func (fi *LowPassDownsampleRationalFilter) Filter(samples []float32) []float32 + type RealSink interface + Sink func([]float32) error + type Rotate90Filter struct + func (fi *Rotate90Filter) Filter(samples []complex64) []complex64 + type SDFT struct + func NewSDFT(k, n int, window []float64) *SDFT + func (sd *SDFT) Filter(x complex128) complex128 + type SDFT32 struct + func NewSDFT32(k, n int, window []float32) *SDFT32 + func (sd *SDFT32) Filter(x complex64) complex64