How can I study Autocorrelation function of common inputs?
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Teodoro Coluccio
am 28 Jun. 2022
Beantwortet: Balaji Udayagiri
am 5 Jul. 2022
I'm trying to study the autocorrelation function for some basic signals, such as rectangularPulse and triangularPulse, and to do that I found the xcorr () function. The problem is that the function wants 2 vectors in input, so I'm trying to convert the function to vectors, but mine can be a non linear function...
Also I don't even know if this is the right way...
Everything I'm trying I found here https://en.mathworks.com/help/signal/correlation-and-convolution.html.
0 Kommentare
Akzeptierte Antwort
Balaji Udayagiri
am 5 Jul. 2022
Hi Teodoro,
As per my understanding, you want to know how to perform autocorrelation for non-linear functions.
Here is an example code using a sine function to do the same:
fs = 1.0e4;
t = 0:1/fs:0.005;
signal = sin(2*pi*1000*t)';
figure(1);
stem(t,signal);
[c,lags] = xcorr(signal);
figure(2);
stem(lags,c)
You can replace the sin function of any linear or non-linear function of your choice.
0 Kommentare
Weitere Antworten (1)
Jonas
am 30 Jun. 2022
Bearbeitet: Jonas
am 30 Jun. 2022
you can simply generate your own vectors in matlab and do some studying
e.g.
rectPulse = [zeros(1,10) ones(1,15) zeros(1,10)];
tiledlayout('flow');
nexttile()
stem(rectPulse);
nexttile()
[val,lag]=xcorr(rectPulse);
stem(lag,val);
linkaxes()
figure
triPulse=zeros(1,100);
triPulse(31:70)=(1:40)/10;
tiledlayout('flow');
nexttile()
plot(triPulse);
nexttile()
[val,lag]=xcorr(triPulse);
plot(lag,val);
nexttile()
val=conv(triPulse,triPulse);
plot(val);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Multirate Signal Processing finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

