A metric calculating unit calculates a metric based on a provisional determination of a transmission signal and a reception signal. A lattice-point-range setting/estimate-symbol generating unit forms a hypersphere centering around a reception signal point based on the calculated metric or an updated metric, and determines whether a candidate of an estimate symbol is present within the hypersphere. A metric calculating/comparing unit calculates a metric based on the candidate of the estimate symbol and the reception signal, stores a minimum metric and corresponding candidate of the estimate symbol, and updates stored information when a newly calculated metric is minimum.