Polinomi Trigonometrici Interpolazione Trigonometrica DFT & FFT

Slides:



Advertisements
Presentazioni simili
Metodo di Calcolo Numerico per Equazioni differenziali Ordinarie
Advertisements

Le linee di trasmissione
Filtri FIR.
Funzioni di due variabili
Elaborazione numerica del suono
Modulo 1 Unità didattica 2:
L’oscillatore digitale
Capitolo 8 Sistemi lineari.
Autovalori e autovettori
COORDINATE POLARI Sia P ha coordinate cartesiane
LE MATRICI.
Filtri digitali Introduzione.
Integrazione Corso: Analisi Numerica Anno Accademico:
esponente del radicando
Definizione e caratteristiche
Algebra delle Matrici.
Sistemi e Tecnologie della Comunicazione
Lezione 3) Cenni di teoria dell’elasticità, sforzi e deformazioni, l’equazione delle onde elastiche.
MODELLO DI REGRESSIONE LINEARE MULTIPLA
Statistica per le decisioni aziendali ed analisi dei costi Modulo II - Statistica per le decisioni Aziendali Richiami di Algebra Matriciale.
Cinematica differenziale
A cura di Pietro Pantano Università della Calabria
Ma anche…prodotto della sezione S per la velocità V
Sistemi di equazioni lineari
Il moto armonico Altro esempio interessante di moto è quello armonico caratterizzato dal fatto che l’accelerazione è proporzionale all’opposto della posizione:
STATISTICA a.a METODO DEI MINIMI QUADRATI REGRESSIONE
Studente Claudia Puzzo
Rappresentazione Spettrale Se nellintervallo [t 1, t 2 ] è possibile definire un insieme di funzioni [u 1,u 2,u 3 ….u n ] mutuamente ORTO-NORMALI : Cioè
1 Esempio : Utile per considerare limportanza delle ALTE FREQUENZE nella ricostruzione del segnale, in particolare dei FRONTI di SALITA e di DISCESA (trailing.
Le matrici e I Sistemi lineari.
Metodi numerici per l’approssimazione
Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2008/2009 Prof. Maria Lucia Sampoli.
Lezione 14 Equazione di Dirac (seconda parte):
Lezione 13 Equazione di Klein-Gordon Equazione di Dirac (prima parte)
EQUAZIONI DI SECONDO GRADO
Definizione di determinante
Daniele Santamaria – Marco Ventura
Unità 2 Distribuzioni di probabilità Misure di localizzazione Misure di variabilità Asimmetria e curtosi.
Corso Di Programmazione Grafica
Rotazioni e quaternioni
ESTENSIONI SEMPLICI e TEOREMA DELL’ELEMENTO PRIMITIVO
Prof. Francesco Gaspare Caputo
Vettori dello spazio bidimensionale (R 2)
TRASFORMATA DI FOURIER
Teoria dei Circuiti Lez. 1.
La ricorsione.
Calcolo letterale.
IL CAMPIONE.
Laurea Ing. EO/IN/BIO;TLC D.U. Ing EO 3
APPROSSIMAZIONE DI FUNZIONI
MATEMATICA PER L’ECONOMIA e METODI QUANTITATIVI PER LA FINANZA a. a
Jean Baptiste Fourier iniziò a chiedersi se, con un’adeguata scelta delle ampiezze, delle frequenze e delle fasi, fosse stato possibile scomporre.
Sistemi e Tecnologie della Comunicazione
6. LIMITI Definizione - Funzioni continue - Calcolo dei limiti
Forma normale delle equazioni di 2° grado Definizione. Un'equazione di secondo grado è in forma normale se si presenta nella forma Dove sono numeri.
Le funzioni goniometriche
L’analisi di regressione e correlazione Prof. Luigi Piemontese.
I poliedri diagonale DEFINIZIONE. Un poliedro è la parte di spazio delimitata da poligoni posti su piani diversi in modo tale che ogni lato sia comune.
FILTRI NUMERICI. Introduzione Nel campo nei segnali (analogici o digitali), un sistema lineare tempo-invariante è in grado di effettuare una discriminazione.
TRANFER DEFINITION FUNCTION G(s) I(s) U(s) Relationship between input and output of a system in the domain of the complex variable s s - complex variable.
Sistemi di equazioni lineari. Sistemi di primo grado di due equazioni a due incognite Risolvere un sistema significa trovare la coppia di valori x e y.
Riconoscimento frequenze di note musicali Corso ESIM Prof. P. Daponte Gruppo di lavoro: Mario Calì 195/ Marco Gallucci 195/ Roberto De Falco.
Regressione semplice e multipla in forma matriciale Metodo dei minimi quadrati Stima di beta Regressione semplice Regressione multipla con 2 predittori.
Raccogliamo x al primo membro e 2 al secondo:
FUNZIONI MATEMATICHE DANIELA MAIOLINO.
ANALISI DEI SEGNALI Si dice segnale la variazione di una qualsiasi grandezza fisica in funzione del tempo. Ad esempio: la pressione in un punto dello spazio.
DEFINIZIONE. I multipli di un numero sono costituiti dall’insieme dei prodotti ottenuti moltiplicando quel numero per la successione dei numeri naturali.
Le frazioni A partire da N vogliamo costruire un nuovo insieme numerico nel quale sia sempre possibile eseguire la divisione. Per fare ciò dobbiamo introdurre.
Prof. Cerulli – Dott. Carrabs
Transcript della presentazione:

Polinomi Trigonometrici Interpolazione Trigonometrica DFT & FFT Seminario Metodi Matematici per l’Ottimizzazione Anno accademico 2010/2011 Francesco Cambria Fabio Catrini

Introduzione Nel campo dell'analisi numerica può risultare utile effettuare l'approssimazione di una funzione. Tale esigenza scaturisce da varie cause, l'assenza dell' espressione analitica della funzione che descriva un certo fenomeno fisico o pur essendo nota l'espressione analitica, essa risulta complicata da gestire. Nel primo caso si deve trovare una funzione approssimante a partire dai punti noti,mentre nel secondo caso occorre sostituire la funzione nota con una più semplice dal punto di vista operativo.Esistono due modi diversi di risolvere il problema dell'approssimazione di una funzione,questi prendono il nome di Interpolazione e di Approssimazione ai minimi quadrati. L'interpolazione è un metodo nel quale si richiede alla funzione approssimante di assumere lo stesso valore della funzione da approssimare.

Definizione polinomio trigonometrico Se P(x,y) è un polinomio nelle variabili x e y un polinomio trigonometrico è semplicemente P(cosx,sinx). Il tipico polinomio trigonometrico è la serie di Fourier una funzione periodica che può essere espressa come somma di armoniche di differenti frequenze e ampiezze : (1.1) I numeri complessi sono i coefficienti del polinomio trigonometrico e dipendono da f.

Funzioni Armoniche La funzione armonica ha forma: Dove: A -> Ampiezza w -> Pulsazione(2π/T) Φ -> Fase a -> AsinΦ b ->AcosΦ T -> periodo Frequenza -> 1/T numero di periodi compiuti in un secondo misurata in hertz (Hz)

Composizioni di armoniche

Calcolo dei coefficienti 1 Date le seguenti identità: (1.2) (1.3) (1.4) Supponiamo che valga la (1.1); dalla (1.1), moltiplichiamo ambo i membri per cos(lx), si ha:

Calcolo dei coefficienti 1.1 Integrando ambo i membri ed utilizzando la proprietà distribuita, si ha: (*) Distinguiamo i seguenti casi: k=l utilizzando la (1.2) e la (1,4), si ha: da cui

Calcolo dei coefficienti 1.2 2) k≠l questo non dà informazioni. Per calcolare consideriamo l’equazione: Riducendo abbiamo:

