“…However, the aforementioned works only optimize over either a single binary variable at a time, or a small number (e.g., four), using an exhaustive search. In contrast, by using branchand-bound to perform the BCD updates [15,16,30], we can efficiently optimize over large blocks of binary variables, e.g., 25, during each BCD iteration. This approach is particularly effective for designing LEO satellite spreading codes due to the relatively small code lengths and large family sizes.…”