 FlatTopWindow - Maple Help

# Online Help

###### All Products    Maple    MapleSim

SignalProcessing

 FlatTopWindow
 multiply an array of samples by a flat top windowing function Calling Sequence FlatTopWindow(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 FlatTopWindow(A) command multiplies the Array A by the flat top windowing function and returns the result in an Array having the same length.
 • The flat top windowing function $w\left(k\right)$ is defined as follows for a sample with $N$ points.

$w\left(k\right)=0.21557895-0.41663158\mathrm{cos}\left(\frac{2k\mathrm{\pi }}{n}\right)+0.277263158\mathrm{cos}\left(\frac{4k\mathrm{\pi }}{n}\right)-0.083578947\mathrm{cos}\left(\frac{6k\mathrm{\pi }}{n}\right)+0.006947368\mathrm{cos}\left(\frac{8k\mathrm{\pi }}{n}\right)$

 • Before the code performing the computation runs, A is converted to datatype float or complex 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. Thread Safety

 • The SignalProcessing[FlatTopWindow] command is thread-safe as of Maple 18.
 • For more information on thread safety, see index/threadsafe. Examples

 > $\mathrm{with}\left(\mathrm{SignalProcessing}\right):$
 > $N≔1024:$
 > $a≔\mathrm{GenerateUniform}\left(N,-1,1\right)$
 ${{\mathrm{_rtable}}}_{{36893628431708389732}}$ (1)
 > $\mathrm{FlatTopWindow}\left(a\right)$
 ${{\mathrm{_rtable}}}_{{36893628431566827516}}$ (2)
 > $c≔\mathrm{Array}\left(1..N,'\mathrm{datatype}'='\mathrm{float}'\left[8\right],'\mathrm{order}'='\mathrm{C_order}'\right):$
 > $\mathrm{FlatTopWindow}\left(\mathrm{Array}\left(1..N,'\mathrm{fill}'=1,'\mathrm{datatype}'='\mathrm{float}'\left[8\right],'\mathrm{order}'='\mathrm{C_order}'\right),'\mathrm{container}'=c\right)$
 ${{\mathrm{_rtable}}}_{{36893628431566803900}}$ (3)
 > $u≔\mathrm{~}\left[\mathrm{log}\right]\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[FlatTopWindow] command was introduced in Maple 18.
 • For more information on Maple 18 changes, see Updates in Maple 18.

 See Also