A method comprising: identifying, by data processing hardware, a target platform for communicating with a communication device (110, 200); establishing a communication connection between the target platform and the communication device (110, 200); identifying, by the data processing hardware, an available communication channel for communicating data between the target platform and the communication device (110, 200); receiving, at the data processing hardware, control inputs from one or more sensors; determining, by the data processing hardware, a pseudo random noise spreading code based on the received control inputs; modifying, by the data processing hardware, a communication signal by multiplying the communication signal with the pseudo random noise spreading code; causing, by the data processing hardware, transmission of the modified communication signal from the communication device (110, 200) to the target platform through the available communication channel, the modified communication signal being transmitted below a thermal noise of the available communication channel; characterised by receiving, at the data processing hardware, a global positioning signal of the communication device (110, 200) from a global positioning device in communication with the data processing hardware; receiving, at the data processing hardware, an orbital location of the target platform from the target platform; determining, by the data processing hardware, an antenna pointing angle with respect to the target platform and associated with an antenna (117, 210, 320) positioned on the communication device (110, 200) based on the global positioning signal of the communication device (110, 200) and the orbital location of the target platform; and modifying, by the data processing hardware, the pseudo random noise spreading code based on the antenna pointing angle. identifying, by data processing hardware, a target platform for communicating with a communication device (110, 200); establishing a communication connection between the target platform and the communication device (110, 200); identifying, by the data processing hardware, an available communication channel for communicating data between the target platform and the communication device (110, 200); receiving, at the data processing hardware, control inputs from one or more sensors; determining, by the data processing hardware, a pseudo random noise spreading code based on the received control inputs; modifying, by the data processing hardware, a communication signal by multiplying the communication signal with the pseudo random noise spreading code; causing, by the data processing hardware, transmission of the modified communication signal from the communication device (110, 200) to the target platform through the available communication channel, the modified communication signal being transmitted below a thermal noise of the available communication channel; characterised by receiving, at the data processing hardware, a global positioning signal of the communication device (110, 200) from a global positioning device in communication with the data processing hardware; receiving, at the data processing hardware, an orbital location of the target platform from the target platform; determining, by the data processing hardware, an antenna pointing angle with respect to the target platform and associated with an antenna (117, 210, 320) positioned on the communication device (110, 200) based on the global positioning signal of the communication device (110, 200) and the orbital location of the target platform; and modifying, by the data processing hardware, the pseudo random noise spreading code based on the antenna pointing angle.