synthesizer-core-0.2: Audio signal processing coded in Haskell: Low level partSource codeContentsIndex
Synthesizer.Plain.Filter.Recursive.SecondOrder
Portabilityrequires multi-parameter type classes
Stabilityprovisional
Maintainersynthesizer@henning-thielemann.de
Description
All recursive filters with real coefficients can be decomposed into first order and second order filters with real coefficients. This follows from the Fundamental theorem of algebra.
Synopsis
data Parameter a = Parameter {
c0 :: !a
c1 :: !a
c2 :: !a
d1 :: !a
d2 :: !a
}
data Status a = Status {
u1 :: !a
u2 :: !a
y1 :: !a
y2 :: !a
}
zeroStatus :: C a => Status a
storeParameter :: Storable a => Dictionary (Parameter a)
storeStatus :: Storable a => Dictionary (Status a)
adjustPassband :: C a => Passband -> (a -> Parameter a) -> a -> Parameter a
step :: (C a, C a v) => Parameter a -> v -> State (Status v) v
modifierInit :: (C a, C a v) => Initialized (Status v) (Status v) (Parameter a) v v
modifier :: (C a, C a v) => Simple (Status v) (Parameter a) v v
causal :: (C a, C a v) => T (Parameter a, v) v
runInit :: (C a, C a v) => Status v -> T (Parameter a) -> T v -> T v
run :: (C a, C a v) => T (Parameter a) -> T v -> T v
Documentation
data Parameter a Source
Parameters for a general recursive filter of 2nd order.
Constructors
Parameter
c0 :: !a
c1 :: !a
c2 :: !a
d1 :: !a
d2 :: !a
show/hide Instances
C a v => C a (Parameter v)
Show a => Show (Parameter a)
Storable a => Storable (Parameter a)
data Status a Source
Constructors
Status
u1 :: !a
u2 :: !a
y1 :: !a
y2 :: !a
show/hide Instances
zeroStatus :: C a => Status aSource
storeParameter :: Storable a => Dictionary (Parameter a)Source
storeStatus :: Storable a => Dictionary (Status a)Source
adjustPassband :: C a => Passband -> (a -> Parameter a) -> a -> Parameter aSource
Given a function which computes the filter parameters of a lowpass filter for a given frequency, turn that into a function which generates highpass parameters, if requested filter type is Highpass.
step :: (C a, C a v) => Parameter a -> v -> State (Status v) vSource
modifierInit :: (C a, C a v) => Initialized (Status v) (Status v) (Parameter a) v vSource
modifier :: (C a, C a v) => Simple (Status v) (Parameter a) v vSource
causal :: (C a, C a v) => T (Parameter a, v) vSource
runInit :: (C a, C a v) => Status v -> T (Parameter a) -> T v -> T vSource
run :: (C a, C a v) => T (Parameter a) -> T v -> T vSource
Produced by Haddock version 2.4.2