From 9ac9c6f724c16a172ecb923a0360bc9a9ffc3806 Mon Sep 17 00:00:00 2001 From: wukong Date: Tue, 25 Dec 2018 14:44:46 -0800 Subject: began merging windowing scripts; swapped std_dev and std_err in mean and mean_avg; --- gaussian.awk | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'gaussian.awk') diff --git a/gaussian.awk b/gaussian.awk index 48c3f9a..dfb5fb4 100644 --- a/gaussian.awk +++ b/gaussian.awk @@ -4,19 +4,28 @@ # generate a Gaussian window # https://en.wikipedia.org/wiki/Window_function + +### Gaussian +function gaussian(n) { + # sigma <= 0.5 + sigma = 0.4 + en[n] = (n - M)/(sigma*M) + return exp(-0.5*e[n]*e[n]) +} + + BEGIN { ARGV[1] ? N = ARGV[1] : N = 0 ARGV[2] ? OFMT = "%." ARGV[2] "g" : OFMT = "%g" - M = 0.5*(N - 1) - # sigma <= 0.5 - sigma = 0.4 + # window interval goes from -M to M + M = 0.5*(N - 1) + pi = 4*atan2(1,1) for (n=0; n 1 && M > 0) { - e[n] = (n - M)/(sigma*M) - w[n] = exp(-0.5*e[n]*e[n]) + w[n] = gaussian(n) print n, w[n]/M } else { -- cgit v1.2.3