Trasformazione Z di un downsampler


12

In questo documento o filtro multirate, l'autore stabilisce la seguente relazione matematica. Sia l'output di un downsampler tale cheyD

yD[n]=x[Mn]

dove è il fattore di downsampling. In altre parole, conserviamo ogni campione -th del segnale originale. L'autore prosegue quindi dichiarando quanto segue:MMM

... la trasformazione z di è data dayD[n]

YD[z]=1Mk=0M1X[z1/MWk]

dove è il kernel di trasformata di Fourier discreto -point, ovvero . M e ( - j 2 π k ) / MWkMe(j2πk)/M

Come possiamo passare dalla prima espressione alla seconda? Qual è la relazione tra DFT e la trasformata Z che consente tale transizione?

Risposte:


9

Questa derivazione è complicata. L'approccio suggerito prima ha un difetto. Consentitemi di dimostrarlo prima; allora darò la soluzione corretta.

Vogliamo mettere in relazione la -transform del segnale downsampled, , con la -transform del segnale originale .Y D ( z ) = Z { x [ M n ] } Z X ( z ) = Z { x [ n ] }ZYD(z)=Z{x[Mn]}ZX(z)=Z{x[n]}

La strada sbagliata

Si potrebbe pensare di collegare semplicemente l'espressione per il segnale downsampled nell'espressione della trasformazione :Z

YD(z)=n=+x[Mn]zn

Un cambiamento della variabile sembra ovvio:n=Mn

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

Tuttavia, è importante rendersi conto che, anche se il nuovo indice di sommatoria corre ancora da a , la somma è ora più di 1 su M interi numeri . In altre parole, - n

nMZ={...,2M,M,0,M,2M,...} ,

mentre la definizione della -transform richiedeZ

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

Dato che questo non è più una trasformazione , non possiamo scrivere:Z

YD(z)=X(z1/M)

Il modo giusto

Definiamo innanzitutto un segnale di treno di impulsi "helper" come:tM[n]

