A communication system configured to transmit an outbound signal through free space to a remote communication system, the communication system comprising: one or more sensors configured to receive one or more measurements related to a state of the communication system; a plurality of components (104, 106, 112, 114, 116, 118); and one or more processors in communication with the one or more sensors, the one or more processors configured to: receive, from the remote communication system, an indication of an amount of received power at the remote communication system; estimate a state of the plurality of components based on the received one or more measurements and the received indication; using the received indication and the estimated state of the plurality of components, determine whether the amount of received power is likely to fall below a minimum received power within a given time interval; when it is determined that the amount of received power is likely to fall below the minimum received power within the given time interval, select an adjustment technique of a plurality of adjustment techniques for adjusting a data rate of the outbound signal; and adjust a given component of the communication system using the selected adjustment technique to change the data rate of the outbound signal. one or more sensors configured to receive one or more measurements related to a state of the communication system; a plurality of components (104, 106, 112, 114, 116, 118); and one or more processors in communication with the one or more sensors, the one or more processors configured to: receive, from the remote communication system, an indication of an amount of received power at the remote communication system; estimate a state of the plurality of components based on the received one or more measurements and the received indication; using the received indication and the estimated state of the plurality of components, determine whether the amount of received power is likely to fall below a minimum received power within a given time interval; when it is determined that the amount of received power is likely to fall below the minimum received power within the given time interval, select an adjustment technique of a plurality of adjustment techniques for adjusting a data rate of the outbound signal; and adjust a given component of the communication system using the selected adjustment technique to change the data rate of the outbound signal. receive, from the remote communication system, an indication of an amount of received power at the remote communication system; estimate a state of the plurality of components based on the received one or more measurements and the received indication; using the received indication and the estimated state of the plurality of components, determine whether the amount of received power is likely to fall below a minimum received power within a given time interval; when it is determined that the amount of received power is likely to fall below the minimum received power within the given time interval, select an adjustment technique of a plurality of adjustment techniques for adjusting a data rate of the outbound signal; and adjust a given component of the communication system using the selected adjustment technique to change the data rate of the outbound signal.