summaryrefslogtreecommitdiff
path: root/macros/kaiser.sci
blob: b36e93164a1821a91e95dfb3484afcb383920efe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
function w = kaiser (m, varargin)
//This function returns the filter coefficients of a Kaiser window.

//Calling Sequence
//w = kaiser (m)
//w = kaiser (m, beta)

//Parameters
//m: positive integer value
//beta: real scalar value
//w: output variable, vector of real numbers

//Description
//This is an Octave function.
//This function returns the filter coefficients of a Kaiser window of length m supplied as input, to the output vector w.
//The second parameter gives the stop band attenuation of the Fourier transform of the window on derivation.

//Examples
//kaiser(6,0.2)
// ans  =
//
//    0.9900745
//    0.9964211
//    0.9996020
//    0.9996020
//    0.9964211
//    0.9900745

funcprot(0);
    rhs = argn(2)
    if(rhs<1 | rhs>2)
    error("Wrong number of input arguments.")
    end

    if length(varargin)==0 then
        bet = 0.5; //default value of beta is 0.5
    else
        bet = varargin(1);
    end

w = window('kr', m, bet) //default value of beta is 0.5
w = w' ;

endfunction