tM[n]=k=+δ[nkM]={1:nMZ0:nMZ

Questa funzione è su uno su ogni campioni e zero ovunque.M1M

In modo equivalente, la funzione treno di impulsi può essere scritta come:

tM[n]=1Mk=0M1ej2πkn/M

Prova: dobbiamo considerare separatamente i casi e : n M ZnMZnMZ

nMZ

tM[n]=1Mk=0M1ej2πkn/M={1Mk=0M11:nMZ1M1ej2πkn1ej2πkn/M:nMZ={1MM:nMZ1M111ej2πkn/M:nMZ={1:nMZ0:nMZ
Nel caso ,nMZ

Ora torniamo al nostro problema originale di trovare la trasformazione di un downsampler:Z

YD(z)=n=+x[Mn]zn

Applichiamo la sostituzione , tenendo presente che questo fa funzionare la somma solo su multipli interi di M:n=Mn

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

Ora possiamo usare la funzione del treno di impulsi sopra descritta per riscriverla in modo sicuro come una somma di tutti i :nZ

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

Usando la formulazione sopra per la funzione del treno di impulsi come somma finita di esponenziali, otteniamo:

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

La somma sulla destra è una somma su tutti i numeri interi ed è quindi una valida trasformazione in termini di . Pertanto, possiamo scrivere:z = e - j 2 π k / M z 1 / MZz=ej2πk/Mz1/M

YD(z)=1Mk=0M1X(ej2πk/Mz1/M)

Questa è la formula per la trasformazione di un downsampler.Z


1
Molto bella. Mentre leggevo la mia precedente risposta sopra ho notato anche lo stesso difetto che hai fatto.
Jason R,

5

Non ho mai visto questa notazione prima. Tuttavia, sembra avere senso. Il downsampler è definito dall'equazione:M

yD[n]=x[Mn]

La sua trasformazione è definita dall'equazione:z

YD(z)=n=yD[n]zn=n=x[Mn]zn

Applicare una modifica della variabile, lasciando . Gli intervalli della somma non sono influenzati dal cambiamento di variabile poiché si estendono all'infinito.n=Mn

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

Sembra simile alla trasformazione di stesso. Ricordiamo che è definito come:zx[n]

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

Per ispezione, possiamo quindi concludere la seguente relazione tra le trasformate di e :zx[n]yD[n]

YD(z)=X(z1/M)

Pertanto, la trasformata dell'uscita del downsampler è strettamente correlata alla trasformata del segnale di ingresso, che è prevedibile. Nel dominio della frequenza, ciò si traduce in un allungamento di del contenuto di frequenza del segnale.zzM

Ma come si passa dall'equazione sopra a quella a cui si fa riferimento nel documento? Fornisce una definizione di in termini di , mentre l'espressione che abbiamo derivato è una funzione di . Quindi per un particolare valore di che vorresti valutare , prima calcolerai (cioè prendi la radice -esima di ) e poi lo sostituisci in . Tuttavia, tutto diverso da zero ha distinto radici -esimo :YD(z)zz1/MzYD(z)z1/MMzX(z)zCMM

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

={rp, rpW, rpW2,  , rpWM1}

dove è il valore del kernel DFT riferimento la tua domanda, e è ciò che definisco la principale -esima radice del valore complesso :Wkej2πk/MrpMz

rp=|z|MejzM

Cioè, 's principale -esimo radice è ottenuta convertendo a forma polare, prendendo la -esimo radice ' s magnitudine (che è un numero reale), e dividendo 's angolo da . I valori risultanti esprimono in forma polare.zMrpzMzzMrp

Perché andare a tutti questi problemi? Perché, come ho notato prima, la mappatura dal di al dominio di non è uno a uno. Ora comincerò un po 'di lavaggio a mano. Per qualsiasi valore particolare di quale si desidera valutare , ci sono punti corrispondenti in che è possibile mappare. Pertanto, ciascuno di quei punti in contribuisce al valore corrispondente di . Quindi si finisce con una somma come quella mostrata nel documento:YD(z)X(z1/M)zYD(z)MX(z1/M)MX(z1/M)YD(z)

YD(z)=1Mk=0M1X(rp(z)Wk)

dove riferisce al calcolo principale della radice che ho mostrato in precedenza. In realtà, si potrebbe scegliere uno qualsiasi dei 's radici esimo come quella principale; Ho scelto questa definizione perché è la più semplice. Se dovessi derivare correttamente e rigorosamente questa relazione, credo che il fattore di si presenti a causa di una derivata di .rp(z)MzM1Mz1/M

Dal punto di vista matematico, credo che questo sarebbe indicato come una composizione di funzioni; , dove e . Per srotolare la composizione della funzione e scrivere in funzione di , è necessario tagliare il dominio di in blocchi uno a uno, invertire la funzione su quegli intervalli e quindi sommare i risultati con fattori di ridimensionamento appropriati. Ho usato questa tecnica prima di calcolare la funzione di distribuzione di probabilità di una funzione di una variabile casuale dato il pdf della variabile casuale originale (ad esempio per derivare il pdf di datof ( z ) = X ( z ) g ( z ) = z 1 / M Y D ( z ) z Y D ( z ) YD(z)=f(g(z))f(z)=X(z)g(z)=z1/MYD(z)zYD(z) XXXpdf), ma il nome della tecnica mi sfugge.


Risposta molto bella.
Spacey,

Grazie. Qualsiasi matematico con licenza si arrabbierebbe al mio tentativo di descrizione (sono ovviamente un ingegnere). Non credo sia molto chiaro, ma forse qualcun altro può suggerire una spiegazione più chiara, o forse penserò a un modo migliore per dirlo.
Jason R,

Capisco la prima metà, ma le cose diventano confuse verso la fine per me.
Spacey,

Dovrei riscrivere la seconda metà quando ne avrò la possibilità. È davvero solo una tecnica standard per derivare un'espressione per la composizione di due funzioni. Devo ricordare i dettagli di come farlo.
Jason R,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.