Calcolo dei coefficienti 1.3 Analogamente, dalla (1.1), moltiplichiamo ambo i membri per sen(lx), si ha: Integrando ambi i membri ed utilizzando la proprietà distributiva, si ha: (**)

Calcolo dei coefficienti 1.4 Distinguiamo i seguenti casi: k=l utilizzando la (1.3) e la (1.4), si ha: da cui: 2) k≠l questo non dà informazioni

Calcolo dei coefficienti 1.5 Quindi i coefficienti di Fourier in forma trigonometrica sono:

Polinomi trigonometrici di Fourier in forma complessa 2 Consideriamo l’intervallo (0,2π). Ricordiamo l’identità di Eulero: da cui si ottiene: I polinomi trigonometrici di Fourier in forma complessa sono dati da: dove i indica l’unità immaginaria. Si tratta pertanto di funzioni a valori complessi periodiche di periodo 2π

Polinomi trigonometrici di Fourier in forma complessa 2.1 La notazione per indicare l’insieme delle funzioni: Con prodotto scalare e norma definiti rispettivamente da: (f,g)= Se , la sua serie di Fourier è definita da :

Polinomi trigonometrici di Fourier in forma complessa 2.2 dove α(x) è la parte reale di f e β(x) è quella immaginaria.

Polinomi trigonometrici di Fourier in forma complessa 2.3 I coefficienti di Fourier di f possono essere scritti come : Infatti:

