[Teoria d. segnali-Matlab] Mutua correlaz. segnali continui
Salve a tutti,
Ho un piccolo problema con Matlab: dovrei calcolare la funzione di mutua correlazione tra versioni campionate di segnali continui.
Ecco le espressioni analitiche:
x(t)= exp(-abs(t-1)) rect (t/2)
h(t)= [rect(t-1)/2 - rect(t+1)/2]
L'asse temporale fornito dall'esercizio è t=[-6:0.01:6]
Ecco i codici che ho scritto
x= dt=0.01;
t=[-6:dt:6];
x=[exp(-abs(t-1))].* [(t>=0) & (t<=1)];
figure (1); subplot(3,1,1); plot(t,x);
h=[(t>=-2) & (t<=2)];
Calcolo y
y=conv(x,h)*dt;
Ly=length(y);
Lh=length(h);
tc=(t(1)+t(1))+[0:Ly-1]*dt;
figure (1); subplot(3,1,3); plot(tc,y);
Fin qui mi trovo. Adesso dovrei calcolare la mutua correlazione tra x ed y. Io ho provato a impostarla così
Lt=length(t); //lunghezza asse temporale di x
Ltc=length(tc); //lunghezza asse temporale di y
ti=t(1)-tc(Ltc);
ts=t(Lt)-tc(1);
tco=[ti]*dt;
r=xcorr(x,y)*dt;
Quando vado a dare il plot mi da come errore che i vettori devono essere della stessa lunghezza, quindi credo di aver sbagliato qualcosa nella definizione dell'asse temporale della mutua correlazione. Però non riesco a capire cosa, qualcuno mi può aiutare?
Grazie in anticipo a chi risponderà.
Ho un piccolo problema con Matlab: dovrei calcolare la funzione di mutua correlazione tra versioni campionate di segnali continui.
Ecco le espressioni analitiche:
x(t)= exp(-abs(t-1)) rect (t/2)
h(t)= [rect(t-1)/2 - rect(t+1)/2]
L'asse temporale fornito dall'esercizio è t=[-6:0.01:6]
Ecco i codici che ho scritto
x= dt=0.01;
t=[-6:dt:6];
x=[exp(-abs(t-1))].* [(t>=0) & (t<=1)];
figure (1); subplot(3,1,1); plot(t,x);
h=[(t>=-2) & (t<=2)];
Calcolo y
y=conv(x,h)*dt;
Ly=length(y);
Lh=length(h);
tc=(t(1)+t(1))+[0:Ly-1]*dt;
figure (1); subplot(3,1,3); plot(tc,y);
Fin qui mi trovo. Adesso dovrei calcolare la mutua correlazione tra x ed y. Io ho provato a impostarla così
Lt=length(t); //lunghezza asse temporale di x
Ltc=length(tc); //lunghezza asse temporale di y
ti=t(1)-tc(Ltc);
ts=t(Lt)-tc(1);
tco=[ti]*dt;
r=xcorr(x,y)*dt;
Quando vado a dare il plot mi da come errore che i vettori devono essere della stessa lunghezza, quindi credo di aver sbagliato qualcosa nella definizione dell'asse temporale della mutua correlazione. Però non riesco a capire cosa, qualcuno mi può aiutare?
Grazie in anticipo a chi risponderà.
Risposte
Quali sono i due vettori che passi alla funzione plot?