I have a following toy example: received signal: $y[n] = x[n] - x[n-1] + z[n]$ and with $\text{Pr}(x[n]=1)=0.3=\text{Pr}(x[n]=-1)$ and $\text{Pr}(x[n]=0)=0.4$ and $z[n]$ is a Gaussian distribution.

I want to use a 3 tap zero forcing filter as am equalizer. How can I calculate the signal to interference ratio (SINR)?

  • $\begingroup$ Calculate the signal out/signal in and then calculate interference out/interference in and take the ratio of the two $\endgroup$ Apr 3, 2020 at 21:46
  • $\begingroup$ I'm sorry, can't read your mind. What system? What interferers? What signal power? Basically: you've described something that is (probably) part of an equalizer. It's absolutely not clear what this has to do with SINR, you'll need to give a lot more background. $\endgroup$ Apr 3, 2020 at 21:47
  • 2
    $\begingroup$ Assuming you want a detailed answer you should add some more details like more information about your signal, interference, noise, and channel. Otherwise, it is just a matter of writing out your composite received signal ($s + i + n$) after it is passed through your filter ($h*s + h*i + h*n$) then your SINR is $\frac{\sum |h*s|^2}{\sum |h*i|^2+\sum |h*n|^2}$ $\endgroup$
    – Engineer
    Apr 3, 2020 at 22:09
  • $\begingroup$ Hi thank you for your responses and apologies for providing a not very detailed question. Above I tried to explain my question through numbers, if I could get a walkthrough on how to calculate the filter coefficients and the SINR it would be great $\endgroup$
    – user49544
    Apr 3, 2020 at 23:16
  • $\begingroup$ Something is wrong with your source signal $x[n]$, its probabilities don't add up to one its probably just a typo but you should fix it $\endgroup$
    – Engineer
    Apr 4, 2020 at 0:22

1 Answer 1


The ZF equalizer, $f[n]$, is a filter (I'm assuming a FIR filter) that tries to force, $f[n]*h[n]$, to be $\delta[n-d]$, where $d$ is the sample delay introduced by the filter (I choose $d=2$ below) and $h[n]$ is the channel impulse response. You can use this convolution equation to solve for the filter weights. I assume that both $f[n]$ and $h[n]$ are zero for all $n < 0$.

For $n=0$ we have: $f[0]h[0]= 0$.

For $n=1$ we have: $f[0]h[1]+f[1]h[0]=1$.

For $n=2$ we have: $f[0]h[2]+f[1]h[1]+f[2]h[0]=0$.

For $n=3$ we have: $f[0]h[3]+f[1]h[2]+f[2]h[1]=0$.

(We go from $n=0$ to $n=3$ because the length of $f[n]*h[n]$ is $4$) We can re-write these equations in a matrix form as $\mathbf{H}\mathbf{f}=\mathbf{d}$, where $\mathbf{d}$ is all zero except for the $d^{th}$ element which is equal to one. From here we can solve for the filter weights as $\mathbf{f}=\mathbf{H}^{+}\mathbf{d}$, where $\mathbf{H}^+$ is the pseudo-inverse of $\mathbf{H}$.

Note: You are given the received signal model in terms of the input signal and the additive noise. From this, you can see the channel impulse response $h[n]=\delta[n]-\delta[n-1]$. Now you are equipped with everything you need to find the filter weights, and be sure at the end to check that $f[n]*h[n]$ does actually look "something like" (there may be small perturbations) an impulse at whatever sample delay that you choose.

To compute the SINR, I am not sure but I am guessing you are considering the $x[n-1]$ term to be the interference. In that case, you can still use the approach from my comment since the signal model is still in the same form.

Code: https://github.com/B-William/DSPSE/blob/master/zfEqualizerScript.m


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.