Transformação Z de um downsampler


12

No presente trabalho ou filtragem multirate, o autor estabelece o seguinte relação matemática. Seja yD a saída de um downsampler tal que

yD[n]=x[Mn]

onde M é o fator de redução da amostra. Em outras palavras, mantemos cada M -ésima amostra do sinal original. O autor então afirma o seguinte:

... a transformação z de yD[n] é dada por

YD[z]=1M∑k=0M−1X[z1/MWk]

onde Wk é o M -ponto Transformada Discreta de Fourier do kernel, nomeadamente e(−j2πk)/M .

Como podemos passar da expressão anterior para a última? Qual é a relação entre DFT e a transformação Z que permite essa transição?

Respostas:


9

Essa derivação é complicada. A abordagem sugerida anteriormente tem uma falha. Deixe-me demonstrar isso primeiro; então eu darei a solução correta.

Desejamos relacionar a transformação do sinal de baixa amostragem, Y D ( z ) = Z { x [ M n ] } , à transformação Z do sinal original X ( z ) = Z { x [ n ] } .ZYD(z)=Z{x[Mn]}ZX(z)=Z{x[n]}

O caminho errado

Pode-se pensar em simplesmente conectar a expressão para o sinal de amostragem reduzida na expressão da transformação :Z

YD(z)=∑n=−∞+∞x[Mn]z−n

Uma mudança da variável parece óbvia:n′=Mn

YD(z)=∑n′∈MZx[n′]z−n′/M

No entanto, é importante perceber que, embora o novo índice de somatório ainda funcione de - ∞ an′−∞ ,a soma está agora acima de 1 dentre M números inteiros. Em outras palavras,∞

,n′∈MZ={...,−2M,−M,0,M,2M,...}

enquanto a definição da transformação requerZ

.n∈{...,−2,−1,0,1,2,...}

Como isso não é mais uma transformação , não podemos escrever:Z

YD(z)=X(z1/M)

O caminho certo

Vamos primeiro definir um sinal de trem de impulso 'auxiliar' como:tM[n]

tM[n]=∑k=−∞+∞δ[n−kM]={1:n∈MZ0:n∉MZ

This function is 1 at one out of every M samples, and zero everywhere else.

Equivalently, the pulse train function can be written as:

tM[n]=1M∑k=0M−1ej2πkn/M

Proof: We need to consider separately the cases n∈MZ and n∉MZ:

tM[n]=1M∑k=0M−1ej2πkn/M={1M∑k=0M−11:n∈MZ1M1−ej2πkn1−ej2πkn/M:n∉MZ={1MM:n∈MZ1M1−11−ej2πkn/M:n∉MZ={1:n∈MZ0:n∉MZ
In the case n∉MZ, we used the expression for the finite sum of a geometric series.

Now let's go back to our original problem of finding the Z-transform of a downsampler:

YD(z)=∑n=−∞+∞x[Mn]z−n

n′=Mn

YD(z)=∑n′∈MZx[n′]z−n′/M

n∈Z

YD(z)=∑n=−∞+∞tM[n]x[n]z−n/M

Using the above formulation for the impulse train function as a finite sum of exponentials, we get:

YD(z)=∑n=−∞+∞(1M∑k=0M−1ej2πkn/M)x[n]z−n/M=1M∑k=0M−1∑n=−∞+∞ej2πkn/Mx[n]z−n/M=1M∑k=0M−1∑n=−∞+∞x[n](e−j2πk/Mz1/M)−n

The summation on the right is a summation over all integers, and is therefore a valid Z-transform in terms of z′=e−j2πk/Mz1/M. Therefore, we can write:

YD(z)=1M∑k=0M−1X(e−j2πk/Mz1/M)

This is the formula for the Z-transform of a downsampler.


1
Very nice. While reading my earlier answer above I also noticed the same flaw that you did.
— Jason R

5

I've not seen this notation before. However, it does seem to make sense. The M-downsampler is defined by the equation:

yD[n]=x[Mn]

Its z transform is defined by the equation:

YD(z)=∑n=−∞∞yD[n]z−n=∑n=−∞∞x[Mn]z−n

Apply a change of variable, letting n′=Mn. The ranges of the summation are unaffected by the change of variable since they extend to infinity.

YD(z)=∑n′=−∞∞x[n′]z−n′/M

This looks similar to the z transform of x[n] itself. Recall that it is defined as:

X(z)=∑n=−∞∞x[n]z−n

By inspection, we can therefore conclude the following relationship between the z transforms of x[n] and yD[n]:

YD(z)=X(z1/M)

Therefore, the z transform of the downsampler output is closely related to the z transform of the input signal, which is to be expected. In the frequency domain, this results in an M-fold stretching of the signal's frequency content.

But how do you go from the above equation to the one you referenced in the paper? It gives a definition of YD(z) in terms of z only, while the expression we derived is a function of z1/M. So for a particular value of z that you would like to evaluate YD(z) at, you would first calculate z1/M (i.e. take the M-th root of z) and then substitute that into X(z). However, all nonzero z∈C have M distinct M-th roots:

{rp, rpej2πM, rpej2π2M, … , rpej2π(M−1)M}

={rp, rpW, rpW2, … , rpWM−1}

where Wk is the DFT kernel value ej2πk/M referenced in your question, and rp is what I define to be the principal M-th root of the complex value z:

rp=|z|Mej∠zM

That is, z's principal M-th root rp is obtained by converting z to polar form, taking the M-th root of z's magnitude (which is a real number), and dividing z's angle by M. The resulting values express rp in polar form.

Why go to all of this trouble? Because, as I noted before, the mapping from YD(z)'s domain to the domain of X(z1/M) is not one-to-one. I'll now begin some handwaving. For any particular value of z that you would like to evaluate YD(z) for, there are M corresponding points in X(z1/M) that you could map to. Therefore, each of those M points in X(z1/M) contribute to the corresponding value of YD(z). You then end up with a sum like that shown in the paper:

YD(z)=1M∑k=0M−1X(rp(z)Wk)

where rp(z) refers to the principal M-th root calculation I showed earlier. In reality, you could pick any of z's M-th roots as the principal one; I picked this definition because it's the most straightforward. If you were to properly and rigorously derive this relationship, I believe the factor of 1M comes in because of a derivative of z1/M.

In mathematician-speak, I believe this would be referred to as a composition of functions; YD(z)=f(g(z)), where f(z)=X(z) and g(z)=z1/M. In order to unroll the function composition and write YD(z) as a function of z only, you would chop the domain of YD(z) into chunks that are one-to-one, invert the function over those intervals, and then sum the results with appropriate scaling factors. I've used this technique before to calculate the probability distribution function of a function of a random variable given the original random variable's pdf (e.g. to derive the pdf of X given X's pdf), but the name of the technique escapes me.


Very nice answer.
— Spacey

Thanks. Any licensed mathematician would cringe at my attempt at a description (I'm obviously an engineer). I don't think it's very clear, but perhaps someone else can suggest a cleaner explanation, or maybe I'll think of a better way to say it.
— Jason R

I understand the first half, but things get fuzzy towards the end for me.
— Spacey

I should rewrite the second half when I get a chance. It's really just a standard technique for deriving an expression for the composition of two functions. I need to recall the details of how to do it.
— Jason R
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.