function designs = get_design_set(name, d_0)
%GET_DESIGN_SET Gets a set of arrays designs for simulations.
%Inputs:
%   name - 'SameAperture': four designs with the same aperture.
%          'SameNumSensor': four designs with the same number of sensors.
%          'Nested10': seven nested arrays with the same number of sensors.
%   d_0 - Minimal inter-element spacing.
%Output:
%   designs - A cell array of array designs.
switch lower(name)
    case 'sameaperture'
        % same aperture
        designs = { ...
            design_array_1d('coprime', [2 3], d_0, '2M', 'Co-prime (2,3)') ...
            design_array_1d('custom', [0 1 2 6 9]*d_0, d_0, 'MRA 5') ...
            design_array_1d('nested', [1 5], d_0, 'Nested (1,5)') ...
            design_array_1d('nested', [4 2], d_0, 'Nested (4,2)') ...
        };
    case 'samenumsensor'
        designs = { ...
            design_array_1d('coprime', [3 5], d_0, '2M', 'Co-prime (3,5)') ...
            design_array_1d('custom', [0 1 4 10 16 22 28 30 33 35]*d_0, d_0, 'MRA 10') ...
            design_array_1d('nested', [4 6], d_0, 'Nested (4,6)') ...
            design_array_1d('nested', [3 7], d_0, 'Nested (3,7)') ...
        };
    case 'nested10'
        designs = { ...
            design_array_1d('nested', [2 8], d_0, 'Nested (2,8)') ...
            design_array_1d('nested', [3 7], d_0, 'Nested (3,7)') ...
            design_array_1d('nested', [4 6], d_0, 'Nested (4,6)') ...
            design_array_1d('nested', [5 5], d_0, 'Nested (5,5)') ...
            design_array_1d('nested', [6 4], d_0, 'Nested (6,4)') ...
            design_array_1d('nested', [7 3], d_0, 'Nested (7,3)') ...
            design_array_1d('nested', [8 2], d_0, 'Nested (8,2)') ...
        };
    otherwise
        error('Unknown design set ''%s''.', name);
end
end

