~ubuntu-branches/ubuntu/raring/octave-signal/raring

« back to all changes in this revision

Viewing changes to inst/blackmannuttall.m

  • Committer: Package Import Robot
  • Author(s): Sébastien Villemot
  • Date: 2012-09-23 09:14:33 UTC
  • mfrom: (1.1.7)
  • mto: This revision was merged to the branch mainline in revision 5.
  • Revision ID: package-import@ubuntu.com-20120923091433-wzfir0y7ongjrubp
Tags: upstream-1.2.0
Import upstream version 1.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
## Copyright (C) 2007   Muthiah Annamalai  <muthiah.annamalai@uta.edu>
2
 
##
3
 
## This program is free software; you can redistribute it and/or modify
4
 
## it under the terms of the GNU General Public License as published by
5
 
## the Free Software Foundation; either version 2 of the License, or
6
 
## (at your option) any later version.
7
 
##
8
 
## This program is distributed in the hope that it will be useful,
9
 
## but WITHOUT ANY WARRANTY; without even the implied warranty of
10
 
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
 
## GNU General Public License for more details.
12
 
##
13
 
## You should have received a copy of the GNU General Public License
14
 
## along with this program; If not, see <http://www.gnu.org/licenses/>.
 
1
## Copyright (C) 2007 Muthiah Annamalai <muthiah.annamalai@uta.edu>
 
2
##
 
3
## This program is free software; you can redistribute it and/or modify it under
 
4
## the terms of the GNU General Public License as published by the Free Software
 
5
## Foundation; either version 3 of the License, or (at your option) any later
 
6
## version.
 
7
##
 
8
## This program is distributed in the hope that it will be useful, but WITHOUT
 
9
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 
10
## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 
11
## details.
 
12
##
 
13
## You should have received a copy of the GNU General Public License along with
 
14
## this program; if not, see <http://www.gnu.org/licenses/>.
15
15
 
16
16
## -*- texinfo -*-
17
17
## @deftypefn {Function File} {[@var{w}] =} blackmannuttall(@var{L})
18
 
##      Compute the Blackman-Nuttall window.
 
18
## Compute the Blackman-Nuttall window.
19
19
## @seealso{nuttallwin,  kaiser}
20
20
## @end deftypefn
21
21
 
22
22
function [w] = blackmannuttall(L)
23
 
        if (nargin < 1); usage('blackmannuttall(L)'); end
24
 
        if(! isscalar(L))
25
 
                error("L must be a number");
26
 
        endif
27
 
        
28
 
        N = L-1;
29
 
        a0 = 0.3635819;
30
 
        a1 = 0.4891775;
31
 
        a2 = 0.1365995;
32
 
        a3 = 0.0106411;
33
 
        n = 0:N;
34
 
        w = a0 - a1.*cos(2.*pi.*n./N) + a2.*cos(4.*pi.*n./N) - a3.*cos(6.*pi.*n./N);
35
 
endfunction;
 
23
  if (nargin < 1)
 
24
    print_usage;
 
25
  elseif (! isscalar(L))
 
26
    error("L must be a number");
 
27
  endif
 
28
 
 
29
  N = L-1;
 
30
  a0 = 0.3635819;
 
31
  a1 = 0.4891775;
 
32
  a2 = 0.1365995;
 
33
  a3 = 0.0106411;
 
34
  n = 0:N;
 
35
  w = a0 - a1.*cos(2.*pi.*n./N) + a2.*cos(4.*pi.*n./N) - a3.*cos(6.*pi.*n./N);
 
36
  w = w.';
 
37
endfunction