diff options
| -rw-r--r-- | conv.awk | 3 | ||||
| -rw-r--r-- | fib.awk | 3 | ||||
| -rw-r--r-- | gaussian.awk | 3 | ||||
| -rw-r--r-- | hamming.awk | 12 | ||||
| -rw-r--r-- | lin_reg.awk | 2 | ||||
| -rw-r--r-- | pi.awk | 5 | ||||
| -rw-r--r-- | quad_reg.awk | 2 | ||||
| -rw-r--r-- | sterling_approx.awk | 3 |
8 files changed, 18 insertions, 15 deletions
@@ -4,7 +4,8 @@ # [PoC] linear convolution (with hardcoded IR window).
BEGIN {
- X = ARGV[1]
+ ARGV[1] ? X = ARGV[1] : X = 0
+ ARGV[2] ? OFMT = "%." ARGV[2] "g" : OFMT = "%g"
input_size = split(X, X_arr)
#H = "1.0 1.0 1.0" # rect
#H = "0.25 0.50 0.25" # von Hann
@@ -4,7 +4,8 @@ # fib sol'n from Hamming BEGIN { - n = ARGV[1] + ARGV[1] ? n = ARGV[1] : n = 0 + ARGV[2] ? OFMT = "%." ARGV[2] "g" : OFMT = "%g" print (1/sqrt(5))*(0.5*(1 + sqrt(5)))^n - (1/sqrt(5))*(0.5*(1 - sqrt(5)))^n } diff --git a/gaussian.awk b/gaussian.awk index ef81b68..48c3f9a 100644 --- a/gaussian.awk +++ b/gaussian.awk @@ -6,7 +6,8 @@ BEGIN {
- N = ARGV[1]
+ ARGV[1] ? N = ARGV[1] : N = 0
+ ARGV[2] ? OFMT = "%." ARGV[2] "g" : OFMT = "%g"
M = 0.5*(N - 1)
# sigma <= 0.5
diff --git a/hamming.awk b/hamming.awk index fd6d89c..f7ff9f7 100644 --- a/hamming.awk +++ b/hamming.awk @@ -7,14 +7,16 @@ BEGIN {
- ### R.W. Hamming, "Digital Filters"
- # H = "0.23 0.54 0.23"
+ ARGV[1] ? N = ARGV[1] : N = 0
+ ARGV[2] ? OFMT = "%." ARGV[2] "g" : OFMT = "%g"
- N = ARGV[1]
# window interval goes from -M to M
M = 0.5*(N - 1)
pi = 4*atan2(1,1)
+ ### R.W. Hamming, "Digital Filters"
+ # H = "0.23 0.54 0.23"
+
a0 = (25.0/46.0)
a1 = (21.0/46.0)
@@ -29,10 +31,10 @@ BEGIN { for (n=-M; n<=M; n++) {
if (N > 1 && M > 0) {
w[n] = a0 + a1*cos((pi*n)/M)
- print n, w[n]/M
+ print n + M, w[n]/M
}
else {
- print n, 1.0
+ print n + M, 1.0
}
}
diff --git a/lin_reg.awk b/lin_reg.awk index 205c43f..aa94b0a 100644 --- a/lin_reg.awk +++ b/lin_reg.awk @@ -87,7 +87,7 @@ END { for (x=1; x<=nf_max; x++) { if (x != y && r[x,y]) { printf(OFMT OFS "(%s)" OFS " = (" OFMT " +/- " OFMT ")(%s)" OFS " + (" OFMT " +/- " OFMT ")" ORS, - 10.0*log(r[x,y]*r[x,y])/log(10.0), + (r[x,y]*r[x,y]), header[y], b[x,y], b_err[x,y], header[x], a[x,y], a_err[x,y]) } @@ -16,7 +16,6 @@ function pi() { } BEGIN { - (ARGV[1] > 0) ? fig = ARGV[1] : fig = 6 - str = "%." fig "g\n" - printf(str, pi()) + ARGV[1] ? OFMT = "%." ARGV[1] "g" : OFMT = "%g" + printf(OFMT ORS, pi()) } diff --git a/quad_reg.awk b/quad_reg.awk index ede06a4..a587a3a 100644 --- a/quad_reg.awk +++ b/quad_reg.awk @@ -118,7 +118,7 @@ END { for (y=1; y<=nf_max; y++) { if (x != y && r[x,y]) { printf(OFMT OFS "(%s)" OFS " = (" OFMT ")(%s)^2" OFS " + (" OFMT ")(%s)" OFS " + (" OFMT ")", - 10.0*log(r[x,y]*r[x,y])/log(10), header[y], c[x,y], header[x], b[x,y], header[x], a[x,y]) + (r[x,y]*r[x,y]), header[y], c[x,y], header[x], b[x,y], header[x], a[x,y]) printf(" [" OFMT "," OFMT "][" OFMT "," OFMT "][" OFMT "," OFMT "]" OFS" [" OFMT "," OFMT "]", rx0[x,y], (a[x,y] + b[x,y]*rx0[x,y] + c[x,y]*rx0[x,y]*rx0[x,y]), rx1[x,y], (a[x,y] + b[x,y]*rx1[x,y] + c[x,y]*rx1[x,y]*rx1[x,y]), diff --git a/sterling_approx.awk b/sterling_approx.awk index aa0a748..cb5f563 100644 --- a/sterling_approx.awk +++ b/sterling_approx.awk @@ -18,8 +18,7 @@ function pwr(x, p) { BEGIN { ARGV[1] ? n = ARGV[1] : n = 0 - ARGV[2] ? prec = ARGV[2] : prec = "" - prec ? OFMT = "%." prec "g" : OFMT = "%g" + ARGV[2] ? OFMT = "%." ARGV[2] "g" : OFMT = "%g" pi = 4*atan2(1,1) f = 0 if (n > 0) { |
