
Differentiating a signal using diff in MATLAB
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello, I have differentiated an array of signal using diff command of MATLAB but have a confusion in the result. My input signal is a sinusoidal signal and the differentiated signal is also expected to be sinusoidal. I am getting a sinusoidal signal after differentiating the original. However, the signal is not centered at the origin but is shifted in one side. That is, lets say instead of having amplitudes of 5 and -5, it is like 5.5 and -4.5.
Can you give me some reason why it may be happening? I have attached the file containing the data and also an image of what is happening.
<<

>> The image is after differentiating the signal. The code is: current = diff(x(:,1))/(1/1e5);
0 Kommentare
Antworten (1)
Jan
am 4 Aug. 2017
Bearbeitet: Jan
am 4 Aug. 2017
The result is exact and correct. You can trust the diff command. Obviously the signal has a sepcific drift, such that the derivative is has not an average of 0:
plot(x(:,1))

Why do you expect that diff replies a signal with average of 0. Obviously only this expectation is the problem.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Time-Frequency Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!