changeset 264:046a2e323716

transform/window -> signal/window
author Chris Cannam
date Thu, 23 May 2013 11:21:30 +0100
parents 772484665c5d
children c7efd12c27c5
files yetilab/signal/window.yeti yetilab/stream/framer.yeti yetilab/transform/window.yeti
diffstat 3 files changed, 90 insertions(+), 90 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/yetilab/signal/window.yeti	Thu May 23 11:21:30 2013 +0100
@@ -0,0 +1,89 @@
+
+module yetilab.signal.window;
+
+vec = load yetilab.vector.vector;
+bf = load yetilab.vector.blockfuncs;
+
+cosineWindowSymmetric a0 a1 a2 a3 n =
+   (n1 = n - 1;
+    vec.fromList
+       (map do i:
+            a0
+            - a1 * cos(2 * pi * i / n1)
+            + a2 * cos(4 * pi * i / n1)
+            - a3 * cos(6 * pi * i / n1)
+            done [0..n1]));
+
+cosineWindowPeriodic a0 a1 a2 a3 n =
+   (vec.fromList
+       (map do i:
+            a0
+            - a1 * cos(2 * pi * i / n)
+            + a2 * cos(4 * pi * i / n)
+            - a3 * cos(6 * pi * i / n)
+            done [0..n-1]));
+                  
+cosineWindow a0 a1 a2 a3 sampling n =
+    case sampling of 
+    Symmetric (): cosineWindowSymmetric;
+    Periodic (): cosineWindowPeriodic;
+    esac a0 a1 a2 a3 n;
+
+hann = cosineWindow 0.5 0.5 0.0 0.0;
+hamming = cosineWindow 0.54 0.46 0.0 0.0;
+blackman = cosineWindow 0.42 0.50 0.08 0.0;
+nuttall = cosineWindow 0.355768 0.487396 0.144232 0.012604;
+blackmanNuttall = cosineWindow 0.3635819 0.4891775 0.1365995 0.0106411;
+blackmanHarris = cosineWindow 0.35875 0.48829 0.14128 0.01168;
+
+boxcar = vec.consts 0.5;
+
+bartlett n =
+    vec.fromList
+       (m = n/2;
+        concat [
+            map do i:
+                i / m
+                done [0..m-1],
+            map do i:
+                1.0 - (i / m)
+                done [0..m-1]
+            ]);
+
+windowFunction type options n =
+   (var sampling = Periodic ();
+    for options \case of
+        Symmetric s: if s then sampling := Symmetric () fi
+        esac;
+    case type of
+    Hann (): hann sampling;
+    Hamming (): hamming sampling;
+    Blackman (): blackman sampling;
+    Nuttall (): nuttall sampling;
+    BlackmanNuttall (): blackmanNuttall sampling;
+    BlackmanHarris (): blackmanHarris sampling;
+    Boxcar (): boxcar;
+    Bartlett (): bartlett;
+    esac);
+
+windowed windowFunc frames =
+    case frames of
+        []: frames;
+         _: (first = head frames;
+             window = windowFunc (vec.length first);
+             map (bf.multiply window) frames);
+    esac;
+
+{
+cosineWindow,
+hann = hann (Periodic ()),
+hamming = hamming (Periodic ()), 
+blackman = blackman (Periodic ()), 
+nuttall = nuttall (Periodic ()), 
+blackmanNuttall = blackmanNuttall (Periodic ()), 
+blackmanHarris = blackmanHarris (Periodic ()),
+boxcar, bartlett, 
+windowFunction,
+windowed
+};
+
--- a/yetilab/stream/framer.yeti	Thu May 23 11:20:15 2013 +0100
+++ b/yetilab/stream/framer.yeti	Thu May 23 11:21:30 2013 +0100
@@ -9,7 +9,7 @@
 vec = load yetilab.vector.vector;
 bf = load yetilab.vector.blockfuncs;
 af = load yetilab.stream.audiofile;
-win = load yetilab.transform.window;
+win = load yetilab.signal.window;
 fft = load yetilab.transform.fft;
 mat = load yetilab.matrix.matrix;
 ch = load yetilab.stream.channels;
--- a/yetilab/transform/window.yeti	Thu May 23 11:20:15 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-
-module yetilab.transform.window;
-
-vec = load yetilab.vector.vector;
-bf = load yetilab.vector.blockfuncs;
-
-cosineWindowSymmetric a0 a1 a2 a3 n =
-   (n1 = n - 1;
-    vec.fromList
-       (map do i:
-            a0
-            - a1 * cos(2 * pi * i / n1)
-            + a2 * cos(4 * pi * i / n1)
-            - a3 * cos(6 * pi * i / n1)
-            done [0..n1]));
-
-cosineWindowPeriodic a0 a1 a2 a3 n =
-   (vec.fromList
-       (map do i:
-            a0
-            - a1 * cos(2 * pi * i / n)
-            + a2 * cos(4 * pi * i / n)
-            - a3 * cos(6 * pi * i / n)
-            done [0..n-1]));
-                  
-cosineWindow a0 a1 a2 a3 sampling n =
-    case sampling of 
-    Symmetric (): cosineWindowSymmetric;
-    Periodic (): cosineWindowPeriodic;
-    esac a0 a1 a2 a3 n;
-
-hann = cosineWindow 0.5 0.5 0.0 0.0;
-hamming = cosineWindow 0.54 0.46 0.0 0.0;
-blackman = cosineWindow 0.42 0.50 0.08 0.0;
-nuttall = cosineWindow 0.355768 0.487396 0.144232 0.012604;
-blackmanNuttall = cosineWindow 0.3635819 0.4891775 0.1365995 0.0106411;
-blackmanHarris = cosineWindow 0.35875 0.48829 0.14128 0.01168;
-
-boxcar = vec.consts 0.5;
-
-bartlett n =
-    vec.fromList
-       (m = n/2;
-        concat [
-            map do i:
-                i / m
-                done [0..m-1],
-            map do i:
-                1.0 - (i / m)
-                done [0..m-1]
-            ]);
-
-windowFunction type options n =
-   (var sampling = Periodic ();
-    for options \case of
-        Symmetric s: if s then sampling := Symmetric () fi
-        esac;
-    case type of
-    Hann (): hann sampling;
-    Hamming (): hamming sampling;
-    Blackman (): blackman sampling;
-    Nuttall (): nuttall sampling;
-    BlackmanNuttall (): blackmanNuttall sampling;
-    BlackmanHarris (): blackmanHarris sampling;
-    Boxcar (): boxcar;
-    Bartlett (): bartlett;
-    esac);
-
-windowed windowFunc frames =
-    case frames of
-        []: frames;
-         _: (first = head frames;
-             window = windowFunc (vec.length first);
-             map (bf.multiply window) frames);
-    esac;
-
-{
-cosineWindow,
-hann = hann (Periodic ()),
-hamming = hamming (Periodic ()), 
-blackman = blackman (Periodic ()), 
-nuttall = nuttall (Periodic ()), 
-blackmanNuttall = blackmanNuttall (Periodic ()), 
-blackmanHarris = blackmanHarris (Periodic ()),
-boxcar, bartlett, 
-windowFunction,
-windowed
-};
-