A method for decoding symbols transmitted over an optical communication channel having a cross-polarization modulation, XPolM, impairment, wherein an optical signal is polarized to encode the symbols on an x-polarization and an y-polarization before transmission, comprising: receiving the optical signal transmitted over the optical communication channel; sampling at least a portion of the optical signal to produce a sequence of digital samples, wherein each digital sample of the sequence of digital samples includes a measurement of each polarization of the optical signal at an instance of time; selecting a subset of the sequence of digital samples including a digital sample and neighboring digital samples to the digital sample in the sequence; determining jointly cross-talk coefficients for each digital sample in the subset of the digital samples by: determining cross-talk coefficients for the digital sample by jointly optimizing a likelihood of the subset of the digital samples to satisfy a cross-talk model, the cross-talk model connects, via the determined cross-talk coefficients, the measurements of the subset of the digital samples for each polarization of the optical signal with values of the symbols encoded at each polarization of the at least portion of the optical signal, wherein the optimizing is subject to a constraint of equality of corresponding cross-talk coefficients for each polarization; repeating the selecting and the determining for each digital sample remaining in the sequence of digital samples to produce a sequence of cross-talk coefficients; and decoding at least some of the symbols from the sequence of digital samples using cross-talk model with corresponding cross-talk coefficients, wherein steps of the method are performed using a processor, wherein the method further comprises filtering values in the sequence of the cross-talk coefficients. receiving the optical signal transmitted over the optical communication channel; sampling at least a portion of the optical signal to produce a sequence of digital samples, wherein each digital sample of the sequence of digital samples includes a measurement of each polarization of the optical signal at an instance of time; selecting a subset of the sequence of digital samples including a digital sample and neighboring digital samples to the digital sample in the sequence; determining jointly cross-talk coefficients for each digital sample in the subset of the digital samples by: determining cross-talk coefficients for the digital sample by jointly optimizing a likelihood of the subset of the digital samples to satisfy a cross-talk model, the cross-talk model connects, via the determined cross-talk coefficients, the measurements of the subset of the digital samples for each polarization of the optical signal with values of the symbols encoded at each polarization of the at least portion of the optical signal, wherein the optimizing is subject to a constraint of equality of corresponding cross-talk coefficients for each polarization; repeating the selecting and the determining for each digital sample remaining in the sequence of digital samples to produce a sequence of cross-talk coefficients; and decoding at least some of the symbols from the sequence of digital samples using cross-talk model with corresponding cross-talk coefficients, wherein steps of the method are performed using a processor, wherein the method further comprises filtering values in the sequence of the cross-talk coefficients.