## Bad help and needless command in SignalProcessing

Maple

Let us consider the help to RectangleWindow SignalProcessing-RectangleWindow.pdf SignalProcessing-RectangleWindow.mw.
Let us execute the example, taking N:=4 (in order to display the outputs).

```with(SignalProcessing):
N := 4;
a := GenerateUniform(N, -1, 1);
Matrix(1, 4, [[.396167882718146, -.826878267806025, -0.908376742154361e-2, .324899681378156]])
RectangleWindow(a);
Vector[row](4, [.396167882718146, -.826878267806025, -0.908376742154361e-2, .324899681378156])
c := Array(1 .. N, 'datatype' = 'float'[8], 'order' = 'C_order'):
RectangleWindow(Array(1 .. N, 'fill' = 1, 'datatype' = 'float'[8], 'order' = 'C_order'), 'container' = c);
Vector[row](4, [1., 1., 1., 1.])
u := `~`[log](FFT(c)):
plots:-display(Array([plots:-listplot(Re(u)), plots:-listplot(Im(u))]));
```

We see an uncommented code which (intentionally or unintentionally) produces two empty plots.
The questions arise:

• What is the aim of the RectangleWindow command which does nothing
but the conversion of a Matrix(1,N,...) /Array(1..N,...) to a Vector[row](N,...)?
• Could such help be called friendly to Maple users?

There are many questions to Maplesoft and there are no answers from them: strategic silence.
RectangleWindow.mw

## Frequency analysis for dsolve()...

Dear All,

I am working on ODEs and have obtained the plot for "variable vs time". I would like to know if it is possible and how to analyze those data in the frequency domain.ODEs.mw

Thank you.

Very kind wishes,

Wang Zhe

## Spectrogram with colobar...

Hi everyone!

I have a question: what is the simpliest way to generate colorbar for spectrogram?

Now I use "valuesplit" to assign dependece "z"-value from color.

My programm. My test file: "Signal.txt".

filtered_spectrogram.mw

Signal.txt

P.S. I use Maple 2016.

## Inconsistency in DFT windowing functions????

by: Maple 2016

The DFT windowing functions in the SignalProcessing package seem to be inconsistent in the type of data they will accept, and the type they return.

BartlettHannWindow,  BlackmanHarrisWindow, BlackmanNuttallWindow,   BohmanWindow, CauchyWindow, CosineWindow, ExponentialWindow, FlatTopWindow,  GaussianWindow, HannPoissonWindow, ParzenWindow, PoissonWindow,  RectangleWindow, ReiszWindow, RiemannWindow, TaperedCosineWindow, TriangleWindow, TukeyWindow

accept Arrays, containing almost any data type (haven't tried them all!) as input. and always return a Vector[row].

But

BartlettWindow, BlackmanWindow, HammingWindow, HannWindow, KaiserWindow

require that the option datatype=float[8] be set in the Array() constructor, which is used as input and always return an hfarray.

Thus, for example

with(SignalProcessing);
sig:= Array( -50..50,
fill=1
):
BartlettHannWindow(sig); # this works
BartlettWindow(sig);# this fails with datatype unsupported error

Very confusing!!!!