summaryrefslogtreecommitdiff
path: root/hamming.awk
diff options
context:
space:
mode:
authorwukong <wukong@longaeva>2018-11-04 10:59:44 -0800
committerwukong <wukong@longaeva>2018-11-04 10:59:44 -0800
commite14342e827e2b42e43c006df90c7ad99e5124b3c (patch)
treec73e930f3b111bb659957df1509e7d9f5a3c8493 /hamming.awk
parent72fdb25210c579beaabc35cae7ec803436887f20 (diff)
added gaussian.awk based on hamming script;
added pwr(x,p) function to sterling_approx; minor clean up all around;
Diffstat (limited to 'hamming.awk')
-rw-r--r--hamming.awk33
1 files changed, 21 insertions, 12 deletions
diff --git a/hamming.awk b/hamming.awk
index 95f1cde..fd6d89c 100644
--- a/hamming.awk
+++ b/hamming.awk
@@ -6,25 +6,34 @@
# 'a0' and 'a1' parameters of the raised cosine.
BEGIN {
+
+ ### R.W. Hamming, "Digital Filters"
+ # H = "0.23 0.54 0.23"
+
N = ARGV[1]
- pi = 4*(4*atan2(1,5) - atan2(1,239))
+ # window interval goes from -M to M
+ M = 0.5*(N - 1)
+ pi = 4*atan2(1,1)
- #a0 = (25.0/46.0)
- #a1 = (21.0/46.0)
+ a0 = (25.0/46.0)
+ a1 = (21.0/46.0)
### optimal values for equal-ripple
- a0 = 0.53836
- a1 = 0.46164
+ #a0 = 0.53836
+ #a1 = 0.46164
- ### R.W. Hamming, "Digital Filters"
- # H = "0.23 0.54 0.23"
+ ### VonHann
+ #a0 = 0.5
+ #a1 = 0.5
- for (n=0; n<N; n++) {
- if (N > 1) {
- w[n] = a0 - a1*cos((2*pi*n)/(N - 1))
- sum_w += w[n]
+ for (n=-M; n<=M; n++) {
+ if (N > 1 && M > 0) {
+ w[n] = a0 + a1*cos((pi*n)/M)
+ print n, w[n]/M
+ }
+ else {
+ print n, 1.0
}
- print 2.0*(w[n])/(N + 1)
}
}