Module: FBS

Defined in:
lib/datafarming/screen_freq_sets.rb

Defined Under Namespace

Classes: DesignSet

Constant Summary collapse

TWO_PI =
2.0 * Math::PI
DESIGN_SETS =
{
  2 => DesignSet.new(
    nyq: 11, freqs: [
      [1, 3],
      [1, 4],
      [1, 5]
    ]
  ),
  3 => DesignSet.new(
    nyq: 19, freqs: [
      [1, 3, 7],
      [1, 7, 8],
      [2, 3, 5],
      [4, 6, 9]
    ]
  ),
  4 => DesignSet.new(
    nyq: 29, freqs: [
      [1, 4, 5, 11]
    ]
  ),
  5 => DesignSet.new(
    nyq: 43, freqs: [
      [1, 5, 6, 8, 20],
      [1, 8, 9, 11, 14],
      [3, 4, 7, 9, 19]
    ]
  ),
  6 => DesignSet.new(
    nyq: 59, freqs: [
      [1, 6, 10, 16, 24, 28],
      [1, 7, 11, 16, 19, 23],
      [2, 8, 20, 23, 25, 29]
    ]
  ),
  7 => DesignSet.new(
    nyq: 79, freqs: [
      [1, 3, 8, 11, 26, 29, 33],
      [1, 4, 11, 12, 29, 30, 35],
      [1, 5, 6, 14, 15, 17, 38],
      [1, 10, 11, 16, 17, 24, 25],
      [2, 3, 5, 11, 20, 21, 25],
      [2, 3, 17, 22, 25, 33, 36],
      [2, 5, 7, 13, 15, 16, 39],
      [2, 7, 9, 10, 15, 19, 33],
      [2, 20, 22, 29, 31, 32, 34],
      [3, 8, 15, 17, 18, 24, 28]
    ]
  ),
  8 => DesignSet.new(
    nyq: 101, freqs: [
      [1, 4, 5, 17, 21, 27, 41, 45],
      [1, 5, 6, 14, 15, 17, 38, 41],
      [2, 8, 10, 11, 19, 34, 42, 47],
      [2, 14, 29, 31, 38, 40, 48, 50],
      [3, 5, 8, 24, 28, 33, 42, 47],
      [3, 13, 15, 18, 22, 42, 45, 50],
      [4, 7, 16, 17, 20, 22, 26, 45],
      [5, 7, 13, 25, 29, 31, 40, 42],
      [5, 8, 12, 20, 26, 34, 43, 45]
    ]
  ),
  9 => DesignSet.new(
    nyq: 127, freqs: [
      [1, 3, 10, 11, 15, 33, 38, 49, 57],
      [1, 7, 8, 18, 19, 24, 39, 52, 53],
      [1, 7, 8, 18, 19, 24, 52, 53, 62],
      [1, 9, 13, 22, 28, 37, 42, 51, 58],
      [1, 13, 14, 22, 23, 54, 55, 61, 62],
      [1, 29, 38, 39, 41, 54, 55, 61, 62],
      [2, 3, 5, 11, 15, 31, 38, 50, 52],
      [2, 5, 20, 26, 28, 39, 41, 55, 63],
      [3, 4, 7, 12, 27, 29, 38, 47, 52],
      [4, 5, 9, 11, 15, 23, 36, 48, 62],
      [5, 7, 16, 20, 22, 28, 45, 46, 48],
      [5, 7, 16, 20, 22, 28, 46, 48, 62],
      [7, 13, 16, 18, 24, 28, 34, 51, 54],
      [7, 17, 20, 24, 26, 30, 38, 42, 53]
    ]
  ),
  10 => DesignSet.new(
    nyq: 149, freqs: [
      [3, 15, 18, 25, 40, 41, 49, 56, 60, 61]
    ]
  ),
  11 => DesignSet.new(
    nyq: 191, freqs: [
      [1, 8, 9, 12, 19, 34, 41, 46, 62, 85, 93],
      [1, 9, 22, 29, 41, 46, 52, 56, 59, 61, 94],
      [1, 15, 16, 19, 20, 26, 27, 62, 75, 79, 84],
      [1, 19, 25, 26, 35, 36, 40, 41, 48, 64, 94],
      [2, 3, 10, 13, 19, 33, 44, 54, 58, 72, 82],
      [2, 3, 11, 12, 31, 34, 44, 47, 61, 82, 87],
      [2, 5, 7, 13, 18, 35, 38, 48, 67, 82, 85],
      [2, 7, 15, 20, 31, 36, 48, 54, 57, 69, 73],
      [3, 16, 19, 36, 39, 44, 47, 62, 65, 92, 95],
      [4, 7, 11, 16, 20, 37, 41, 49, 55, 83, 84],
      [4, 18, 19, 21, 22, 28, 31, 51, 60, 65, 76],
      [5, 7, 13, 15, 16, 34, 35, 59, 67, 71, 79],
      [6, 10, 16, 19, 25, 33, 39, 40, 46, 51, 93],
      [8, 9, 17, 21, 28, 29, 31, 32, 70, 76, 88],
      [9, 35, 38, 39, 47, 59, 65, 75, 84, 90, 92],
      [12, 15, 16, 22, 34, 51, 53, 54, 65, 74, 79],
      [16, 25, 30, 31, 33, 39, 43, 49, 77, 84, 85]
    ]
  ),
  12 => DesignSet.new(
    nyq: 223, freqs: [
      [1, 15, 16, 19, 20, 27, 28, 61, 62, 64, 86, 87],
      [2, 8, 17, 19, 41, 43, 47, 48, 50, 61, 70, 73],
      [2, 11, 13, 19, 21, 31, 33, 37, 82, 84, 109, 111],
      [2, 19, 21, 39, 41, 47, 49, 50, 52, 64, 74, 108]
    ]
  ),
  13 => DesignSet.new(
    nyq: 263, freqs: [
      [1, 4, 5, 22, 23, 35, 36, 55, 56, 84, 98, 99, 126]
    ]
  ),
  14 => DesignSet.new(
    nyq: 331, freqs: [
      [1, 3, 7, 19, 26, 36, 47, 60, 70, 79, 128, 148, 153, 161]
    ]
  ),
  15 => DesignSet.new(
    nyq: 389, freqs: [
      [1, 3, 7, 12, 29, 40, 49, 65, 91, 100, 125, 131, 148, 154, 172]
    ]
  ),
  20 => DesignSet.new(
    nyq: 853, freqs: [
      [1, 3, 7, 12, 15, 25, 41, 58, 60, 80, 107, 154, 161, 193, 232, 249, 284, 291, 377, 412]
    ]
  )
}.freeze