# `Sidereon.GNSS.RTK.FixedBaselineSolution`
[🔗](https://github.com/neilberkman/sidereon-ex/blob/main/lib/sidereon/gnss/rtk.ex#L391)

Integer-fixed RTK baseline solution from code/carrier double differences.

# `ecef`

```elixir
@type ecef() :: %{x_m: float(), y_m: float(), z_m: float()}
```

# `t`

```elixir
@type t() :: %Sidereon.GNSS.RTK.FixedBaselineSolution{
  baseline_m: ecef(),
  fixed_ambiguities_cycles: %{required(String.t()) =&gt; integer()},
  fixed_ambiguities_m: %{required(String.t()) =&gt; float()},
  float_solution: Sidereon.GNSS.RTK.FloatBaselineSolution.t(),
  metadata: %{
    :iterations =&gt; pos_integer(),
    :converged =&gt; boolean(),
    :status =&gt; :state_tolerance | :max_iterations,
    :integer_status =&gt; :fixed | :not_fixed,
    :integer_method =&gt; :lambda,
    :integer_ratio =&gt; float() | :infinity,
    :integer_best_score =&gt; float(),
    :integer_second_best_score =&gt; float() | nil,
    :integer_candidates =&gt; pos_integer(),
    :code_rms_m =&gt; float(),
    :phase_rms_m =&gt; float(),
    :weighted_rms_m =&gt; float(),
    :n_epochs =&gt; pos_integer(),
    :n_observations =&gt; pos_integer(),
    :measurement_covariance =&gt; %{
      model: :double_difference,
      code_sigma_m: float(),
      phase_sigma_m: float(),
      stochastic_model: :simple | :rtklib,
      elevation_weighting: boolean(),
      sagnac: boolean(),
      min_elevation_sin: float()
    },
    :ambiguity_search =&gt; %{
      order: [String.t()],
      float_cycles: %{required(String.t()) =&gt; float()},
      covariance_cycles: [[float()]],
      covariance_inverse_cycles: [[float()]]
    },
    :ambiguity_offsets_m =&gt; %{required(String.t()) =&gt; float()},
    optional(:physical_sats) =&gt; [String.t()],
    optional(:reference_satellites) =&gt; %{required(String.t()) =&gt; String.t()},
    optional(:ambiguity_satellites) =&gt; %{required(String.t()) =&gt; String.t()},
    optional(:partial_ambiguity_resolution) =&gt; boolean(),
    optional(:partial_fixed) =&gt; boolean(),
    optional(:partial_fixed_ambiguities) =&gt; [String.t()],
    optional(:partial_free_ambiguities) =&gt; [String.t()],
    optional(:partial_full_set) =&gt; map(),
    optional(:dropped_cycle_slip_sats) =&gt; [String.t()],
    optional(:elevation_mask_deg) =&gt; float() | nil,
    optional(:elevation_masked_sats) =&gt; [String.t()],
    optional(:split_cycle_slip_arcs) =&gt; [map()]
  },
  reference_satellite_id: String.t() | %{required(String.t()) =&gt; String.t()},
  residuals_m: [Sidereon.GNSS.RTK.FloatBaselineSolution.residual()],
  rover_position_m: ecef(),
  used_sats: [String.t()]
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
