Galileo E1 OS and GPS L1C Pseudo Random Noise Codes - Requirements, Generation, Optimization and Comparison -