Error in plotting the Histogram of Multi-taper estimate

2 次查看(过去 30 天)
Hello, I am trying to plot the histogram of the power estimate obtained using the Multi-taper method. When 1 taper is used the histogram shows the expected exponential distribution ; on increasing the number of tapers it is expected that the distribution should show Gamma distribution (as seen when shape parameter = 2 and scaling parameter = 2.0 ). However the the plot still shows exponential distribution as seen when single taper is used. Following is the code that I have used.
{
Fs = 2000;
T1 = [];
S1 = [];
for i =1: length(timeVals)
if (-0.3000<= timeVals(i)) && (timeVals(i)<= -0.1000 );
T1 = [T1,timeVals(i)];
S1 = [S1,signal(:,i)];
end
end
Ta =(max(T1)) - (min(T1));
f1 = 0:1/Ta :Fs;
C1=S1';
params.Fs = Fs;
params.tapers = [2 3];
params.trialave = 0;
params.pad = 1;
[S,f1] = mtspectrumc(C1, params);
S1 = 10*log10(S/max(S));
semilogy(f1,S1,'k');
grid on;
% xlim([0 50])
xlabel('Frequency [Hz]')
ylabel('Power [dB]')
title ('multi-taper spectrum')
hold on;
T2 = [];
S2 = [];
for j = 1: length(timeVals)
if (0.2000<= timeVals(j)) && (timeVals(j)<= 0.4000 )
T2 = [T2,timeVals(j)];
S2 = [S2,signal(:,j)];
end
end
Tb =(max(T2)) - (min(T2));
f2 = 0:1/Tb :Fs;
C2 = S2';
params.Fs = Fs;
params.tapers = [2 3];
params.trialave = 0;
params.pad = 1;
[W,f2] = mtspectrumc(C2, params);
W1 = 10*log10(W/max(W));
semilogy(f2,W1,'r');
grid on;
% xlim([0 50])
xlabel('Frequency [Hz]')
ylabel('Power [dB]')
title ('multi-taper spectrum')
% for plotting the histogram
figure (3);
H = hist(W(:),100);
plot(H);
xlim ([0 100]);
}
Thank You

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Histograms 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by