A system comprising: an antenna configured to receive a signal from a transmitting radio frequency unit, the signal including data and a preamble containing symbols for a known sequence of a predetermined length, the signal being affected by nonlinear noise; and a modem configured to: retrieve the preamble from the signal; transform the preamble and the data from a time domain into a frequency domain, the transforming the preamble into the frequency domain causing generation of preamble-based frequency points in the frequency domain; calculate averages of groups of neighboring frequency points in the frequency domain, the groups of neighboring frequency points being selected from the preamble-based frequency points in the frequency domain; compare the calculated averages to an expected frequency response in the frequency domain, the expected frequency response being based on the known sequence of the predetermined length in the frequency domain, the expected frequency response being generated by transforming a reference signal to the frequency domain, the reference signal comprising the symbols of the known sequence; determine a correction filter to apply to the data based on the comparison, the correction filter configured to filter the data based on an inverse of a difference between the calculated averages and the expected frequency response in the frequency domain to thereby reduce the effect of the nonlinear noise on the data; apply the correction filter to the data in the frequency domain to create corrected data in the frequency domain; transform the corrected data from the frequency domain back to the time domain; and provide the corrected data for processing. an antenna configured to receive a signal from a transmitting radio frequency unit, the signal including data and a preamble containing symbols for a known sequence of a predetermined length, the signal being affected by nonlinear noise; and a modem configured to: retrieve the preamble from the signal; transform the preamble and the data from a time domain into a frequency domain, the transforming the preamble into the frequency domain causing generation of preamble-based frequency points in the frequency domain; calculate averages of groups of neighboring frequency points in the frequency domain, the groups of neighboring frequency points being selected from the preamble-based frequency points in the frequency domain; compare the calculated averages to an expected frequency response in the frequency domain, the expected frequency response being based on the known sequence of the predetermined length in the frequency domain, the expected frequency response being generated by transforming a reference signal to the frequency domain, the reference signal comprising the symbols of the known sequence; determine a correction filter to apply to the data based on the comparison, the correction filter configured to filter the data based on an inverse of a difference between the calculated averages and the expected frequency response in the frequency domain to thereby reduce the effect of the nonlinear noise on the data; apply the correction filter to the data in the frequency domain to create corrected data in the frequency domain; transform the corrected data from the frequency domain back to the time domain; and provide the corrected data for processing. retrieve the preamble from the signal; transform the preamble and the data from a time domain into a frequency domain, the transforming the preamble into the frequency domain causing generation of preamble-based frequency points in the frequency domain; calculate averages of groups of neighboring frequency points in the frequency domain, the groups of neighboring frequency points being selected from the preamble-based frequency points in the frequency domain; compare the calculated averages to an expected frequency response in the frequency domain, the expected frequency response being based on the known sequence of the predetermined length in the frequency domain, the expected frequency response being generated by transforming a reference signal to the frequency domain, the reference signal comprising the symbols of the known sequence; determine a correction filter to apply to the data based on the comparison, the correction filter configured to filter the data based on an inverse of a difference between the calculated averages and the expected frequency response in the frequency domain to thereby reduce the effect of the nonlinear noise on the data; apply the correction filter to the data in the frequency domain to create corrected data in the frequency domain; transform the corrected data from the frequency domain back to the time domain; and provide the corrected data for processing.