Quando sono due segnali ortogonali?


10

La definizione classica di ortogonalità nell'algebra lineare è che due vettori sono ortogonali, se il loro prodotto interno è zero.

Ho pensato che questa definizione potesse essere applicata anche ai segnali, ma poi ho pensato al seguente esempio:

Considera un segnale sotto forma di un'onda sinusoidale e un altro segnale sotto forma di un'onda coseno. Se li campiono entrambi, ottengo due vettori. Mentre seno e coseno sono funzioni ortogonali, il prodotto dei vettori campionati non è quasi mai zero, né la loro funzione di correlazione incrociata a t = 0 svanisce.

Allora, come si definisce l'ortogonalità in questo caso? O il mio esempio è spento?

Risposte:


10

Come forse saprai, l'ortogonalità dipende dal prodotto interno del tuo spazio vettoriale. Nella tua domanda affermi che:

Mentre seno e coseno sono funzioni ortogonali ...

Ciò significa che probabilmente hai sentito parlare del prodotto interno "standard" per gli spazi funzionali:

f,g=X1X2f(X)g(X) dX

Se risolvi questo integrale per f(x)=cos(x) e g(x)=sin(x) per un singolo periodo, il risultato sarà 0: sono ortogonali.

Il campionamento di questi segnali, tuttavia, non è correlato all'ortogonalità o altro. I "vettori" che si ottengono quando si campiona un segnale sono solo valori messi insieme che hanno senso per te : non sono rigorosamente vettori , sono solo matrici (in gergo di programmazione). Il fatto che li chiamiamo vettori in MATLAB o in qualsiasi altro linguaggio di programmazione può essere fonte di confusione.

In realtà è un po 'complicato, dal momento che si potrebbe definire uno spazio vettoriale di dimensione N se hai Ncampioni per ciascun segnale, in cui tali array sarebbero effettivamente vettori reali . Ma quelli definirebbero cose diverse.

Per semplicità, supponiamo di essere nello spazio vettoriale R3 e tu hai 3campioni per ciascun segnale e tutti sono valutati in modo reale. Nel primo caso, un vettore (ovvero tre numeri messi insieme) farebbe riferimento a una posizione nello spazio. Nel secondo, si riferiscono a tre valori che un segnale raggiunge in tre tempi diversi. In questo esempio è facile individuare la differenza. Se tu avessin campioni, quindi la nozione di "spazio" sarebbe meno intuitiva, ma l'idea è ancora valida.

