filtri FIR, filtri IIR, e la causale costante coefficiente equazione alle differenze lineari media mobile (FIR) Filtri Weve discussi sistemi in cui ogni campione di uscita è una somma ponderata di (alcune delle) i campioni di ingresso. Diamo un sistema somma pesata causale, dove causale significa che un dato campione di uscita dipende solo sul campione corrente di ingresso e altri ingressi precedenti nella sequenza. Né sistemi lineari in sistemi generali, non finite di risposta d'impulso, in particolare, hanno bisogno di essere causale. Tuttavia, la causalità è conveniente per un tipo di analisi che sono state andando a visitare al più presto. Se abbiamo simboleggiato gli ingressi come valori di un vettore x. e le uscite come valori di un vettore y corrispondente. allora tale sistema può essere scritta come dove i valori di aeb sono quotweightsquot applicate ai campioni di ingresso attuali e precedenti per ottenere il campione di uscita corrente. Possiamo pensare l'espressione come un'equazione, con il segno di uguale uguale significato, o come un'istruzione procedurale, con il segno di uguale senso di assegnazione. Consente scrivere l'espressione per ogni campione di uscita come un anello MATLAB di istruzioni di assegnazione, dove x è un N-lunghezza del vettore di campioni di ingresso e b è un M-lunghezza del vettore dei pesi. Al fine di trattare il caso speciale in partenza, ci sarà incorporare x in un xhat vettore più lungo il cui primo M-1 campioni sono pari a zero. Scriveremo la somma ponderata per ogni y (n) come un prodotto interno, e faremo alcune manipolazioni degli ingressi (come inversione b) a tal fine. Questo tipo di sistema è spesso chiamato un filtro a media mobile, per ovvie ragioni. Da nostre precedenti discussioni, dovrebbe essere evidente che tale sistema è lineare e shift-invariante. Naturalmente, sarebbe molto più veloce di utilizzare la funzione di convoluzione MATLAB conv () invece del nostro mafilt (). Invece di considerare il primo M-1 campioni di ingresso pari a zero, potremmo considerare loro di essere la stessa degli ultimi M-1 campioni. Questo è lo stesso come trattare l'ingresso come periodica. Ebbene utilizzare cmafilt () come nome della funzione, una piccola modifica della mafilt precedente funzione (). Nel determinare la risposta all'impulso di un sistema, di solito non c'è differenza tra i due, in quanto tutti i campioni non iniziali di ingresso sono pari a zero: Dato un sistema di questo tipo è lineare e spostare-invariante, sappiamo che il suo effetto sul sinusoide sarà solo in scala e spostarla. Qui è importante che noi usiamo la versione circolare La versione circolare-convoluta è spostato e scalato un po ', mentre la versione con circonvoluzione ordinaria è distorto alla partenza. Vediamo quello che il ridimensionamento e lo spostamento esatto è quello di utilizzare una FFT: Sia ingresso e uscita hanno ampiezza solo a frequenze 1 e -1, che è come dovrebbe essere, dato che l'ingresso era una sinusoide e il sistema è stato lineare. I valori di uscita sono maggiori con un rapporto di 10,62,518 mila 1,3281. Questo è il guadagno del sistema. Che cosa circa la fase Abbiamo solo bisogno di guardare in cui l'ampiezza è diverso da zero: L'ingresso ha una fase di PI2, come avevamo richiesto. La fase di uscita è spostata di un ulteriore 1,0594 (con segno opposto per la frequenza negativa), o circa 16 di un ciclo verso destra, come si può vedere sul grafico. Ora lascia provare una sinusoide con la stessa frequenza (1), ma invece di ampiezza 1 e PI2 di fase, permette di provare l'ampiezza e la fase 1.5 0. Sappiamo che solo la frequenza 1 e -1 avranno diverso da zero ampiezza, così lascia basta guardare a loro: Anche in questo caso il rapporto di ampiezza (15.937712.0000) è 1,3281 - e per quanto riguarda la fase è di nuovo spostato di 1,0594 Se questi esempi sono tipici, siamo in grado di prevedere l'effetto del nostro sistema (risposta impulsiva .1 .2 .3 .4 .5) su qualsiasi sinusoide a frequenza 1 - l'ampiezza sarà aumentato di un fattore di 1,3281 e la frequenza positiva) fase (sarà spostato di 1,0594. Potremmo continuare per calcolare l'effetto di questo sistema sinusoidi di altre frequenze con gli stessi metodi. Ma c'è un modo molto più semplice, e che definisce il punto generale. Poiché convoluzione (circolare) nel dominio del tempo significa moltiplicazione nel dominio della frequenza, da segue che In altre parole, la DFT della risposta all'impulso è il rapporto tra la DFT dell'uscita al DFT dell'ingresso. In questa relazione i coefficienti DFT sono numeri complessi. Poiché abs (C1C2) abs (c1) abs (c2) per tutti i numeri complessi c1, c2, questa equazione ci dice che lo spettro di ampiezza della risposta all'impulso sarà sempre il rapporto dello spettro di ampiezza dell'uscita a quella dell'ingresso . Nel caso dell'angolo spettro di fase, angolo (C1C2) (c1) - angolo (c2) per tutti c1, c2 (con la condizione che le fasi che differiscono di n2pi sono considerati uguali). Pertanto lo spettro di fase della risposta all'impulso sarà sempre la differenza tra gli spettri fase di uscita e l'ingresso (con qualunque correzioni 2pi sono necessari per mantenere il risultato tra - pi e pi). Possiamo vedere gli effetti di fase più chiaramente se scartare la rappresentazione della fase, cioè se si aggiungono vari multipli di 2pi come necessario per minimizzare i salti che sono prodotte dalla natura periodica della funzione dell'angolo (). Sebbene l'ampiezza e la fase sono di solito utilizzati per la presentazione grafica e anche tabulare, poiché sono un modo intuitivo di pensare agli effetti di un sistema sui vari componenti di frequenza del suo ingresso, i coefficienti di Fourier complessi sono più utili algebricamente, in quanto consentono la semplice espressione del rapporto l'approccio generale abbiamo visto possa funzionare con filtri arbitrari del tipo delineato, in cui ogni campione di uscita è una somma pesata di un insieme di campioni di ingresso. Come accennato in precedenza, questi sono spesso chiamati filtri Finite Impulse Response, perché la risposta all'impulso è di dimensione finita, o, talvolta, Moving Average filtri. Possiamo determinare le caratteristiche di risposta in frequenza di un tale filtro dalla FFT della sua risposta all'impulso, e possiamo anche progettare nuovi filtri con caratteristiche desiderate da IFFT da una specificazione della risposta in frequenza. Autoregressive (IIR) Filtri ci sarebbe poco senso avere nomi per filtri FIR a meno che non ci fosse un altro tipo (s) per distinguerli da, e così coloro che hanno studiato pragmatica non sarà sorpreso di sapere che c'è davvero un altro importante tipo di filtro lineare tempo-invariante. Questi filtri sono a volte chiamate ricorsiva perché il valore di output precedente (così come ingressi precedenti) questioni, anche se gli algoritmi sono generalmente scritti usando costrutti iterativi. Essi sono chiamati anche filtri Infinite Impulse Response (IIR), perché in generale la loro risposta ad un impulso va avanti per sempre. Talvolta sono anche chiamati filtri autoregressivi, poiché i coefficienti possono essere considerati come il risultato di fare regressione lineare per esprimere i valori dei segnali in funzione dei valori di segnale precedenti. Il rapporto di filtri FIR e IIR può essere visto chiaramente in un'equazione differenza costante coefficiente lineare, ossia impostando una somma pesata di uscite pari ad una somma pesata di ingressi. Questo è come l'equazione che abbiamo dato in precedenza per il filtro FIR causale, tranne che, oltre alla somma ponderata degli input, abbiamo anche una somma pesata di uscite. Se vogliamo pensare a questo come una procedura per la generazione di campioni di uscita, abbiamo bisogno di riorganizzare l'equazione per ottenere un'espressione per il campione y uscita in corrente (n), adottando la convenzione che un (1) 1 (ad esempio scalando altro come e BS), siamo in grado di sbarazzarsi della 1a (1) termine: y (n) B (1) x (n) b (2) x (n-1). b (NB1) x (n-nb) - a (2) y (n-1) -. - Un (NA1) y (n-na) Se tutti un (n) diverso da (1) sono zero, questo riduce al nostro vecchio amico il filtro FIR causale. Questo è il caso generale di un (causale) Filtro LTI, ed è implementato dal filtro funzione MATLAB. Vediamo il caso dove il B coefficienti diversi da b (1) sono zero (invece del caso FIR, dove a (n) sono zero): In questo caso, il campione di uscita y corrente (n) viene calcolato come ponderata combinazione del campione x ingresso corrente (n) e le precedenti campioni di uscita y (n-1), y (n-2), ecc Per avere un'idea di ciò che accade con tali filtri, lascia l'inizio con il caso in cui: Cioè, il campione di uscita corrente è la somma della corrente di ingresso del campione e la metà del campione di uscita precedente. Ebbene prendere un impulso di ingresso attraverso un qualche tempo passi, uno alla volta. Dovrebbe essere chiaro a questo punto che possiamo facilmente scrivere un'espressione per il valore di campionamento di uscita n-esima: si tratta solo (se MATLAB contata da 0, questo sarebbe semplicemente .5n). Poiché ciò che stiamo calcolando è la risposta all'impulso del sistema, abbiamo dimostrato con l'esempio che la risposta all'impulso può infatti avere infiniti campioni diversi da zero. Per implementare questa banale filtro del primo ordine in MATLAB, potremmo usare il filtro. La chiamata sarà simile a questo: e il risultato è: è questo business davvero ancora lineare Possiamo guardare a questo empiricamente: Per un approccio più generale, si consideri il valore di un campione di uscita y (n). Con la sostituzione successiva potremmo scrivere questo come questo è proprio come il nostro vecchio amico forma convoluzione somma di un filtro FIR, con la risposta all'impulso fornito dal .5k espressione. e la lunghezza della risposta all'impulso essendo infinito. Così gli stessi argomenti che abbiamo usato per dimostrare che filtri FIR è lineare verrà ora applicata qui. Finora questo può sembrare come un sacco di storie per non molto. Che cosa è tutta questa linea di indagine buono per ben rispondere a questa domanda in più fasi, a partire da un esempio. La sua non è una grande sorpresa che siamo in grado di calcolare un esponenziale campionato per moltiplicazione ricorsiva. Vediamo un filtro ricorsivo che fa qualcosa di meno ovvio. Questo tempo ben rendono un filtro del secondo ordine, in modo che la chiamata per filtrare sarà della scheda consente impostato secondo a2 coefficiente uscita -2cos (2pi40), e il terzo coefficiente uscita a3 1 e osservare l'impulso risposta. Non molto utile come un filtro, in realtà, ma non genera una sinusoide campionata (da un impulso) con tre moltiplicare-aggiunge per campione Per comprendere come e perché lo fa, e come filtri ricorsiva può essere progettato e analizzato il caso più generale, abbiamo bisogno di fare un passo indietro e dare un'occhiata ad alcune altre proprietà di numeri complessi, sulla strada per comprendere la risposta z transform. Frequency del Running Filter media la risposta in frequenza di un sistema LTI è la DTFT della risposta all'impulso, la risposta all'impulso di un L - Sample media mobile è Poiché il filtro media mobile è FIR, la risposta in frequenza riduce alla somma finita possiamo usare l'identità molto utile per scrivere la risposta in frequenza in cui abbiamo lasciato jomega ae minus . N 0 e M L meno 1. Ci può essere interessato grandezza di questa funzione per determinare quali frequenze ottenere attraverso il filtro non attenuato e che sono attenuati. Di seguito è un grafico della grandezza di questa funzione per L 4 (rosso), 8 (verde), e 16 (blu). L'asse orizzontale va da zero a radianti pi per campione. Si noti che in tutti e tre i casi, la risposta in frequenza ha una caratteristica passa-basso. Un componente costante (frequenza zero) in ingresso passa attraverso il filtro non attenuato. Alcune frequenze più alte, come Pi 2, sono completamente eliminati dal filtro. Tuttavia, se l'intento era quello di progettare un filtro passa-basso, quindi non abbiamo fatto molto bene. Alcune delle alte frequenze vengono attenuate solo per un fattore di circa 110 (per la media 16 punti in movimento) o 13 (per la media mobile di quattro punti). Possiamo fare molto meglio di così. La trama di cui sopra è stato creato dal seguente codice Matlab: omega 0: pi400:. PI H4 (14) (1-exp (-iomega4)) (1-exp (-iomega)) H8 (18) (1-exp (- iomega8)). (1-exp (-iomega)) H16 (116) (1-exp (-iomega16)). (1-exp (-iomega)) terreno (omega, abs (H4) abs (H8) abs ( H16)) asse (0, pi, 0, 1) Copyright copia 2000- - University of California, BerkeleyMoving filtro medio si può pensare di lista osserva come le discussioni che avete segnalibro. È possibile aggiungere tag, autori, discussioni, e anche risultati della ricerca alla tua lista di controllo. In questo modo si può facilmente tenere traccia di argomenti che sei interessato a. Per visualizzare l'elenco orologio, cliccare sul link quotMy Newsreaderquot. Per aggiungere elementi alla tua lista di controllo, fare clic sul quotadd per guardare collegamento listquot in fondo ad ogni pagina. Come faccio ad aggiungere una voce alla mia selezione Per aggiungere criteri di ricerca per la vostra lista di controllo, cercare il termine desiderato nella casella di ricerca. Fare clic sul quotAdd questa ricerca ad orologio collegamento listquot nella pagina dei risultati di ricerca. È inoltre possibile aggiungere un tag alla tua lista di controllo per la ricerca per il tag con la direttiva quottag: tagnamequot dove tagname è il nome del tag che si desidera guardare. Per aggiungere un autore alla tua lista di controllo, andare alla pagina autori profilo e fare clic sul quotAdd questo autore al mio orologio collegamento listquot nella parte superiore della pagina. È inoltre possibile aggiungere un autore alla tua lista di controllo andando ad una discussione che l'autore ha scritto sul e cliccando sul quotAdd questo autore per il mio link orologio listquot. Riceverai una notifica ogni volta che l'autore fa un post. Per aggiungere un filo alla vostra lista di controllo, andare alla pagina filo e fare clic sul quotAdd questa discussione alla mia collegamento listquot nella parte superiore della pagina. A proposito di newsgroup, lettori di news, e MATLAB Central Quali sono i newsgroup I newsgroup sono un forum in tutto il mondo, che è aperto a tutti. Newsgroup vengono utilizzati per discutere di una vasta gamma di argomenti, fare annunci e file commerciali. Le discussioni sono filettate, o raggruppate in un modo che permette di leggere un messaggio pubblicato e tutte le relative risposte in ordine cronologico. Ciò rende più facile seguire il filo del discorso, e di vedere whatrsquos già stato detto prima di postare la propria risposta o effettuare una nuova registrazione. contenuto dei newsgroup è distribuito da server ospitati da varie organizzazioni su Internet. I messaggi vengono scambiati e gestiti tramite protocolli aperti standard. Nessuna singola entità ldquoownsrdquo i newsgroup. Ci sono migliaia di gruppi di discussione, ogni affrontando un singolo argomento o area di interesse. I posti MATLAB Central Newsreader e messaggi visualizzati nel newsgroup comp. soft-sys. matlab. Come posso leggere o inviati ai newsgroup è possibile utilizzare il lettore di news integrato sul sito MATLAB Central per leggere e inviare messaggi in questo gruppo di discussione. MATLAB Central è ospitato da MathWorks. I messaggi postati attraverso il MATLAB Central Telecronista sono visti da tutti, utilizzando i newsgroup, a prescindere dal modo in cui accedono ai newsgroup. Ci sono molti vantaggi di utilizzare MATLAB Central. Un account Il tuo account centrale MATLAB è legato alle vostre MathWorks account per un facile accesso. Utilizzare l'indirizzo email di vostra scelta Il MATLAB Central Telecronista consente di definire un indirizzo email alternativo come vostro indirizzo di invio, evitando disordine nella vostra cassetta postale principale e riducendo lo spam. Spam Control maggior parte dello spam newsgroup viene filtrato dal MATLAB Central Newsreader. I messaggi di tag può essere contrassegnati con un'etichetta rilevante da qualsiasi utente firmato-in. I tag possono essere usati come parole chiave per trovare particolari file di interesse, o come un modo per categorizzare i tuoi messaggi preferiti. Si può scegliere di consentire ad altri di visualizzare i tag, ed è possibile visualizzare o cercare i tag othersrsquo così come quelli della comunità in generale. Tagging fornisce un modo di vedere sia le grandi tendenze e le più piccole, le idee e le applicazioni più oscuri. Guarda le liste Impostazione elenchi di controllo consente di una notifica di aggiornamenti apportati ai distacchi selezionati per autore, filo, o di qualsiasi variabile di ricerca. Lista osserva notifiche possono essere inviate via e-mail (digest giornaliero o immediato), visualizzato nel mio lettore di news, o inviati tramite feed RSS. Altri modi per accedere ai newsgroup, utilizzare un lettore di news attraverso la vostra scuola, datore di lavoro, o Internet Service Provider pagare per l'accesso newsgroup da un fornitore commerciale Usa Google Gruppi Mathforum. org fornisce un newsreader con accesso al newsgroup sys. matlab comp. soft Crea il tuo server. Per le istruzioni tipici, vedi: slyckng. phppage2 Seleziona il Paese
No comments:
Post a Comment