  This paper presents a system-level engineering approach for the preliminary
coverage performance analysis and the design of a generic Global Navigation
Satellite System (GNSS) constellation. This analysis accounts for both the
coverage requirements and the robustness to transient or catastrophic failures
of the constellation. The European GNSS, Galileo, is used as reference case to
prove the effectiveness of the proposed tool. This software suite, named GNSS
Coverage Analysis Tool (G-CAT), requires as input the state vector of each
satellite of the constellation and provides the performance of the GNSS
constellation in terms of coverage. The tool offers an orbit propagator, an
attitude propagator, an algorithm to identify the visibility region on the
Earth's surface from each satellite, and a counter function to compute how many
satellites are in view from given locations on the Earth's surface. Thanks to
its low computational burden, the tool can be adopted to compute the optimal
number of satellites per each orbital plane by verifying if the coverage and
accuracy requirements are fulfilled under the assumption of uniform in-plane
angular spacing between coplanar satellites.
