SignalProcessing - Maple Programming Help

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

SignalProcessing

 HannWindow
 multiply an array of samples by a Hann windowing function

 Calling Sequence HannWindow(A)

Parameters

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

Options

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

Description

 • The HannWindow(A) command multiplies the Array A by a Hann windowing function and returns the result in an Array having the same length. The length of A must be at least $3$.
 • The Hann windowing function $w$ is defined as follows for a sample with $N$ points.

$w\left(k\right)=0.5-0.5\mathrm{cos}\left(\frac{2\mathrm{\pi }k}{N-1}\right)$

 • For an Array with complex values, the real and imaginary parts are multiplied by the same windowing function.
 • 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[HannWindow] command is thread-safe as of Maple 17.

Examples

 > $\mathrm{with}\left(\mathrm{SignalProcessing}\right):$
 > $a≔\mathrm{GenerateUniform}\left(10,-1,1\right)$
 ${a}{≔}\left[\begin{array}{cccccccccc}{-}{0.785218492150308}& {0.588413964957000}& {-}{0.993165822699668}& {0.921578288543971}& {-}{0.0387801709584892}& {0.0136057925410569}& {-}{0.210756972897798}& {0.749600215815009}& {0.138966357801110}& {0.212285134010017}\end{array}\right]$ (1)
 > $\mathrm{HannWindow}\left(a\right)$
 $\left[\begin{array}{cccccccccc}{-}{0.}& {0.0688313584240425}& {-}{0.410352193733396}& {0.691183716407978}& {-}{0.0376108057204988}& {0.0131955276959160}& {-}{0.158067729673349}& {0.309716752179997}& {0.0162559758135430}& {0.}\end{array}\right]$ (2)
 > $c≔\mathrm{Array}\left(1..10,'\mathrm{datatype}'={'\mathrm{float}'}_{8},'\mathrm{order}'='\mathrm{C_order}'\right):$
 > $\mathrm{HannWindow}\left(a,'\mathrm{container}'=c\right)$
 $\left[\begin{array}{cccccccccc}{-}{0.}& {0.0688313584240425}& {-}{0.410352193733396}& {0.691183716407978}& {-}{0.0376108057204988}& {0.0131955276959160}& {-}{0.158067729673349}& {0.309716752179997}& {0.0162559758135430}& {0.}\end{array}\right]$ (3)
 > $c$
 $\left[\begin{array}{cccccccccc}{-}{0.}& {0.0688313584240425}& {-}{0.410352193733396}& {0.691183716407978}& {-}{0.0376108057204988}& {0.0131955276959160}& {-}{0.158067729673349}& {0.309716752179997}& {0.0162559758135430}& {0.}\end{array}\right]$ (4)
 > $a≔\mathrm{GenerateTone}\left(100,1,\frac{1}{\mathrm{π}},\mathrm{π}\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(a\right),\mathrm{listplot}\left(\mathrm{HannWindow}\left(a\right)\right)\right]\right)\right)\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{end use}$

 > 

Compatibility

 • The SignalProcessing[HannWindow] command was introduced in Maple 17.