Zero, First, Second ... Hold di n-order


9

La funzione rettangolare è definita come:

rect(t)={0if |t|>1212if |t|=121if |t|<12.

La funzione triangolare è definita come:

tri(t)={1|t|,|t|<10,otherwise
è la convoluzione di due funzioni rettangolari di unità identiche:
tri(t)=rect(t)rect(t)=rect(τ)rect(tτ) dτ
Hold di ordine zero e Hold di primo ordine utilizzano queste funzioni. In realtà, ha:
xZOH(t)=n=x(n)rect(tn) 
per mantenimento ordine zero e
xFOH(t)=n=x(n)tri(tn) 
per attesa di primo ordine. Poichétri(t)=rect(t)rect(t) , vorrei sapere se questa è solo una coincidenza o se, per il secondo ordine, la risposta all'impulso è
tri(t)tri(t)=(rect(t)rect(t))(rect(t)rect(t)).
È vero anche per unk -esimo ordinegenerale? Vale a dire, metti
xKTH(t)=n=x(n)gk(tn) 
dovegk(tn) è la risposta all'impulso delk-esimo ordine, vorrei sapere se la sua risposta all'impulso è
gk(tn)=(rect(t)rect(t))(rect(t)rect(t)),
k volte.

non ho visto un riferimento per un -esimo ordine per k > 1 . mi sarei aspettato che fosse la funzione rect ( t ) coinvolta con se stessa k - 1 volte. ma non so quale sia la definizione. kk>1rect(t)k1
robert bristow-johnson il

1
@ robertbristow-johnson: in analogia con un blocco di ordine zero (interpolazione polinomiale di ordine zero, cioè costante a tratti), e un blocco di primo ordine (interpolazione polinomiale di primo ordine, cioè lineare a tratti), un blocco di ordine n-esimo è un'interpolazione a tratti di un polinomio di n-esimo ordine. È menzionato qui (p. 6).
Matt L.

1
Questi e ciò che @ robertbristow-johnson descrive nella sua risposta di seguito sono chiamati spline B.
Olli Niemitalo,

qualcuno può mostrare con una matrice di immagini con fattore 2, per favore? E non sono abbastanza chiaro sul fattore qui.
user30462

Risposte:


9

Questo non è il caso. Innanzitutto, una sospensione di secondo ordine userebbe tre punti campione per calcolare un polinomio di interpolazione, ma la risposta all'impulso suggerita è diversa da zero in un intervallo di dimensione 4 (presupponendo un intervallo di campionamento di T = 1 , come fai nella tua domanda). Tuttavia, la risposta all'impulso corrispondente a una presa del secondo ordine deve avere un supporto di lunghezza 3 .tri(t)tri(t)4T=13

Ora si potrebbe pensare che un -order attesa potrebbe avere una risposta all'impulso che è la convoluzione di n funzioni rettangolari. In questo caso otterrai la dimensione di supporto corretta, ma ovviamente non è sufficiente.nthn

Un order hold calcola un'interpolazione a tratti con n + 1 punti di dati consecutivi. Questo è in analogia con un blocco di ordine zero che utilizza un singolo punto dati e un blocco di primo ordine, che utilizza due punti dati. Questa definizione è comunemente usata in letteratura (vedi ad esempio qui e qui ).nthn+1

È semplice mostrare che il polinomio del secondo ordine che interpola tre punti dati , y [ 0 ] e y [ 1 ] è dato day[1]y[0]y[1]

(1)P(t)=y[1]t(t1)2+y[0](1t2)+y[1]t(t+1)2

Per trovare la risposta all'impulso che raggiunge l'interpolazione data da , dobbiamo equiparare ( 1 ) all'espressione(1)(1)

(2)y[1]h(t+1)+y[0]h(t)+y[1]h(t1)

Se scegliamo il supporto della risposta all'impulso come intervallo [ - 1 , 2 ] , che equivale a scegliere l'intervallo di interpolazione [ 0 , 1 ] , equiparando ( 1 ) e ( 2 ) si ottiene il seguente impulso risposta di una sospensione del secondo ordine:h(t)[1,2][0,1](1)(2)

(3)h(t)={12(t+1)(t+2),1<t<01t2,0t112(t1)(t2),1<t<20,otherwise

La risposta all'impulso di una presa di secondo ordine si presenta così: (3)inserisci qui la descrizione dell'immagine

Lascio a te mostrare che questa risposta all'impulso non può essere generata contrapponendo tre funzioni rettangolari tra loro.


Matt, puoi fornire un riferimento per la tua rappresentazione di ciò che è una sospensione del 2 ° ordine. Sono convinto al 100% che la trama sia sbagliata.
robert bristow-johnson il

ho corretto l'Eq. (1) (supponendo che la premessa sia corretta). Lascio a te riflettere ciò in . h(t)
robert bristow-johnson il

P(1)=y[1]P(1)=y[1]

(t1)=2

6

nrect(tT/2T)n

x(t)x[n]x(nT)

x(t)=n=x[n] sinc(tnTT)

che è l'output di un filtro brickwall ideale con risposta in frequenza:

H(f)=rect(fT)={1|f|<12T0|f|>12T

se guidato dalla funzione idealmente campionata

xs(t)=x(t)n=δ(tnTT)=x(t)Tn=δ(tnT)=Tn=x(t)δ(tnT)=Tn=x(nT)δ(tnT)=Tn=x[n]δ(tnT)

xs(t)H(f)x(t)TH(f)1

ciò significa che la risposta all'impulso di questo filtro ideale per brickwall è

h(t)=F1{H(f)}=1Tsinc(tT)

la ricostruita èx(t)

x(t)=h(t)xs(t)

chiaramente non possiamo renderci conto di quel filtro di ricostruzione perché non è causale. ma con abbastanza ritardo, potremmo essere in grado di avvicinarci sempre di più con una causale ritardata .h(t)

ora un DAC pratico non si avvicina particolarmente, ma poiché emette semplicemente il valore del campione per il periodo del campione immediatamente dopo il campione, l'output del DAC è simile al seguentex[n]

xDAC(t)=n=x[n] rect(tnTT2T)

e può essere modellato come un filtro con risposta all'impulso

hZOH(t)=1Trect(tT2T)

xs(t)

xDAC(t)=hZOH(t)xs(t)

e la risposta in frequenza del filtro di ricostruzione implicita è

HZOH(f)=F1{hZOH(t)}=1ej2πfTj2πfT=ejπfTsinc(fT)

notare il ritardo costante del mezzo campione in questa risposta in frequenza. ecco da dove proviene la riserva di ordine zero .

xs(t)

xDAC(t)xs(t)xDAC(t)

1j2πfTx[n]x[n1]X(z)z1X(z)=X(z)(1z1)

(1z1)(1(ej2πfT)1)=1(ej2πfT)

HFOH(f)=F1{hFOH(t)}=(1ej2πfTj2πfT)2=ej2πfTsinc2(fT)

la risposta all'impulso di questo è

hFOH(t)=F{HFOH(f)}=(rect(tT2T))(rect(tT2T))=1Ttri(tTT)

ejπfTsinc(fT)rect(tT2T)


Alla fine questo converge in una risposta all'impulso gaussiana, e non riesco a dare un senso molto intuitivo a questo. Sono fermamente convinto che un blocco di n-esimo ordine sia - in completa analogia con ZOH e FOH - un interpolatore polinomiale di n-esimo ordine. Condivido questa opinione con molti altri autori: ad esempio, questi e questo . Non ho mai visto la tua interpretazione di un n-esimo ordine altrove.
Matt L.

nn+1n(n1)

2

Un'altra domanda è stata contrassegnata come un duplicato di questo. Lì è stato chiesto anche che cos'è la tenuta poligonale . Esso e il poligono sembrano essere sinonimi di interpolazione lineare, in cui "punti sono collegati" piuttosto che l'output sembra una sega come nel blocco predittivo del primo ordine. Il collegamento dei campioni con le linee richiede di conoscere in anticipo il campione successivo in modo che la linea possa essere orientata nella direzione corretta. Nel contesto di sistemi di controllo in tempo reale in cui i campioni non sono noti in anticipo, significa che l'uscita deve essere ritardata di un periodo di campionamento affinché le linee si colleghino ai campioni.

Il blocco polinomiale (non il blocco poligonale) include sia il blocco dell'ordine zero sia quello del primo ordine.

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.