An ice protection system configured to remove ice from a structure, the system comprising: an actuator configured to be coupled to the structure, the actuator being configured to generate vibrations in the structure; a controller connected to the actuator for driving the actuator, in use, to cause vibrations in the structure; and one or more sensors for sensing vibrations in the structure, the one or more sensors being connected to the controller and the one or more sensors, in use, being located at or adjacent a desired area of the structure, and/or between the actuator and the desired area, and/or beyond the desired area of the structure, wherein the controller is configured to: drive the actuator with a calibration signal to cause vibrations in the structure, in use; receive vibration data from the one or more sensors due, in use, to the vibrations in the structure caused by the calibration signal; and process the received vibration data to generate a controller drive signal for driving the actuator, the controller drive signal comprising a time-reversed version of a vibration response of the structure to the calibration signal, the time-reversed version of the vibration response having a frequency chirp over a first period of time, wherein the controller controls the frequency chirp and the first period of the drive signal applied to the actuator, in use, to generate vibration pulses in the structure that propagate through the structure to coincide substantially at the same time to create an impulse response at the desired area of the structure remote from the actuator to remove ice from the desired area of the structure. an actuator configured to be coupled to the structure, the actuator being configured to generate vibrations in the structure; a controller connected to the actuator for driving the actuator, in use, to cause vibrations in the structure; and one or more sensors for sensing vibrations in the structure, the one or more sensors being connected to the controller and the one or more sensors, in use, being located at or adjacent a desired area of the structure, and/or between the actuator and the desired area, and/or beyond the desired area of the structure, wherein the controller is configured to: drive the actuator with a calibration signal to cause vibrations in the structure, in use; receive vibration data from the one or more sensors due, in use, to the vibrations in the structure caused by the calibration signal; and process the received vibration data to generate a controller drive signal for driving the actuator, the controller drive signal comprising a time-reversed version of a vibration response of the structure to the calibration signal, the time-reversed version drive the actuator with a calibration signal to cause vibrations in the structure, in use; receive vibration data from the one or more sensors due, in use, to the vibrations in the structure caused by the calibration signal; and process the received vibration data to generate a controller drive signal for driving the actuator, the controller drive signal comprising a time-reversed version of a vibration response of the structure to the calibration signal, the time-reversed version of the vibration response having a frequency chirp over a first period of time, wherein the controller controls the frequency chirp and the first period of the drive signal applied to the actuator, in use, to generate vibration pulses in the structure that propagate through the structure to coincide substantially at the same time to create an impulse response at the desired area of the structure remote from the actuator to remove ice from the desired area of the structure.