In this paper, a new approach for decoding real-field codes based on finding sparse solutions of underdetermined linear systems is proposed. This algorithm iteratively estimates the positions and the amplitudes of the sparse errors (or noise impulses) using an Expectation-Maximization (EM) algorithm. Iterative estimation of amplitudes is done in the Expectation step (E-step), while iterative estimation of error positions is done in the Maximization step (M-step). Simulation results show 1-2 dB improvement over Linear Programming (LP) which has been previously used for error correction.