A method for reducing phase noise in a communication receiver, the method comprising: receiving a first sequence of input values, each input value comprising an unknown data symbol corrupted by phase noise; determining a sequence of data symbols from the first sequence of input values; determining a sequence of raw phase noise values from both the first sequence of input values and the sequence of data symbols; said method being characterized by: filtering the sequence of raw phase noise values to provide a sequence of filtered phase noise values (420, 413); and compensating the first sequence of input values using the sequence of filtered phase noise values to provide a sequence of compensated input values (504,912); determining an updated sequence of data symbols from the sequence of compensated input values(504, 912); checking if a termination condition is met; if the termination condition is met, outputting the updated sequence of data symbols; if the termination condition is not met, determining an updated sequence of raw phase noise values from both the first sequence of input values and the updated sequence of data symbols; filtering the updated sequence of raw phase noise values to provide an updated sequence of filtered phase noise values (420, 413); and compensating the first sequence of input values using the updated sequence of filtered phase noise values to provide an updated sequence of compensated input values (504, 912); and where the filtering the updated sequence of raw phase noise values comprises: filtering the updated sequence of raw phase noise values through a prediction filter, where the prediction filter comprises one or more of a forward prediction filter, a backward prediction filter and a combination of a forward prediction filter and a backward prediction filter. receiving a first sequence of input values, each input value comprising an unknown data symbol corrupted by phase noise; determining a sequence of data symbols from the first sequence of input values; determining a sequence of raw phase noise values from both the first sequence of input values and the sequence of data symbols; said method being characterized by: filtering the sequence of raw phase noise values to provide a sequence of filtered phase noise values (420, 413); and compensating the first sequence of input values using the sequence of filtered phase noise values to provide a sequence of compensated input values (504,912); determining an updated sequence of data symbols from the sequence of compensated input values(504, 912); checking if a termination condition is met; if the termination condition is met, outputting the updated sequence of data symbols; if the termination condition is not met, determining an updated sequence of raw phase noise values from both the first sequence of input values and the updated sequence of data symbols; filtering the updated sequence of raw phase noise values to provide an updated sequence of filtered phase noise values (420, 413); and compensating the first sequence of input values using the updated sequence of filtered phase noise values to provide an updated sequence of compensated input values (504, 912); and where the filtering the updated sequence of raw phase noise values comprises: filtering the updated sequence of raw phase noise values through a prediction filter, where the prediction filter comprises one or more of a forward prediction filter, a backward prediction filter and a combination of a forward prediction filter and a backward prediction filter. filtering the sequence of raw phase noise values to provide a sequence of filtered phase noise values (420, 413); and compensating the first sequence of input values using the sequence of filtered phase noise values to provide a sequence of compensated input values (504,912); determining an updated sequence of data symbols from the sequence of compensated input values(504, 912); checking if a termination condition is met; if the termination condition is met, outputting the updated sequence of data symbols; if the termination condition is not met, determining an updated sequence of raw phase noise values from both the first sequence of input values and the updated sequence of data symbols; filtering the updated sequence of raw phase noise values to provide an updated sequence of filtered phase noise values (420, 413); and compensating the first sequence of input values using the updated sequence of filtered phase noise values to provide an updated sequence of compensated input values (504, 912); and determining an updated sequence of raw phase noise values from both the first sequence of input values and the updated sequence of data symbols; filtering the updated sequence of raw phase noise values to provide an updated sequence of filtered phase noise values (420, 413); and compensating the first sequence of input values using the updated sequence of filtered phase noise values to provide an updated sequence of compensated input values (504, 912); and where the filtering the updated sequence of raw phase noise values comprises: filtering the updated sequence of raw phase noise values through a prediction filter, where the prediction filter comprises one or more of a forward prediction filter, a backward prediction filter and a combination of a forward prediction filter and a backward prediction filter.