MATLAB: No obvious maximum in power spectral density graph

filterfrequencysignal processing

I am extremely new to signal processing.
I have sampled the wind velocity downstream of a fan at 100 HZ and here is the time history:
I would like to plot the power density. Using pwelch I get the following plot which doesn't seem meaningful to me. I simply use pwelch(V,[],[],[],100). Based on Matlab documentations, I should get a curve with a peak! Can someone help me figuring out what the problem is? Or if this odd-shaped pwelch plot is actually meaningful and I can get it?

Best Answer

You are seeing a peak, just not the one you’re anticipating. The reason is that you have a significant d-c (constant) offset in your signal.
To Illustrate
t = linspace(0, 1);
V1 = sin(2*pi*t) + randn(size(t));
V2 = sin(2*pi*t) + randn(size(t)) + 10;
figure
pwelch(V1,[],[],[],100)
figure
pwelch(V2,[],[],[],100)
See if subtracting the mean of your signal produces the result you want:
pwelch(V-mean(V),[],[],[],100)
I¹m thinking it will.