Conventional Matlab implementation of software ranging code generator requires code
shifts to produce the ranging codes assigned to different satellites. Unfortunately, it is unable to implement
software BeiDou B1I code generator using this method, because the B1I code shifts are unknown.
Based on the generator revealed in BeiDou Interface Control Document (BICD), a software
generator is implemented by using Simulink blocks in conjunction with Matlab programs in this paper. The Simulink
blocks enable the generator to compute the BeiDou B1I code shifts, as well as reducing the complexity of the implementation.
Simulation results show that the implementation is feasible and reliable. All B1I code shifts are calculated, which can
be used for both software and hardware implementation in the future. Patents describing a wide range of applications
based on the BeiDou system have also been proposed and implemented.