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

📄 spectrogram.m

📁 用于进行小波时频分析的matlab源码,可进行测井小波时频划分!
💻 M
字号:
 function specgm = Spectrogram(sig,w,m,titl)
% Spectrogram -- Time-Varying Spectrum
%  Usage
%   
%  Inputs
%    sig      1-d signal
%    w        window half-length, default = n/2
%    m        inter-window spacing, default=1
%    titl     Optional Title String Modifier
%  Outputs
%    specgm   spectrogram
%
%  Side Effects
%    Image Plot of the spectrogram
%
%  See Also
%    WVDist, WVDist_AF, ImagePhasePlane
%
%
	x=sig(:);
	n = length(x);
	f = [zeros(n,1); sig; zeros(n,1)];
%
	if nargin < 2,
		w = n/2;
	end
	if nargin < 3,
		m=1;
	end
	if nargin < 4,
		titl = [];
	end
%
	nw     = floor(n ./ m);
	specgm = zeros(w+1,nw);
	ix     = ((-w+1):w);
%
	for l=1:nw,
		t = 1+ (l-1)*m;
		if m==1 & rem(t,16)==1,
			fprintf('Spectrogram: t=%i\n',t);
 		end

		tim = n + t + ix;
		seg = f(tim);
		localspec = abs(fft(seg));
		specgm(:,l)  = localspec(1:(w+1));
	end

%
% Make Spectrogram Display

	spmax = max(max(specgm));
	spmin = min(min(specgm));
	colormap(1-gray(256))
	image(linspace(0,1,n),linspace(0,1,w+1),256*(specgm-spmin)/(spmax-spmin));
	axis('xy')
	xlabel('Time')
	ylabel('Frequency')
%
	title(titl);
%
	if nargout==0,
		specgm = [];
	end

%
% Copyright (c) 1995, David Donoho
%
    
    
%   
% Part of WaveLab Version 802
% Built Sunday, October 3, 1999 8:52:27 AM
% This is Copyrighted Material
% For Copying permissions see COPYING.m
% Comments? e-mail wavelab@stat.stanford.edu
%   
    

⌨️ 快捷键说明

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