diff m-toolbox/classes/@miir/mkhighpass.m @ 0:f0afece42f48

Import.
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Wed, 23 Nov 2011 19:22:13 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m-toolbox/classes/@miir/mkhighpass.m	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,33 @@
+% MKHIGHPASS return a high pass filter miir(). A Butterworth filter is used.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% DESCRIPTION: MKHIGHPASS return a high pass filter miir().
+%              A Butterworth filter is used.
+%
+% CALL:        f = mkhighpass(f, pl)
+%
+% VERSION: $Id: mkhighpass.m,v 1.9 2011/04/04 11:37:02 hewitson Exp $
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+function f = mkhighpass(f, pl)
+
+  g     = find(pl, 'gain');
+  fc    = find(pl, 'fc');
+  fs    = find(pl, 'fs');
+  order = find(pl, 'order');
+
+  utils.helper.checkFilterOptions(pl);
+
+  % Build filter coefficients
+  [a, b] = butter(order, 2*fc(1)/fs, 'high');
+
+  % Set filter properties
+  f.name    = 'highpass';
+  f.fs      = fs;
+  f.a       = g.*a;
+  f.b       = b;
+  f.histin  = zeros(1,f.ntaps-1); % initialise input history
+  f.histout = zeros(1,f.ntaps-1); % initialise output history
+end
+