DSP.Basic
 Portability portable Stability experimental Maintainer m.p.donadio@ieee.org
 Contents Functions
Description
Basic functions for manipulating signals
Synopsis
 z :: Num a => [a] -> [a] zn :: Num a => Int -> [a] -> [a] downsample :: Num a => Int -> [a] -> [a] upsample :: Num a => Int -> [a] -> [a] upsampleAndHold :: Num a => Int -> [a] -> [a] pad :: (Ix a, Integral a, Num b) => Array a b -> a -> Array a b
Functions
z :: Num a => [a] -> [a]

z is the unit delay function, eg,

`z [ 1, 2, 3 ] == [ 0, 1, 2, 3 ]`
zn :: Num a => Int -> [a] -> [a]

zn is the n sample delay function, eg,

`zn 3 [ 1, 2, 3 ] == [ 0, 0, 0, 1, 2, 3 ]`
downsample :: Num a => Int -> [a] -> [a]

downsample throws away every n'th sample, eg,

`downsample 2 [ 1, 2, 3, 4, 5, 6 ] == [ 1, 3, 5 ]`
upsample :: Num a => Int -> [a] -> [a]

upsample inserts n-1 zeros between each sample, eg,

`upsample 2 [ 1, 2, 3 ] == [ 1, 0, 2, 0, 3, 0 ]`
upsampleAndHold :: Num a => Int -> [a] -> [a]

upsampleAndHold replicates each sample n times, eg,

`upsampleAndHold 3 [ 1, 2, 3 ] == [ 1, 1, 1, 2, 2, 2, 3, 3, 3 ]`
pad :: (Ix a, Integral a, Num b) => Array a b -> a -> Array a b

pad a sequence with zeros to length n

`pad [ 1, 2, 3 ] 6 == [ 1, 2, 3, 0, 0, 0 ]`