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

📄 correlogramframe.m

📁 语音信号分析软件
💻 M
字号:
% pic = CorrelogramFrame(data, picWidth, start, winLen)% Compute one frame of a correlogram.  The input data is a% two-dimensional array of cochlear data, each row representing% firing probabilities from one cochlear channel.  The output% picture is a two dimensional array of width "picWidth".%% The correlogram is computed with autocorrelation using % data from the input array.  For each channel, the data from% is extracted starting at column "start" and extending for % "winLength" time steps.  % (c) 1998 Interval Research Corporationfunction pic = CorrelogramFrame(data, picWidth, start, winLen)if nargin < 2	disp('Syntax: pic=CorrelogramFrame(data, picWidth[, start, len])');	returnendif nargin < 3	start = 1;endif nargin < 4	[channels, winLen] = size(data);end	[channels, dataLen] = size(data);start = max(1, start);last = min(dataLen, start+winLen-1);pic = zeros(channels, picWidth);fftSize = 2^(nextpow2(max(picWidth, winLen))+1);% disp(['CorrelogramFrame fftSize is ' int2str(fftSize)]);a = .54;b = -.46;wr = sqrt(64/256);phi = pi/winLen;ws = 2*wr/sqrt(4*a*a+2*b*b)*(a + b*cos(2*pi*(0:winLen-1)/winLen + phi));for i=1:channels	f = zeros(1, fftSize);%	d = zeros(1, winLen);%	d(1:(last-start+1)) = data(i,start:last) .* ws(1:(last-start+1));%	f(1:(winLen/2)) = d(winLen/2+1:winLen);%	f(fftSize-(winLen/2)+1:fftSize) = d(1:min(length(d),winLen/2));	f(1:(last-start+1)) = data(i,start:last) .* ws(1:(last-start+1));	f = fft(f);	f = ifft(f.*conj(f));	pic(i,:) = real(f(1:picWidth));	if pic(i,1) > pic(i,2) & pic(i,1) > pic(i,3)		pic(i,:) = pic(i,:)/sqrt(pic(i,1));	else		pic(i,:) = zeros(1,picWidth);	endend

⌨️ 快捷键说明

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