view dsp/formants.m @ 32:c3b0cd708782

Imported core dsp tools.
author samer
date Sun, 20 Jan 2013 13:48:47 +0000
parents
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?