1
## Copyright (C) 2000 Paul Kienzle
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.
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.
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>
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
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
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/>.
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)
37
usage("[n, Wn] = cheb2ord(Wp, Ws, Rp, Rs)");
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)");