DFE for QPSK in MATLAB I need to do a DFE for QPSK simulation in MATLAB.
The system consists of a QPSK signal transmitted with power = 1 which is then pulse shaped with a square raised-cosine filter. Add AWGN and a filter receptor with ISI = [0.25 1 0.25]. 

Summarizing and clarifying, the sequence is:

QPSK signal -> Upsample -> Rcosine -> AWGN -> ISI [0.25 1 0.25] -> Downsample -> DFE -> BER counting.

I have coded the algorithm, with guidance from Dig. Comm. Lee-M., but I am thinking about problems with the Feed-Forward filter. The objetive is to obtain a signal with NO ISI, and the correct BER for a given SNR.

The code is:

% DFE.
tapsffe=7;
tapsdfe=8;
% Gain
betaf=0.0001;
betab=0.0001;
% Coefficients init. Ck for FFE and Dk for DFE
ck=zeros(1,tapsffe);
ck(7)=1;               % Last tap for FFE=1
dk=zeros(1,tapsdfe);

% Signal to filtering
rk=zeros(1,tapsffe);  % Signal to filter in FFE
ak=zeros(1,tapsdfe);  % Signal to filter in DFE

% Filtered signal, and correspondings error
n=length(s6);
s7=zeros(1,n);
e7=zeros(1,n);

for k=1:n

    rk = [s6(k), rk(1:tapsffe-1)]; % FILTERING in FFE

    % Output from Feed-Forward and FeedBack
    ykf = sum(rk.*ck);
    ykd = sum(ak.*dk);
    yk = ykf-ykd;

    % Slicer for QPSK. sqrt(2) for POWER = 1.
    dec = (-1*(real(yk)&lt;0)+1*(real(yk)&gt;=0) + 1i*(-1*(imag(yk)&lt;0)+1*(imag(yk)&gt;=0)))/sqrt(2);

    % Obtained value for filter ecualized signal
    s7(k) = dec;   

    % Error:
    error = dec-yk;
    e7(k) = error;

    % Coefficient adaptation
    ck = ck - betaf*error*conj(rk); 
    dk = dk + betab*error*conj(ak);

    % FILTERING for Feedback filter with SLICER decisions
    ak = [dec, ak(1:tapsdfe-1)];
end


Apparently I have problems with the FFE, because I do not see ck taps to accommodate to the inverse of the channel response with ISI. I have little doubt of its coefficients adaptation. Signal for BETA, and adaptation for ck with the corresponding rk, or the fliplr coefficient...
If we focus on finite-duration impulse response filters and apply the
MSE criterion to optimize the coefficients of the feedback and feedforward filters. 


The equalizer output can be expressed as:
\begin{equation}\hat{I}_{k}=\sum_{j=-K_{1}}^{0} c_{j} v_{k-j}+\sum_{j=1}^{K_{2}} c_{j} \tilde{I}_{k-j}\end{equation}

where $\hat{I}_{k}$ is an estimate of the $k$ th information symbol, $\left\{c_{j}\right\}$ are the tap coefficients of the filter, and $\left\{\tilde{I}_{k-1}, \ldots, \tilde{I}_{k-K_{2}}\right\}$ are previously detected symbols. The equalizer is assumed to have ( $K_{1}+1$ ) taps in its feedforward section and $K_{2}$ in its feedback section.

The MSE criterion result in a mathematically tractable optimization of the equalizer coefficients; based on the assumption that previously detected symbols in the feedback filter are correct, the minimization of MSE:
\begin{equation}J\left(K_{1}, K_{2}\right)=E\left|I_{k}-\hat{I}_{k}\right|^{2}\end{equation}
This leads to the following set of linear equations for the coefficients of the feedforward filter:

\begin{equation}\sum_{j=-K_{1}}^{0} \psi_{l j} c_{j}=f_{-l}^{*}, \quad l=-K_{1}, \ldots,-1,0\end{equation}
where
\begin{equation}\psi_{l j}=\sum_{m=0}^{-l} f_{m}^{*} f_{m+l-j}+N_{0} \delta_{l j}, \quad l, j=-K_{1}, \ldots,-1,0\end{equation}

The coefficients of the feedback filter of the equalizer are given in terms of the coefficients of the feedforward section by the following expression:

\begin{equation}c_{k}=-\sum_{j=-K_{1}}^{0} c_{j} f_{k-j}, \quad k=1,2, \ldots, K_{2}\end{equation}

The values of the feedback coefficients result in complete elimination of intersymbol
interference from previously detected symbols, provided that previous decisions are
correct and that $K_2 &gt; L$