| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Feldspar.Processing.Filters
Synopsis
- recurrenceI :: (Pushy m fvec a, Finite fvec, Seqy m ivec a, Syntax a, Syntax b, MonadComp m) => fvec -> ivec -> (Pull a -> b) -> Seq m b
 - recurrenceIO :: (Pushy m fvec a, Finite fvec, Seqy m ivec a, Pushy m bvec b, Finite bvec, Syntax a, Syntax b, MonadComp m) => fvec -> ivec -> bvec -> (Pull a -> Pull b -> b) -> Seq m b
 - fir :: (Pully fvec a, Seqy m ivec a, Syntax a, Num a, MonadComp m) => fvec -> ivec -> Seq m a
 - iir :: (Pully bvec a, Pully fvec a, Seqy m ivec a, Syntax a, Fractional a, MonadComp m) => a -> bvec -> fvec -> ivec -> Seq m a
 - firPull :: (Pully vec1 a, Pully vec2 a, Syntax a, Num a) => vec1 -> vec2 -> Pull a
 
Documentation
Arguments
| :: (Pushy m fvec a, Finite fvec, Seqy m ivec a, Pushy m bvec b, Finite bvec, Syntax a, Syntax b, MonadComp m) | |
| => fvec | Initial input buffer  | 
| -> ivec | Input vector  | 
| -> bvec | Initial output buffer  | 
| -> (Pull a -> Pull b -> b) | Step function, producing one output from previous inputs and outputs  | 
| -> Seq m b | Output vector  | 
Arguments
| :: (Pully fvec a, Seqy m ivec a, Syntax a, Num a, MonadComp m) | |
| => fvec | Filter coefficients  | 
| -> ivec | Input vector  | 
| -> Seq m a | Output vector  | 
FIR filter
Arguments
| :: (Pully bvec a, Pully fvec a, Seqy m ivec a, Syntax a, Fractional a, MonadComp m) | |
| => a | First feedback coefficient  | 
| -> bvec | Remaining feedback coefficients  | 
| -> fvec | Feedforward coefficients  | 
| -> ivec | Input vector  | 
| -> Seq m a | Output vector  | 
IIR filter
Arguments
| :: (Pully vec1 a, Pully vec2 a, Syntax a, Num a) | |
| => vec1 | Filter coefficients  | 
| -> vec2 | Input vector  | 
| -> Pull a | Output vector  | 
FIR filter for Pull vectors
This version avoids creating a queue for previous inputs (since they are all available anyway).
Note that each input element is referred many times, so the input should
 normally be a Manifest. In particular, this means that it is usually not a
 good idea to compose firPull without writing to memory in between.