0001 function [ind, basestr, ants]=sub_to_ind(sub, nant)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 if(~exist('nant'))
0013 nant=8;
0014 end
0015
0016
0017
0018 sub=sub+1;
0019 if(any(sub<1) | any(sub>nant))
0020 error('ant number out of range');
0021 end
0022
0023 ind=zeros(1,nant*(nant-1)/2);
0024
0025 if(isempty(sub))
0026 return
0027 end
0028
0029 nbase=0;
0030 k=1;
0031 for i=1:nant
0032 for j=i+1:nant
0033 if(any(sub==i) & any(sub==j))
0034 ind(k)=1;
0035 nbase = nbase+1;
0036 end
0037 k=k+1;
0038 end
0039 end
0040
0041 nbase
0042 ants = ones(nbase, 2);
0043
0044 nbase=0;
0045 k=1;
0046 for i=1:nant
0047 for j=i+1:nant
0048 if(any(sub==i) & any(sub==j))
0049 if(nbase==0)
0050 basestr = sprintf('%d-%d',i-1,j-1);
0051 else
0052 basestr = [basestr; sprintf('%d-%d',i-1,j-1)];
0053 end
0054
0055 nbase = nbase+1;
0056 ants(nbase,1) = i-1;
0057 ants(nbase,2) = j-1;
0058
0059 end
0060 k=k+1;
0061 end
0062 end
0063
0064 basestr = cellstr(basestr);
0065 return