Mercurial > hg > massef
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 |