目录
1.算法仿真效果
matlab2022a仿真结果如下:
2.MATLAB源码
function [ pitch_est1,pitch_est2 ] = fbe2pitch(fbe,H,window,fs,nfft,lamda,pr)
rfft=(nfft/2)+1;
win_fft = abs(fft(window,nfft))/nfft;
W=toeplitz(win_fft);
W=W(1:rfft,1:rfft);
A=H*W;
M=A'*A;
opts = optimoptions('quadprog','Display','off');
Ns=240;
M=M(1:Ns,1:Ns);
A = A(:,1:Ns);
lamda = lamda*ones(1,Ns);
% fbe=fbe;
f=lamda-fbe'*A;
tmp=quadprog(M,f,[],[],[],[],zeros(size(M,2),1),[],[],opts);
tmp2=pinv(A)*fbe;
% pr=[90,150];
[~,pitch_est1]=shrp(tmp,fs,pr,40,10);
[~,pitch_est2]=shrp(tmp2,fs,pr,40,10);
end
mama631<