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

📄 makemestestsig.m

📁 老外写的小波变换的工具箱
💻 M
字号:
function [sig,ord,aux] = MakeMESTestSig(Name,n)
% MakeMESTestSig -- Make MES Test Signal
%  Usage
%    [sig,ord,aux] = MakeMESTestSig(Name,n)
%

if strcmp(Name,'Bumps'),
	%
	%	Make Bumps Object
	%
		n   = 2048;
		ord = (0:(n-1))./n; 
		pos = [ .2 .23 .25 .33 .35 .50 .54 .65  .66 .68 .71];
		hgt = [ 4  5   3   4  5  4.2 2.1 4.3  3.1 5.1 4.2];
		wth = [.005 .005 .006 .01 .01 .03 .01 .01  .005 .008 .005];
		Bumps = 0.*ord;
		for j =1:length(pos)
		  Bumps = Bumps + hgt(j)./( 1 + abs((ord - pos(j))./wth(j))).^4;
		end
	sig = Bumps;
	aux = pos;

elseif strcmp(Name,'Ramp'),
	%
	% Make Ramp Signal
	%
		Ramp = zeros(1,n);
		t = .37; id = floor(t .* n); t = id /n;
		front = 1:id; back = (id+2):n; 
		eta = (t*n)-id;
		Ramp(front) = (front - .5)./(id);
		Ramp(back) = (back - (t .* n) - .5)./(n-id);
		Ramp(id+1) = (eta)*(1 + eta/(2*id)) + (1-eta)*((1-eta)/(2*(n-id)));
	sig = Ramp;
	ord = (1:n) ./ n;;
	aux = id;
elseif strcmp(Name,'Cusp'),

		Cusp = zeros(1,n);
		t = .37; id = floor(t .* n); t = id /n;
		front = 1:id; back = (id+2):n; 
		eta = (t*n)-id;	
		Cusp(front) = n .*(exp(-abs((1:id)./n  - t))-exp(-abs((0:(id-1))./n - t)));
		Cusp(back) = n .*(exp(-abs(((id+1):(n-1))./n - t))-exp(-abs(((id+2):n)./n-t)));
		Cusp(id+1) = n * ((1 - exp(-abs(id/n - t))) + (1 - exp(-abs((id+1)/n - t))));
	sig = Cusp;
	ord = t;
	aux = id;
elseif strcmp(Name,'Noise'),
		Noise = filter([1 1 1 1 1 1 1 1 1 1 1],1,WhiteNoise(zeros(1,n)));
		t = .37; id = floor(t .* n); t = id /n;
		front = 1:id; back = (id+2):n; 
		eta = (t*n)-id;	
		Cusp(front) = n .*(exp(-abs((1:id)./n  - t))-exp(-abs((0:(id-1))./n - t)));
		Cusp(back) = n .*(exp(-abs(((id+1):(n-1))./n - t))-exp(-abs(((id+2):n)./n-t)));
		Cusp(id+1) = n * ((1 - exp(-abs(id/n - t))) + (1 - exp(-abs((id+1)/n - t))));
		Noise = Noise(1:n) ./ 5 + Cusp;
	sig = Noise;
elseif strcmp(Name,'HeaviSine'),
		x = (0:(n-1)) ./ n;
		HeaviSine = - n.*(cos(4*pi .*(x+ 1/n)) - cos(4*pi .*x)) ./ pi;
		Jump = zeros(1,n);
		t = .37; id = floor(t .* n); t = id /n;
		front = 1:id; back = (id+2):n; 
		Jump(front) = - ones(1,length(front));
		Jump(back) = ones(1,length(back));
		Jump(id+1) = ((id+1) - n * t) - (n*t - id) ;
		HeaviSine = HeaviSine - Jump ;
	sig = HeaviSine;
else
	fprintf('Error in MakeMESTestSig: Unrecognised Name %s \n',Name)
end 

    
    
  %%  Part of Wavelab Version 850%  Built Tue Jan  3 13:20:41 EST 2006%  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 + -