Come trovare stime uniformi della derivata e della seconda derivata di un segnale?


10

Ho un segnale campionato a : f i ( t i = i Δ t ) dove i = 0 , , n - 1 . Voglio trovare la prima e la seconda derivata del segnale: f ( t ) e f ( t ) .Δtfio(tio=ioΔt)io=0,...,n-1f'(t)f"(t)

Il mio primo pensiero è stato quello di stimare i derivati ​​in base alle differenze centrali:

f'(tio)=f(tio+1)-f(tio-1)2Δtf"(tio)=f(tio+1)-2f(tio)+f(tio-1)(Δt)2

Tuttavia, il segnale può avere un sacco di rumore ad alta frequenza che può causare fluttuazioni rapide in e f .ff

Quale sarebbe il modo migliore per trovare stime "uniformi" di e f ?ff

Risposte:


6

Probabilmente dipende di più dai tuoi dati. Basta sapere, poiché la differenziazione è un'operazione lineare, se si sceglie un filtro lineare per smussare f 'e f' ', equivale a levigare f usando lo stesso filtro, quindi prendere i suoi derivati.

y(n)=ax(n)+(1a)y(n1)o un filtro Hann, che sta semplicemente contorcendo il segnale con una finestra Hann. L'opzione filtro Hann è piacevole perché è in fase lineare. Se conosci la gamma di frequenza che ti interessa, puoi semplicemente progettare un filtro passa-basso adatto nel dominio della frequenza.


Grazie schnarf! Quindi, poiché il livellamento seguito dalla differenziazione è uguale alla differenziazione seguita dal livellamento; Potrei anche attenuare il segnale originale contorcendomi, ad esempio, con la finestra di Hann? Che ne dite dell'approccio più semplice di usare una differenza finita su un arco maggiore: f '(t) ~ = [f (t + 10 * Dt) -f (t-10 * Dt)] / (20 * Dt), sarebbe questo dare una stima abbastanza buona di un derivato levigato?
Andy,

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.