SignalProcessing - Maple Help

Home : Support : Online Help : Science and Engineering : Signal Processing : Windowing Functions : SignalProcessing/TukeyWindow

SignalProcessing

 TukeyWindow
 multiply an array of samples by a Tukey windowing function
 TaperedCosineWindow
 multiply an array of samples by a tapered cosine windowing function

 Calling Sequence TukeyWindow( A, alpha ) TaperedCosineWindow( A, alpha )

Parameters

 A - Array of real or complex numeric values; the signal alpha - real numeric constant

Options

 • container : Array, predefined Array for holding results
 • inplace : truefalse, specifies that output should overwrite input

Description

 • The TukeyWindow( A, alpha ) command multiplies the Array A by the Tukey windowing function, with parameter $\mathrm{alpha}$, and returns the result in an Array having the same length.
 • The command TaperedCosineWindow( A, alpha ) is provided as an alias.
 • The Tukey windowing function $w\left(k\right)$ with parameter $\mathrm{alpha}$ is defined as follows for a sample with $N$ points.

$w\left(k\right)=\left\{\begin{array}{cc}\frac{1}{2}-\frac{\mathrm{cos}\left(\frac{2\mathrm{\pi }k}{\mathrm{\alpha }N}\right)}{2}& k<\frac{\mathrm{\alpha }N}{2}\\ \frac{1}{2}-\frac{\mathrm{cos}\left(\frac{2\mathrm{\pi }}{\mathrm{\alpha }}-\frac{2\mathrm{\pi }k}{\mathrm{\alpha }N}\right)}{2}& N-\frac{1}{2}\mathrm{\alpha }N

 • Before the code performing the computation runs, A is converted to datatype float[8] or complex[8] if it does not have one of those datatypes already. For this reason, it is most efficient if A has one of these datatypes beforehand. This does not apply if inplace is true.
 • If the container=C option is provided, then the results are put into C and C is returned. With this option, no additional memory is allocated to store the result. The container must be an Array of the same size and datatype as A.
 • If the inplace or inplace=true option is provided, then A is overwritten with the results. In this case, the container option is ignored.

 • The SignalProcessing[TukeyWindow] and SignalProcessing[TaperedCosineWindow] commands are thread-safe as of Maple 18.

Examples

 > $\mathrm{with}\left(\mathrm{SignalProcessing}\right):$
 > $N≔1024:$
 > $a≔\mathrm{GenerateUniform}\left(N,-1,1\right)$
 ${a}{≔}\left[\begin{array}{c}{\mathrm{1 .. 1024}}{\mathrm{Array}}\\ {\mathrm{Data Type:}}{{\mathrm{float}}}_{{8}}\\ {\mathrm{Storage:}}{\mathrm{rectangular}}\\ {\mathrm{Order:}}{\mathrm{C_order}}\end{array}\right]$ (1)
 > $\mathrm{TukeyWindow}\left(a,1.23\right)$
 $\left[\begin{array}{c}{\mathrm{1 .. 1024}}{{\mathrm{Vector}}}_{{\mathrm{row}}}\\ {\mathrm{Data Type:}}{{\mathrm{float}}}_{{8}}\\ {\mathrm{Storage:}}{\mathrm{rectangular}}\\ {\mathrm{Order:}}{\mathrm{C_order}}\end{array}\right]$ (2)
 > $c≔\mathrm{Array}\left(1..N,'\mathrm{datatype}'={'\mathrm{float}'}_{8},'\mathrm{order}'='\mathrm{C_order}'\right):$
 > $\mathrm{TukeyWindow}\left(\mathrm{Array}\left(1..N,'\mathrm{fill}'=1,'\mathrm{datatype}'={'\mathrm{float}'}_{8},'\mathrm{order}'='\mathrm{C_order}'\right),0.72,'\mathrm{container}'=c\right)$
 $\left[\begin{array}{c}{\mathrm{1 .. 1024}}{{\mathrm{Vector}}}_{{\mathrm{row}}}\\ {\mathrm{Data Type:}}{{\mathrm{float}}}_{{8}}\\ {\mathrm{Storage:}}{\mathrm{rectangular}}\\ {\mathrm{Order:}}{\mathrm{C_order}}\end{array}\right]$ (3)
 > $u≔\mathrm{~}[\mathrm{log}]\left(\mathrm{FFT}\left(c\right)\right):$
 > $\mathbf{use}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{plots}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{in}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{display}\left(\mathrm{Array}\left(\left[\mathrm{listplot}\left(\mathrm{ℜ}\left(u\right)\right),\mathrm{listplot}\left(\mathrm{ℑ}\left(u\right)\right)\right]\right)\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{end use}$

 > 

Compatibility

 • The SignalProcessing[TukeyWindow] and SignalProcessing[TaperedCosineWindow] commands were introduced in Maple 18.