⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toepeqn.m

📁 这是一个用于语音信号处理的工具箱
💻 M
字号:
function [a,iflag] = toepeqn(r,ip,iq,epsilon)
      
iflag=0;
aa(1,1)=-r(iq+2)/r(iq+1);
if ip == 1
	for i=1:ip
		a(i)=aa(i,ip);
	end
	return
end

bb(1,1)=-r(iq)/r(iq+1);
rho=(1.-aa(1,1)*bb(1,1))*r(iq+1);
if abs(rho)<= epsilon
      iflag=-1;
      return
end

for k=2:ip
	c=-r(iq+1+k);
	for l=1:k-1
		lag=iq+k-l;
		if lag >= 0 
			corr=r(lag+1);
		end
		if lag < 0 
			corr=conj(r(-lag+1));
		end
		c=c-aa(l,k-1)*corr;
	end
	aa(k,k)=c/rho;
	for i=1:k-1
		aa(i,k)=aa(i,k-1)+aa(k,k)*bb(k-i,k-1);
	end
	if k == ip
		break;
	end
	lag=iq-k;
	if lag >= 0 
		d=-r(lag+1);
	else
		d=-conj(r(-lag+1));
	end
	for l=1:k-1
		lag=iq-k+l;
		if lag >= 0
			corr=r(lag+1);
		end
		if lag < 0
			corr=conj(r(-lag+1));
		end
		d=d-bb(l,k-1)*corr;
	end
	bb(k,k)=d/rho;
	for i=1:k-1
		bb(i,k)=bb(i,k-1)+bb(k,k)*aa(k-i,k-1);
	end
	rho=(1.-aa(k,k)*bb(k,k))*rho;
	if abs(rho) <= epsilon
		iflag=-1;
		return
	end
end
for i=1:ip
	a(i)=aa(i,ip);
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -