Fourier transform in MATLAB misunderstood peaks

65 Views Asked by At

I have a function:

t1 = 0:1/50:4-1/50;
x1 = cos(pi*t1);

t2 = 4:1/50:8-1/50;
x2 = cos(3*pi*t2);

t3 = 8:1/50:12-1/50;
x3 = cos(2*pi*t3);

Which is written in MATLAB. I create a signal which appends of x1, x2 and x3 - signals appears consequently one after another and each of them lasts for 4 seconds.

When I perform Fourier transform i receive magnitude-frequency plot with characteristic peaks at: 1Hz, 2Hz, 3Hz and also 47Hz, 48Hz, 49Hz. As in the picture:

Signal 1

Can you please explain me the origin of 47, 48 and 49 Hz?

1

There are 1 best solutions below

0
On BEST ANSWER

Okay I solved this problem. It's simply because of Nyquist theorem. Sampling rate of given signal is 50Hz, so the max. frequency that can be represented on a graph is 25Hz. Those peaks at 47,48,49 Hz are a concequence of imaginary part of coeficients that are calculated by Fourier transform.

I hope this will help someone in the future.