In breve, due segnali sono ortogonali se lo è il prodotto interno tra loro (vale a dire l'integrale che ho scritto sopra) 0e i vettori / array ottenuti campionandoli non ci dicono nulla del loro essere ortogonali.


4
Il termine "vettore" non significa necessariamente "una posizione nello spazio". In effetti, qualsiasi elemento di uno spazio vettoriale può essere considerato un vettore. Lo spazio funzionale L2 è anche uno spazio vettoriale con aggiunta di elementi saggi e moltiplicazione scalare. Quindi, le funzioni che sono elementi di L2 possono essere considerate vettori di questo spazio vettoriale. Pertanto, il prodotto interno tra questi vettori determina se le funzioni sono ortogonali su questo spazio vettoriale.
Maximilian Matthé,

Ciao @ MaximilianMatthé, non ho mai affermato che "vector" = "position in space". Ho scritto l'esempio dello spazio vettorialeR3per rendere le cose più chiare, e in quel caso il vettore è in coordinate spaziali generali. Il fatto che io abbia definito un prodotto interno per funzioni afferma (implicitamente) che le funzioni possono formare uno spazio vettoriale. Devo modificare qualcosa nel mio post per renderlo più chiaro? Mi riferivo a campioni che non componevano lo stesso spazio vettoriale dei segnali stessi, ed è per questo che i campioni non dicono nulla sull'ortogonalità.
Tendero,

@Tendero Grazie (ho fatto la domanda, ho dimenticato di accedere prima)! Tuttavia, sto ancora lottando, perché hai affermato che, se ho calcolato l'integrale dato conf(X)=coS(X) e g(X)=Sion(X), quindi vorrei 0. Bene no . Il risultato è-0.5coS2(X), che non è sempre zero. Concesso, se mi integro in un periodo, ottengo zero. Ma in realtà ho delle funzioni non periodiche con cui cominciare, e il loro prodotto interno (come definito dal tuo integrale) non è periodico. E allora?
AlphaOmega

2
Le funzioni di @AlphaOmega sono ortogonali a intervalli determinati. L'intervallo di integrazione deve essere definito per sapere se due funzioni sono ortogonali in quell'intervallo . La solita cosa è integrare il coseno e il seno in un periodo, e quindi il prodotto interno è0. Se hai funzioni non periodiche, forse dovresti fare un'altra domanda con quello dichiarato e vedere cosa succede in quel caso.
Tendero,

Il prodotto interno dovrebbe sempre includere i confini, altrimenti il ​​prodotto interno non è una funzione di un campo. L'intervallo scelto altera anche lo spazio vettoriale di cui si parla.
sintonia

6

L'ortogonalità è infatti definita tramite un prodotto interno, con un integrale per una variabile temporale ordinale continua, con una somma per una variabile temporale discreta.

Quando si convertono due segnali (continui) ortogonali in segnali discreti (campionamento regolare, ampiezze discrete), possibilmente a finestra (supporto finito), è possibile influire sull'ortogonalità. In altre parole: due segnali a tempo continuo ortogonali possono diventare quasi ortogonali solo se discretizzati. Se la discretizzazione va abbastanza bene e la finestra è ben scelta, quindi in alcuni casi (pertinente alla periodicità, alla frequenza), si mantiene l'ortogonalità.

Nell'impostazione continua, lo spazio delle funzioni è infinito, quindi sono disponibili molte opzioni per trovare segnali ortogonali. In uno spazio discreto, il numero massimo di segnali reciprocamente ortogonali è limitato dalla dimensione dello spazio.


2

Devi prima definire un prodotto interno per le funzioni. Non puoi semplicemente moltiplicarti l'uno con l'altro.

Non sono sicuro delle proprietà del prodotto interno, ma secondo questa lezione un prodotto interno deve essere commutativo, lineare e il prodotto interno di una funzione con se stesso dovrebbe essere definito positivo.

Un'opzione per un prodotto interno per le funzioni potrebbe essere,

f1,f2=un'Bf1(X)f2(X)dX,

con un'<B. Ma forse potresti trovare tu stesso definizioni diverse o giocare con questa e vedere per qualeun' e B, peccato(X) e cos(X) sono ortogonali.


1
In realtà, Sion(2πK1f0t) e cos(2πK2f0t) sono ortogonali per B-un'=nf0 e K1,K2Z con nZ. Questo è il periodo fondamentale di entrambe le funzioni.
Maximilian Matthé,

1
I prodotti interni non sono lineari: sono bilineari per spazi vettoriali reali e sesquilineari per spazi complessi. Sono simmetrici per spazi vettoriali reali e coniugati simmetrici per spazi complessi.
Batman,

2

Penso di poter rispondere alla domanda dopo aver letto l'articolo "La decomposizione della modalità empirica e lo spettro di Hilbert per l'analisi delle serie temporali non lineari e non stazionarie" di Huang. In questo articolo (Pagina 927), Huang ha dato la definizione dell'ortogonalità tra due segnali: La definizione dell'ortogonalità tra i segnali

Inoltre, vorrei condividere con te il mio codice MATLAB:

function OC=ort(x,y)
x=x(:)';
y=y(:);
xy=x*y;
OC=xy/(sum(x.^2)+sum(y.^2));
end

Questo è tutto, buona fortuna ~


1

In termini di moltiplicazione della matrice (come per un DFT), l'intervallo equivalente di integrazione per i segnali è determinato dalla dimensione della matrice (o dalla dimensione del vettore di input) e dalla frequenza di campionamento. Questi sono spesso scelti in base a considerazioni pratiche (tempo o spazio di interesse e / o disponibilità, ecc.). L'ortogonalità è definita in quell'intervallo di integrazione.


0

Direi che il tuo esempio è un po 'fuori.

Molto probabilmente non hai provato le funzioni peccato e coscorrettamente, nel senso che il campionamento dovrebbe rispettare la loro periodicità. Se campionate queste funzioni sul set{n2πN | n{0,...,N-1}}, Ti assicuro che troverai che il Ntridimensionali che troverete saranno completamente ortogonali.


0

Mi piace avere un approccio geometrico su questo tipo di problema, ricordando che la formula di Pythogoras vale ancora per i vettori:

|X-y|2=|X|2+|y|2-2X,y,

con il prodotto scalare che definisce il coefficiente di correlazione come il coseno dell'angolo tra i due vettori in questo spazio interno del prodotto :

X,y=|X||y|cos(un'ngle(X,y)),

Lo scalare cos(un'ngle(X,y)) è quindi limitato tra -1 e 1 e misura il coseno dell'angolo un'ngle(X,y) tra i vettori X e y.

Interpretazione geometrica dell'angolo tra due vettori definito usando un prodotto interno

tale che, per rispondere alla tua domanda, l' ortogonalità è definita (come nello spazio planare della solita geometria) come quando il coseno è zero .


cosa intendi con cos(f,g)?
robert bristow-johnson,

cosè lo scalare definito dalla seconda equazione, ho aggiunto un inchiostro + ho cercato di renderlo più chiaro
meduz

intendi:
cos(f,g)f,g|f||g|=|f|2+|g|2-|f-g|22|f||g|
è quello che stai dicendo? non ho mai visto una funzione del coseno a due argomenti nel quasi mezzo secolo che ero consapevole di una funzione del coseno.
robert bristow-johnson

hai ragione, errore mio, ho corretto la formulazione della mia risposta.
Meduz,
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.