diff options
| -rw-r--r-- | conv.awk | 1 | ||||
| -rw-r--r-- | diff.awk | 46 | ||||
| -rw-r--r-- | diff1.awk | 1 | ||||
| -rw-r--r-- | hamming.awk | 6 | ||||
| -rw-r--r-- | kalman.awk | 1 | ||||
| -rw-r--r-- | kalman_init.awk | 1 | ||||
| -rw-r--r-- | lin_reg.awk | 2 | ||||
| -rw-r--r-- | lin_reg1.awk | 1 |
8 files changed, 35 insertions, 24 deletions
@@ -4,6 +4,7 @@ # [PoC] linear convolution (with hardcoded IR window).
BEGIN {
+ OFMT = "%.9g"
X = ARGV[1]
input_size = split(X, X_arr)
#H = "1.0 1.0 1.0" # rect
@@ -4,6 +4,7 @@ # numerical diff along columns BEGIN { + OFMT = "%.9g" sign = "[+-]?" decimal = "[0-9]+[.]?[0-9]*" fraction = "[.][0-9]*" @@ -12,44 +13,49 @@ BEGIN { } NR == 1 { - header_nf = NF + ### orig columns for (n=1; n<=NF; n++) { - printf("%s", $n) - ($n !~ number) ? dheader[n] = "d" $n : dheader[n] = "dcol_" n + ($n !~ number) ? header[n] = $n : header[n] = "col" n + printf(header[n]) + ($n !~ number) ? dheader[n] = "d" $n : dheader[n] = "dcol" n if (n <= NF) - printf("%s", OFS) + printf(OFS) } + ### diff columns for (n=1; n<=NF; n++) { - printf("%s", dheader[n]) + printf(dheader[n]) if (n < NF) - printf("%s", OFS) + printf(OFS) } } -NF != 0 { - if (NF > max_nf) - max_nf = NF +NF { + if (NF > nf_max) + nf_max = NF - ### iterate over columns - for (y=1; y<=max_nf; y++) { - if (match(dheader[y], $y)) + ### orig columns + for (y=1; y<=nf_max; y++) { + if ($y == header[y] || $y == dheader[y]) continue if ($y ~ number) - printf("%g", $y) - if (y <= max_nf) - printf("%s", OFS) + printf($y) + else + printf("") + printf(OFS) } - for (y=1; y<=max_nf; y++) { + ### diff columns + for (y=1; y<=nf_max; y++) { if ($y ~ number) { data[y] = $y - (data_prev[y] ~ number) ? diff[y] = data[y] - data_prev[y] : diff[y] = "nan" + (data_prev[y] ~ number) ? diff[y] = data[y] - data_prev[y] : diff[y] = "" data_prev[y] = data[y] - printf("%g", diff[y]) - if (y < max_nf) - printf("%s", OFS) + printf(diff[y]) + if (y < nf_max) + printf(OFS) } + diff[y] = "" } printf("\n") } @@ -4,6 +4,7 @@ # numerical diff along columns BEGIN { + OFMT = "%.9g" sign = "[+-]?" decimal = "[0-9]+[.]?[0-9]*" fraction = "[.][0-9]*" diff --git a/hamming.awk b/hamming.awk index 21d241e..84dacd3 100644 --- a/hamming.awk +++ b/hamming.awk @@ -6,10 +6,10 @@ # 'a0' and 'a1' parameters of the raised cosine.
BEGIN {
-
+ OMFT = "%.9g"
N = ARGV[1]
-
pi = 4*(4*atan2(1,5) - atan2(1,239))
+
#a0 = (25.0/46.0)
#a1 = (21.0/46.0)
@@ -25,7 +25,7 @@ BEGIN { w[n] = a0 - a1*cos((2*pi*n)/(N - 1))
sum_w += w[n]
}
- printf("%g %g\n", w[n], 2.0*(w[n])/(N + 1))
+ print 2.0*(w[n])/(N + 1)
}
}
@@ -4,6 +4,7 @@ # simple linear regression between columns BEGIN { + OMFT = "%.9g" sign = "[+-]?" decimal = "[0-9]+[.]?[0-9]*" fraction = "[.][0-9]*" diff --git a/kalman_init.awk b/kalman_init.awk index f1dcac4..9e0cd14 100644 --- a/kalman_init.awk +++ b/kalman_init.awk @@ -4,6 +4,7 @@ # kalman csv experiemnt BEGIN { + OMFT = "%.9" sign = "[+-]?" decimal = "[0-9]+[.]?[0-9]*" fraction = "[.][0-9]*" diff --git a/lin_reg.awk b/lin_reg.awk index e1cb722..51f2e87 100644 --- a/lin_reg.awk +++ b/lin_reg.awk @@ -39,7 +39,7 @@ NF != 0 { sum_delta2[y] += delta[y]*delta[y] ### sample variance - (count[y] - 1) ? var[y] = sum_delta2[y]/(count[y] - 1) : var[y] = 0 + (count[y] > 1) ? var[y] = sum_delta2[y]/(count[y] - 1) : var[y] = 0 # x = row, y = col for (x=1; x<=max_nf; x++) { diff --git a/lin_reg1.awk b/lin_reg1.awk index de1189f..cd3db8e 100644 --- a/lin_reg1.awk +++ b/lin_reg1.awk @@ -4,6 +4,7 @@ # simple linear regression between individual text columns BEGIN { + OFS = "%.9g" sign = "[+-]?" decimal = "[0-9]+[.]?[0-9]*" fraction = "[.][0-9]*" |
