view dsp/formants.m @ 42:ae596261e75f

Various fixes and development to audio handling
author samer
date Tue, 02 Dec 2014 14:51:13 +0000
parents c3b0cd708782
children
line wrap: on
line source
% formants - Compute formants from LPC coefficients
function F=formants(a,M,fs)

const=fs/(2*pi);
if all(isfinite(a))
	rts=roots(a);

	fx = const*angle(rts);
	bw = -2*const*log(abs(rts));

	F = log(sort(fx(fx>90 & fx<4000 & bw<700)));
	N = length(F);
	if N<M, F=[F;nan(M-N,1)];
	else F=F(1:M); end
else
	F=nan(M,1);
end
% only first 3?