A signal compensation device, comprising a first compensation module, a balance filtering module, and a second compensation module, wherein: the first compensation module is configured to receive an input signal sequence suffering from intersymbol interference, ISI, interference, use a first filtering coefficient to perform filtering compensation on the received signal sequence, to obtain a first compensation signal sequence, and send the first compensation signal sequence to the balance filtering module; the balance filtering module is configured to use a balance filtering coefficient to perform filtering compensation on the first compensation signal sequence that is sent by the first compensation module, to obtain a balance compensation result, and send the balance compensation result to the second compensation module, wherein the balance filtering coefficient is obtained by adjusting, according to a first compensation error sent by the second compensation module, a balance filtering coefficient used last time; and the second compensation module is configured to receive the balance compensation result sent by the balance filtering module, perform sequence estimation on the received balance compensation result and output the balance compensation result, obtain the first compensation error by means of calculation according to a compensation error value obtained last time by means of calculation and a compensation error value obtained the last but one time by means of calculation, and send the first compensation error to the balance filtering module; and the signal compensation device being characterized in that: the balance filtering module is specifically configured to obtain a j th balance filtering coefficient in the following manner: b j current = b j last time + μ ∗ sign e last but one time − e last time, wherein b j (current) is an obtained coefficient weight of the j th balance filtering coefficient that is currently used, a value range of j is 0 to L b, L b is a length of the balance filtering coefficient, b j (last time) is a basic coefficient weight of the j th balance filtering coefficient used last time, μ is a coefficient change length of the balance filtering coefficient, e last but one time -e last time is the first compensation error, e last but one time is the compensation error value obtained the last but one time by means of calculation, and e last time is the compensation error value obtained last time by means of calculation. the first compensation module is configured to receive an input signal sequence suffering from intersymbol interference, ISI, interference, use a first filtering coefficient to perform filtering compensation on the received signal sequence, to obtain a first compensation signal sequence, and send the first compensation signal sequence to the balance filtering module; the balance filtering module is configured to use a balance filtering coefficient to perform filtering compensation on the first compensation signal sequence that is sent by the first compensation module, to obtain a balance compensation result, and send the balance compensation result to the second compensation module, wherein the balance filtering coefficient is obtained by adjusting, according to a first compensation error sent by the second compensation module, a balance filtering coefficient used last time; and the second compensation module is configured to receive the balance compensation result sent by the balance filtering module, perform sequence estimation on the received balance compensation result and output the balance compensation result, obtain the first compensation error by means of calculation according to a compensation error value obtained last time by means of calculation and a compensation error value obtained the last but one time by means of calculation, and send the first compensation error to the balance filtering module; and the signal compensation device being characterized in that: the balance filtering module is specifically configured to obtain a j th balance filtering coefficient in the following manner: b j current = b j last time + μ ∗ sign e last but one time − e last time, wherein b j (current) is an obtained coefficient weight of the j th balance filtering coefficient that is currently used, a value range of j is 0 to L b, L b is a length of the balance filtering coefficient, b j (last time) is a basic coefficient weight of the j th balance filtering coefficient used last time, μ is a coefficient change length of the balance filtering coefficient, e last but one time -e last time is the first compensation error, e last but one time is the compensation error value obtained the last but one time by means of calculation, and e last time is the compensation error value obtained last time by means of calculation. the balance filtering module is specifically configured to obtain a j th balance filtering coefficient in the following manner: b j current = b j last time + μ ∗ sign e last but one time − e last time, wherein b j (current) is an obtained coefficient weight of the j th balance filtering coefficient that is currently used, a value range of j is 0 to L b, L b is a length of the balance filtering coefficient, b j (last time) is a basic coefficient weight of the j th balance filtering coefficient used last time, μ is a coefficient change length of the balance filtering coefficient, e last but one time -e last time is the first compensation error, e last but one time is the compensation error value obtained the last but one time by means of calculation, and e last time is the compensation error value obtained last time by means of calculation.