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

« back to all changes in this revision

Viewing changes to inst/cheb2ord.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) 2000 Paul Kienzle
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) 2000 Paul Kienzle <pkienzle@users.sf.net>
 
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
## Compute chebyshev type II filter order and cutoff for the desired response
17
17
## characteristics. Rp is the allowable decibels of ripple in the pass 
34
34
function [n, Wc] = cheb2ord(Wp, Ws, Rp, Rs)
35
35
 
36
36
  if nargin != 4
37
 
    usage("[n, Wn] = cheb2ord(Wp, Ws, Rp, Rs)");
 
37
    print_usage;
38
38
  elseif length(Wp) != length(Ws)
39
39
    error("cheb2ord: Wp and Ws must have the same length");
40
40
  elseif length(Wp) != 1 && length(Wp) != 2
41
41
    error("cheb2ord: Wp,Ws must have length 1 or 2");
42
42
  elseif length(Wp) == 2 && ...
43
 
        (all(Wp>Ws) || all(Ws>Wp) || diff(Wp)<=0 || diff(Ws)<=0)
 
43
          (all(Wp>Ws) || all(Ws>Wp) || diff(Wp)<=0 || diff(Ws)<=0)
44
44
    error("cheb2ord: Wp(1)<Ws(1)<Ws(2)<Wp(2) or Ws(1)<Wp(1)<Wp(2)<Ws(2)");
45
45
  end
46
46