|
- package dsp
-
- // ApplyFIRReal applies real FIR taps to real signal.
- func ApplyFIRReal(x []float32, taps []float64) []float32 {
- if len(x) == 0 || len(taps) == 0 {
- return nil
- }
- out := make([]float32, len(x))
- for i := 0; i < len(x); i++ {
- var acc float64
- for k := 0; k < len(taps); k++ {
- idx := i - k
- if idx < 0 {
- break
- }
- acc += float64(x[idx]) * taps[k]
- }
- out[i] = float32(acc)
- }
- return out
- }
|