Safe Haskell | None |
---|
Windowing functions.
- type Window x = x -> x
- type Table x = [x]
- window_table :: (Integral n, Fractional a, Enum a) => n -> Window a -> Table a
- bessel0 :: Double -> Double
- square :: Num a => a -> a
- gaussian :: Floating a => a -> Window a
- hann :: Floating a => Window a
- hamming :: Floating a => Window a
- kaiser :: Double -> Window Double
- lanczos :: Window Double
- rectangular :: Window a
- sine :: Floating a => Window a
- triangular :: Fractional a => Window a
- gaussian_table :: (Integral n, Floating b, Enum b) => n -> b -> [b]
- hamming_table :: Int -> [Double]
- hann_table :: Int -> [Double]
- kaiser_table :: Int -> Double -> [Double]
- lanczos_table :: Integral n => n -> [Double]
- sine_table :: (Integral n, Floating b, Enum b) => n -> [b]
- triangular_table :: (Integral n, Fractional b, Enum b) => n -> [b]
Type and conversion
window_table :: (Integral n, Fractional a, Enum a) => n -> Window a -> Table aSource
Generate an n element table from a (0,1) normalised window function.
Math
Window functions
rectangular :: Window aSource
Unit (id
) window, also known as a Dirichlet window.
triangular :: Fractional a => Window aSource
Triangular window, ie. Bartlett window with zero end-points.
Tables
gaussian_table :: (Integral n, Floating b, Enum b) => n -> b -> [b]Source
plot [gaussian_table 1024 0.25,gaussian_table 1024 0.5]
hamming_table :: Int -> [Double]Source
plot [hann 128,hamming 128]
hann_table :: Int -> [Double]Source
window_table
. hann
.
plot [hann_table 128]
kaiser_table :: Int -> Double -> [Double]Source
plot [kaiser_table 128 1,kaiser_table 128 2,kaiser_table 128 8]
lanczos_table :: Integral n => n -> [Double]Source
plot [lanczos (2^9)]
sine_table :: (Integral n, Floating b, Enum b) => n -> [b]Source
window_table
. sine
.
plot [sine 128]
triangular_table :: (Integral n, Fractional b, Enum b) => n -> [b]Source
plot [triangular (2^9)]