TEAP (Toolbox for Emotion Analysis using Physiological Signals) doc
Signal_filter1_low_pass.m
Go to the documentation of this file.
1 %This file is part of TEAP.
2 %
3 %TEAP 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 3 of the License, or
6 %(at your option) any later version.
7 %
8 %TEAP 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 TEAP. If not, see <http://www.gnu.org/licenses/>.
15 %
16 %> @file Signal_filter1_low_pass.m
17 %> @brief A simple low-pass filter applyed to 1D signals (such as GSR, ECG, etc…).
18 %
19 %> @param Signal: the signal to filter (will use the .raw component). Not a bulk sig. !
20 %> @param cutOffFreq: the cutOff frequency of the filter
21 %
22 %> @retval Signal: the low-passed-signal
23 %
24 %> @author Copyright Frank Villaro-Dixon, 2014
25 function Signal = Signal_filter1_low_pass(Signal, cutOffFreq)
26 
27 if(nargin ~= 2 || nargout ~= 1)
28  error('Usage: Signal = Signal_filter1_low_pass(Signal, cutOffFreq)');
29 end
30 
31 Signal__assert_mine(Signal);
32 
33 
34 %Take the sampling frequency of the signal
35 Fs = Signal__get_samprate(Signal);
36 
37 %The normalized cutOff freq
38 Wn = (2/Fs)*cutOffFreq;
39 
40 %Make the filter
41 b = fir1(20, Wn, 'low', kaiser(21, 3));
42 
43 rawSignal = Signal__get_raw(Signal);
44 
45 newRaw = filter(b, 1, rawSignal);
46 
47 Signal = Signal__set_raw(Signal, newRaw);
48 
49 %Indicate that the signal has been filtered
50 Signal = Signal__set_preproc_lowpass(Signal);
Signal__get_samprate
function Signal__get_samprate(in Signal)
Signal__set_raw
function Signal__set_raw(in Signal, in raw)
Signal__get_raw
function Signal__get_raw(in Signal)
Signal_filter1_low_pass
function Signal_filter1_low_pass(in Signal, in cutOffFreq)
Signal__assert_mine
function Signal__assert_mine(in Signal)
Signal__set_preproc_lowpass
function Signal__set_preproc_lowpass(in Signal)