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]=1Mk=0M1X[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]zn

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

YD(z)=nMZx[n]zn/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,

,nMZ={...,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=+δ[nkM]={1:nMZ0:nMZ

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]=1Mk=0M1ej2πkn/M

Proof: We need to consider separately the cases nMZ and nMZ:

tM[n]=1Mk=0M1ej2πkn/M={1Mk=0M11:nMZ1M1ej2πkn1ej2πkn/M:nMZ={1MM:nMZ1M111ej2πkn/M:nMZ={1:nMZ0:nMZ
In the case nMZ, 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]zn

n=Mn

YD(z)=nMZx[n]zn/M

nZ

YD(z)=n=+tM[n]x[n]zn/M

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

YD(z)=n=+(1Mk=0M1ej2πkn/M)x[n]zn/M=1Mk=0M1n=+ej2πkn/Mx[n]zn/M=1Mk=0M1n=+x[n](ej2π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=ej2πk/Mz1/M. Therefore, we can write:

YD(z)=1Mk=0M1X(ej2π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]zn=n=x[Mn]zn

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]zn/M

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

X(z)=n=x[n]zn

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 zC have M distinct M-th roots:

{rp, rpej2πM, rpej2π2M,  , rpej2π(M1)M}

={rp, rpW, rpW2,  , rpWM1}

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|MejzM

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)=1Mk=0M1X(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.