Interpolazione Trigonometrica 3 In matematica, interpolazione trigonometrica è interpolazione con polinomi trigonometrici, cioè una somma di seni e coseni di dati periodi. . L'interpolazione è il processo di individuazione della funzione che passa attraverso alcuni dati punti di riferimenti. Questa forma è adatta particolarmente per interpolazione di funzioni periodiche.

Interpolazione trigonometrica 3.1 Un polinomio trigonometrico che la interpoli negli n+1 nodi ovvero tale che L’interpolatore trigonometrico si ottiene attraverso una combinazione lineare di seni e coseni. Assumerà le forme seguenti: se n pari (1) Dove M=n/2 mentre, se n è dispari, M=(n-1)/2 (2)

Interpolazione trigonometrica 3.2 Con n pari Possiamo scrivere la funzione (1) come dove i è l’unità immaginaria. I coefficienti ck sono legati ai coefficienti ak e bk nel modo seguente

Interpolazione trigonometrica 3.2 Con n dispari possiamo scrivere la funzione (2) come I coefficienti ck per k=0,….M sono determinati come prima, mentre scriviamo con μ=0 se n è pari, μ=1 se n è dispari.

Comando interpft MATLAB Il comando interpft calcola l’interpolatore trigonometrico di un insieme di dati. Richiede come parametri d’ingresso un numero intero N ed un vettore le cui componenti sono i valori d’ingresso assunti da una funzione periodica nei punti xi=ip/M, i=1,……,M-1. Il programma interpft restituisce gli N valori dell’interpolatore trigonometrico, ottenuto con la trasformata di Fourier, nei nodi ti=ip/N, i=0,…..,N-1.

Esempio x=pi/5*[0:9];y=x.*(x-2*pi).*exp(-x);z=interpft(y,100) Questo esempio prende una funzione in [0,2π] e valuta in 10 nodi equispaziati e calcola i valori dell’interpolatore trigonometrico in 100 nodi equispaziati. La linea tratteggiata è la nostra funzione ed in corrispondenza della linea continua l’interpolatore trigonometrico relativo a 10 nodi equispaziati.

Aliasing L’accuratezza dell’interpolazione trigonometrica può in certe situazione subire un forte degrado chiamato aliasing e si può manifestare ogni volta che in una stessa funzione coesistono componenti con frequenza diversa: finchè il numero di nodi non è sufficientemente alto per risolvere le frequenze più elevate, queste ultime potranno interferire con le frequenze più basse, dando origine ad approssimazioni inaccurate. Solo aumentando il numero di nodi sarà possibile approssimare correttamente le funzioni di frequenza più elevata.

Trasformata di Fourier ed FFT

Analisi spettrale L’ analisi spettrale è la rappresentazione delle componenti in frequenza di un segnale. Lo spettro è il vettore delle ampiezze delle componenti di un segnale, disposte in funzione della loro frequenza. Un segnale è in teoria rappresentato da una serie infinita di sinusoidi. Lo spettro si stima tramite: Metodo tradizionale (non parametrico): Trasformata di Fourier. Metodo parametrico: basato su modelli (lineari) del segnale.

Perché utilizzare l’analisi in frequenze Ad esempio, in ottica, alcuni colori (rosso, giallo, blu), detti fondamentali, sono puri, cioè non ulteriormente scomponibili. A ciascuno di essi corrisponde una certa lunghezza d'onda (frequenza) del raggio luminoso, e il prisma (che scompone la luce bianca nei sette colori dello spettro luminoso) mostrerà solamente quella componente. La medesima cosa avviene per gli altri segnali.

Spettro di un segnale armonico a frequenza equispaziate Se le componenti sono in rapporto di frequenza intero con la componente di frequenza più bassa, si dicono armoniche. La componente a frequenza più bassa si chiama fondamentale o prima armonica e si indica con F0. La componente di frequenza doppia della fondamentale si chiama seconda armonica (y = sin(2x) ), la componente di frequenza tripla (y = sin(3x) ) della fondamentale si chiama terza armonica, e così via.

