📄 fft_zhixindu_subfunc.asv
字号:
%利用置信度求基频的子函数
function f0=fft_zhixindu_subfunc(xxx,N,p_size,Fs)
xx=xxx;
%xx=xx.*hamming(8*Winsiz);
y=fft(xx,N);
% y=y(1:4*Winsiz/2);
y=y(1:N/2);
y=y.*conj(y);
for i=1:length(y)
if y(i)==max(y(5:N/2)) %选从开始选取是为了避免最开始的几条大幅度谱线的干扰
max_data=i;
break;
end
end
%
for j=1:5
f(j)=floor(max_data/j);
end
for i=1:5 %求置信度
K=f(i);
E(i)=0;
for j=1:5
for n=j*K-3:j*K+3
if n>2048
y(n)=0;
end
end
for n=j*K-3:j*K+3
if y(n)==max(y(j*K-3:j*K+3))
M=n;
end
end
E(i)=E(i)+y(M);
end
end
for i=1:5
if E(i)==max(E)
m=i;
end
end
f0=Fs/N*f(m);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -