Mercurial > hg > massef
annotate 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 |
rev | line source |
---|---|
c@0 | 1 classdef MASSEFseparator < handle |
c@0 | 2 %MASSEFseparator Abstract base class for MASSEF separation algorithms |
c@0 | 3 % |
c@0 | 4 % MASSEFseparator properties: |
c@0 | 5 % label - A label for the instance of the algorithm (shown in |
c@0 | 6 % the results file). |
c@0 | 7 % estTag - Tags for the estimated outputs. |
c@0 | 8 % |
c@0 | 9 % MASSEFseparator methods: |
c@0 | 10 % MASSEFseparator - Create an instance of the algorithm. |
c@0 | 11 % separate - Run the separation algorithm on the time-domain |
c@0 | 12 % mixture (Abstract). |
c@0 | 13 % |
c@0 | 14 % Note that this is a handle class and hence derived classes are passed |
c@0 | 15 % by reference. |
c@0 | 16 % |
c@0 | 17 % See also MASSEF. |
c@0 | 18 |
c@0 | 19 % Copyright 2016 University of Surrey. |
c@0 | 20 |
c@0 | 21 properties |
c@0 | 22 label % A label for the instance of the algorithm (shown in the MASSEF results file) |
c@0 | 23 estTag % Tags for the estimated outputs |
c@0 | 24 end |
c@0 | 25 |
c@0 | 26 methods |
c@0 | 27 |
c@0 | 28 % constructor |
c@0 | 29 function obj = MASSEFseparator() |
c@0 | 30 obj.label = ''; |
c@0 | 31 obj.estTag = ''; |
c@0 | 32 end |
c@0 | 33 |
c@0 | 34 % set estTag |
c@0 | 35 function set.estTag(obj,val) |
c@0 | 36 if ischar(val) |
c@0 | 37 obj.estTag = cellstr(val); |
c@0 | 38 elseif iscellstr(val) |
c@0 | 39 obj.estTag = val; |
c@0 | 40 else |
c@0 | 41 error('''estTag'' must be a char array or cell array of strings'); |
c@0 | 42 end |
c@0 | 43 end |
c@0 | 44 |
c@0 | 45 % set label |
c@0 | 46 function set.label(obj,val) |
c@0 | 47 if ischar(val) |
c@0 | 48 obj.label = val; |
c@0 | 49 else |
c@0 | 50 error('''label'' must be a char array'); |
c@0 | 51 end |
c@0 | 52 end |
c@0 | 53 |
c@0 | 54 end |
c@0 | 55 |
c@0 | 56 methods (Abstract) |
c@0 | 57 |
c@0 | 58 % separation |
c@0 | 59 [signal,mask,est_azis,est_eles] = separate(obj,mixture); |
c@0 | 60 |
c@0 | 61 end |
c@0 | 62 |
c@0 | 63 end |