four1.m

来自「这是一个用于语音信号处理的工具箱」· M 代码 · 共 50 行

M
50
字号
% four1.m

function [data]=four1(data,nn,isign)
	
	n=nn*2;
	j=1;
	for i=1:2:n-1, 
		if (j > i)
			temp=data(j);
			data(j)=data(i);
			data(i)=temp;
			temp=data(j+1);
			data(j+1)=data(i+1);
			data(i+1)=temp;
		end
		m=n/2;
		while (m >= 2 & j > m)
			j = j - m;
			m = m/2;
		end
		j = j + m;
	end
	mmax=2;
	while (n > mmax) 
		istep=2*mmax;
		theta=6.28318530717959/(isign*mmax);
		wtemp=sin(0.5*theta);
		wpr = -2.0*wtemp*wtemp;
		wpi=sin(theta);
		wr=1.0;
		wi=0.0;
		for m=1:2:mmax-1, 
			for i=m:istep:n, 
				j=i+mmax;
				tempr=wr*data(j)-wi*data(j+1);
				tempi=wr*data(j+1)+wi*data(j);
				data(j)=data(i)-tempr;
				data(j+1)=data(i+1)-tempi;
				data(i) = data(i)+tempr;
				data(i+1) = data(i+1)+tempi;
			end
			wtemp=wr;
			wr=wtemp*wpr-wi*wpi+wr;
			wi=wi*wpr+wtemp*wpi+wi;
		end
		mmax=istep;
	end


⌨️ 快捷键说明

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