Hello,

I am studying the following differential encoder:

and I would like to be sure I understand it correctly, because I have a few doubts.

The analysis I do is the following:

\(\begin{aligned}

\tilde{y}(n) & = Q(y(n))\\

y(n) & = x(n) - a(n-1)\\

a(n) &= \tilde{y}(n) + a(n-1)\\

& = \tilde{x}(n) - a(n-1) + a(n-1)\\

& = \tilde{x}(n)\\

a(n-1) & = \tilde{x}(n-1)

\end{aligned}\)

so if I invent a sequence to be coded, e.g.

\( x(n) = \{0.4,\,0.7,\,1,\,-1.7\}\)

I obtain the following table:

\( \begin{array}{| c | c | c | c | c |}\hline

n & 0 & 1 & 2 & 3 \\ \hline

x(n) & 0.4 & 0.7 & 1 & -1.7 \\\hline

a(n) & 1 & 0 & 1 & 0 \\\hline

a(n-1) & 0 & 1 & 0 & 1 \\\hline

y(n) & 0.4 & -1.3 & 1 & -2.7 \\\hline

\hat{y}(n) & 1 & -1 & 1 & -1 \\\hline

\end{array} \)

From the above table I obtain \(a(n) = 0 \) for some values of \( x(n) > 0 \) (e.g. when \(n = 1\))

If \( a(n) = \tilde{x}(n) = Q(x(n)) \) I suppose it should imply that \(a(n) \neq 0 \) if \( x(n) > 0 \).

So, is there something wrong in my analysis ?

Thank you in advance.

Regards,

Simon

Can you elaborate on how you made this substitution?

Where did "x bar" come from?

It looks like my copy/paste isn't working. I've got a question about your substitution: "x-bar"(n) - a(n-1) + a(n-1)

Where did "x-bar" come from?

Hello @jeff_burch,

You are right. I did not specified it.

I use \(\tilde{x}(n)\) to represent the quantized value of \(x(n)\).

So \( \tilde{x}(n) = Q(x(n)) \).

Regards,

Simon

Simon,

I think the problem is an incorrect block diagram manipulation. Take your drawing and assume that Q is a linear operator (it isn't, more on that later). You can rework the drawing and place Q to the left and also below the summation point where X[n] enters the drawing. So, your modified drawing would have two Q blocks (both before the summation point).

Let's focus on this second Q block that is in the path between a[n-1] and the summation point. I bet you have assumed that this second Q is superfluous because a[n-1] is already quantized, so you've dropped it from your analysis.

I think you can only legally move Q around like this when it is a linear operator. Because Q is sgn() (i.e. non-linear), I don't think you are allowed to move it around like this.

So, I think you are going astray when you introduced "x-bar" into your equations above. I think you want to make this substitution:

a[n] = sgn( x[n] - a[n-1] ) + a[n-1]

I don't think this can be simplified further. I don't think you can legally distribute the sgn( ) function:

sgn( x[n] - a[n-1]) != sgn( x[n] ) - sgn( a[n-1])

Note, I agree with you that sgn( a[n-1] ) is = a[n-1] but I think the != is still true.

Cheers, Jeff

Of course I agree with you. This was another little doubt I had.

Thank you Jeff.

Regards,

Simon

Typically when a[n-1] = 1, then the sgn(x[n]-a[n-1]) will be negative for x[n] less than 1.

so for x[n] = 0.7 and a[n-1] = 1, sgn(x[n]-a[n-1]) = -1 even if x[n] is positive.

Thank you too @oliviert.

Regards,

Simon