### 5.25.20 Tukey window function : tukey_window

tukey_window takes as arguments a real vector v of length n and optionally a real number α∈[0,1] (by default α=0.5 ) and/or an interval n1 .. n2 (with default values n1=0 and n2=n−1 ), and returns the elementwise product of the vector [vn1,…,vn2] and the vector w of length N=n2−n1+1 defined by

wk=

⎧
⎪
⎪
⎪
⎪
⎪
⎨
⎪
⎪
⎪
⎪
⎪
⎩

1
2

⎛
⎜
⎜
⎝

1+cos

⎛
⎜
⎜
⎝

π

⎛
⎜
⎜
⎝

k
β

−1

⎞
⎟
⎟
⎠

⎞
⎟
⎟
⎠

⎞
⎟
⎟
⎠

,

k<β,

1,

β≤ k≤(N−1)

⎛
⎜
⎜
⎝

1−

α
2

⎞
⎟
⎟
⎠

,

1
2

⎛
⎜
⎜
⎝

1+cos

⎛
⎜
⎜
⎝

π

⎛
⎜
⎜
⎝

k
β

−

2
α

+1

⎞
⎟
⎟
⎠

⎞
⎟
⎟
⎠

⎞
⎟
⎟
⎠

,

otherwise,

where β=α (N−1)/2 , for k=0,1,…,N−1 . When α=0 the rectangular window function (on-off windowing) is obtained, and the case α=1 corresponds to the Hann window function. For example, input :

L:=tukey_window(randvector(1000,0..1),0.4):;

followed by scatterplot(L).