summaryrefslogtreecommitdiff
path: root/macros/kaiser.sci
blob: 4272c1002f8fe728388ccfa6108fbb018cf5b004 (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
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