Serie di Fourier Qualunque segnale periodico può essere scomposto nella somma di un eventuale termine costante e di componenti sinusoidali, delle quali la prima si chiama prima armonica o fondamentale, e le altre, aventi periodi sottomultipli e quindi frequenze multiple, si chiamano armoniche superiori. La serie di Fourier è quindi una rappresentazione di una funzione periodica con periodo mediante una somma di funzioni periodiche della forma le quali sono le potenze di , cioè le sue armoniche.

Serie di Fourier: criteri di convergenza Affinchè la serie trigonometrica converga effettivamente a f(x) si deve rispettare il Criterio (o Condizioni) di Dirichlet che impone: f(x) deve essere definita nell'intervallo t0-t0+T; sono ammessi anche eventuali punti di discontinuità purchè in numero finito. f(x) e la sua derivata prima f'(x) devono essere continue a tratti nell'intervallo t0-t0+T. Se f(x) soddisfa alle ipotesi del Teorema di Dirichlet parleremo di sviluppo di f(x) in serie di Fourier anche se la serie di Fourier di f(x) può non coincidere nei punti di discontinuità con f(x).

Esempio Onda quadra di periodo 1 con ampiezza 4 approssimata con k=5 e k = 15

La Trasformata di Fourier Per l’approssimazione di segnali aperiodici si applica la trasformata di Fourier La trasformata di Fourier è l’operatore che permette di trasformare il segnale originario espresso nel dominio del tempo in una “somma” di segnali sinusoidali a tutte le frequenze. La trasformata discreta di Fourier opera su sequenze di valori discreti, equispaziati in un intervallo finito.

DFT ed interpolazione Per il calcolo della DFT faremo uso dell’interpolazione in punti ugualmente spaziati. Più precisamente:  dove e i punti , sono ugualmente spaziati sul cerchio unitario I punti si ripetono quando j aumenta ogni volta di 2n+1.

Calcolo della DFT: cerchio unitario Il cerchio unitario è il luogo dei punti del piano aventi una distanza minore o uguale all'unità da un punto detto centro del cerchio. In altri termini il cerchio unitario comprende la circonferenza unitaria e la parte di piano racchiusa dalla circonferenza stessa. Esso è indicato da:

DFT ed interpolazione Scriviamo il polinomio di interpolazione come: e imponiamo le condizioni di interpolazione: Si ha:

DFT ed interpolazione Per trovare i coefficienti , usiamo il seguente lemma. Lemma Per ogni intero k :

DFT ed interpolazione Dato il polinomio precedente: Moltiplicando ogni j-esima equazione per restringendo l’intervallo su e sommando su j otterremo: Invertiamo l’ ordine delle somme e usiamo il lemma per ottenere:

DFT ed interpolazione Sostituendo in: si avranno i coefficienti ottenuti come segue: Tali coefficienti sono detti trasformate discrete di Fourier (DTF) dei dati e danno una formula esplicita per il polinomio di interpolazione

DFT E INTERPOLAZIONE Effettuando un cambio di notazione i coefficienti possono essere scritti come: dove m=2n+1, k=l, è detta radice principale di ordine m dell’ unità, poiché Segue che per Infatti Quindi basta calcolare

Richiami di algebra lineare: Matrice di Vandermonde E’ una matrice le cui righe (oppure le cui colonne) hanno elementi, a partire da 1, in progressione geometrica (oppure la trasposta )

LA DFT IN FORMA MATRICIALE Poniamo per comodità. Consideriamo con Possiamo scriverli in forma matriciale ottenendo: Ponendo con e , con La DFT in forma matriciale sarà:

Costo della DFT Il calcolo diretto di dk richiede (m-1) moltiplicazioni complesse. Per calcolare l’intera sequenza saranno necessarie m(m-1) operazioni per una complessità finale di O( )

FFT La FFT è un algoritmo sviluppato negli anni ’60 per il calcolo veloce della DFT, grazie al quale si ha una riduzione rilevante del numero di operazioni da compiere nel calcolo della DFT. La FFT ci permette di ridurre il numero di operazioni da compiere (in particolare il numero di moltiplicazioni). Questo è un aspetto molto importante, soprattutto quando l’implementazione avviene su un sistema che deve garantire un processing real-time.

FFT: approccio “divide et impera” Il cuore dell’algoritmo FFT sta nella scomposizione in due sommatorie della sommatoria per il calcolo dei coefficienti della DFT selezionando in modo “opportuno” gli indici. L’algoritmo più famoso è quello di Cooley-Tukey.

