comparison MASSEFseparator.m @ 0:e34a535b9af0

Initial beta release.
author Christopher Hummersone <c.hummersone@surrey.ac.uk>
date Thu, 02 Mar 2017 09:44:08 +0000
parents
children 63df31b4c0b8
comparison
equal deleted inserted replaced
-1:000000000000 0:e34a535b9af0
1 classdef MASSEFseparator < handle
2 %MASSEFseparator Abstract base class for MASSEF separation algorithms
3 %
4 % MASSEFseparator properties:
5 % label - A label for the instance of the algorithm (shown in
6 % the results file).
7 % estTag - Tags for the estimated outputs.
8 %
9 % MASSEFseparator methods:
10 % MASSEFseparator - Create an instance of the algorithm.
11 % separate - Run the separation algorithm on the time-domain
12 % mixture (Abstract).
13 %
14 % Note that this is a handle class and hence derived classes are passed
15 % by reference.
16 %
17 % See also MASSEF.
18
19 % Copyright 2016 University of Surrey.
20
21 properties
22 label % A label for the instance of the algorithm (shown in the MASSEF results file)
23 estTag % Tags for the estimated outputs
24 end
25
26 methods
27
28 % constructor
29 function obj = MASSEFseparator()
30 obj.label = '';
31 obj.estTag = '';
32 end
33
34 % set estTag
35 function set.estTag(obj,val)
36 if ischar(val)
37 obj.estTag = cellstr(val);
38 elseif iscellstr(val)
39 obj.estTag = val;
40 else
41 error('''estTag'' must be a char array or cell array of strings');
42 end
43 end
44
45 % set label
46 function set.label(obj,val)
47 if ischar(val)
48 obj.label = val;
49 else
50 error('''label'' must be a char array');
51 end
52 end
53
54 end
55
56 methods (Abstract)
57
58 % separation
59 [signal,mask,est_azis,est_eles] = separate(obj,mixture);
60
61 end
62
63 end