#!/usr/bin/awk -f ### hamming.awk # generate a Hamming window # https://en.wikipedia.org/wiki/Window_function provides a few values for the # 'a0' and 'a1' parameters of the raised cosine. BEGIN { N = ARGV[1] pi = 4*(4*atan2(1,5) - atan2(1,239)) #a0 = (25.0/46.0) #a1 = (21.0/46.0) ### optimal values for equal-ripple a0 = 0.53836 a1 = 0.46164 ### R.W. Hamming, "Digital Filters" # H = "0.23 0.54 0.23" for (n=0; n 1) { w[n] = a0 - a1*cos((2*pi*n)/(N - 1)) sum_w += w[n] } print 2.0*(w[n])/(N + 1) } }