Cooley-Tukey L'algoritmo FFT più diffuso è l'algoritmo di Cooley-Tukey. Si basa sul principio di divide et impera: divide ricorsivamente una DFT di qualsiasi dimensione N con N numero composto tale che N=N1N2 in DFT più piccole di dimensioni N1 e N2, insieme a O(n) moltiplicazioni per l'unità immaginaria, detti fattori twiddle.

Cooley-Tukey: Radix-2 L’algoritmo di cui parleremo è il Radix-2. Caratteristiche dell’algoritmo: Sfrutta sia la simmetria che la periodicità dei fattori twiddle Considera il caso particolare di N campioni di dati, con potenza intera di 2 Si separa l’input x[n] in due sequenze di lunghezza N/2 I campioni di indice pari nella prima sequenza I campioni di indice dispari nella seconda sequenza moltiplicato per il così detto fattore twiddle

Cooley-Tukey: Radix-2 Sia X[k] il coefficiente della DFT da calcolare. Suddiviamo la sommatoria per il calcolo della DFT in due, sommando sugli indici pari e sugli indici dispari: Operiamo le sostituzioni n=2r per n pari e n=2r+1 per i dispari ponendo

Cooley-Tukey: Radix-2 Un segnale con N punti viene decomposto in N segnali ognuno contenente un solo segnale. Ad ogni passo il segnale viene suddiviso tra le sue componenti pari e dispari.

Cooley-Tukey: Radix-2 Le due sommatorie rappresentano rispettivamente la DFT G[k] su N/2 punti della sequenza x[2n] cioè della sequenza di campioni di posto pari e la DFT H[k] su N/2 punti della sequenza x[2r+1] cioè della sequenza dei campioni di posto dispari: G[k] e H[k] sono sequenze periodiche di periodo N/2, cioè : G[k + N/2] = G[k] H[k + N/2] = H[k] Inoltre vale che:

Radix-2 : decimazione del tempo Avremo dunque che il calcolo della DFT X[k] su N punti a partire da quello delle due DFT su N/2 punti G[k] e H[k] è dato da: Il grafo corrispondente a tale coppia di equazioni è: Butterfly

Decimazione del tempo per 8 punti • Due DFT a N/2 punti: Osserviamo che G[k], così come H[k] richiede moltiplicazioni complesse ; il numero di moltiplicazioni richieste per è invece N/2. Complessivamente per calcolare X[k] occorrono Quindi più efficiente della DFT diretta di un fattore 2 circa (per N grande)

Decimazione del tempo: ricorsione La procedura di decimazione nel tempo risulta dunque vantaggiosa e conviene riapplicarla al calcolo delle due DFT su N/2 punti G[k] e H[k] della sottosequenza G[n] dei campioni di posto pari e H[n] di campioni di posto dispari.

Analisi di complessità FFT Se operiamo ricorsivamente secondo la strategia appena illustrata, dimezziamo la complessità ad ogni passo di ricorsione dimezzando al contempo la lunghezza della sequenza numerica su cui si opera. Così facendo, se : quando la sequenza di ingresso si riduce ad un solo campione la procedura ricorsiva è stata invocata un numero di volte pari a: L = log2 N Il calcolo della trasformata di un vettore a N componenti richiama ricorsivamente il calcolo della trasformata di 2 vettori a N/2 componenti con O(N) operazioni di somma e prodotto aggiuntive.

Analisi di complessità FFT: equazione di ricorrenza Detto T(N) il numero totale di operazioni per calcolare la trasformata di un vettore a N componenti, vale allora la seguente equazione di ricorrenza: Poiché la soluzione alla precedente equazione di ricorrenza è T(N) = O(N log N), l’algoritmo FFT permette una forte riduzione della complessità in tempo per il calcolo della trasformata. In particolare, l’analisi esposta sopra mostra che il calcolo della FFT richiede esattamente (N/2) log2 N moltiplicazioni di numeri complessi.

Alcuni esempi in Matlab Interpolatore trigonometrico File: interp.m

Alcuni esempi in Matlab Fenomeno di aliasing File: aliasing.m

Alcuni esempi in Matlab Approssimazione di un’onda quadra. Fenomeno di Gibbs File: ondaquadra.m

Alcuni esempi in Matlab Calcolo DFT ed FFT su f(x)= cos(2*pi*n/10). File: esempio.m

Alcuni esempi in Matlab Implementazione della DFT. File: dft.m

Alcuni esempi in Matlab Implementazione della FFT Radix2. File: FFTRadix2.m

Alcuni esempi in Matlab Confronto dei tempi di CPU tra DFT ed FFT File: FFTflops.m

GRAZIE