ex07_window_functions
This example compares all 53 unique BLEND window implementations through the
one-dimensional merging weights generated by merge1d. The results are split
between two figures. Every panel uses the same primary support, output axis,
sampling interval, and symmetric taper ratio, so only the window function
changes.
The primary occupies the interval 10/90 inside the full 0/100 output axis,
and its merge support is 20/80. Each mergefile uses the form:
primary secondary 20/80 <window> 0.49/0.49
secondary - - - -
The taper ratio of 0.49 leaves only a small full-weight interval and makes
differences between the window profiles easier to see. The dashed vertical
lines mark the support boundaries.
The first figure includes:
boxcar cosine trapezoid hamming blackman
blackmanharris welch parzen gaussian smoothstep
smootherstep exponential sine bohman nuttall
kaiser cauchy quadratic cubic bartlett
bartletthann lanczos hanningpoisson plancktaper logistic
The second figure includes the remaining implementations:
poisson exactblackman blackmannuttall flattop riesz
riemann fejer connes kaiserbessel quartic
quintic septic nonic tanh erf
arctan gompertz softsign agnesi inversequadratic
inversemultiquadric powerlaw root circular sech
sech2 student laplace
Several additional BLEND names are aliases. For example, hann and tukey
select the cosine implementation, linear selects trapezoid, and barthann
selects Bartlett-Hann.
Run:
./ex07_window_functions.sh
The script verifies that every merging weight remains between zero and one
and that every output value equals the weighted combination of the constant
primary and secondary series. It creates ex07_window_functions.png,
ex07_window_functions.pdf, ex07_window_functions_remaining.png, and
ex07_window_functions_remaining.pdf.
Figures