📄 gabmul.m
字号:
function h=gabmul(f,c,p3,p4,p5)%GABMUL Gabor multiplier.% Usage: h=gabmul(f,c,a);% h=gabmul(f,c,g,a);% h=gabmul(f,c,ga,gs,a);%% Input parameters:% f : Input signal% c : symbol of Gabor multiplier% g : analysis/synthesis window% ga : analysis window% gs : synthesis window% a : Length of time shift.% Output parameters:% h : Output signal%% GABMUL(f,c,g,a) will filter f by a Gabor multiplier determined by% the symbol c over the rectangular time-frequency lattice determined by % a and M, where M is deduced from the size of c.% The window g will be used for both analysis and synthesis.%% GABMUL(f,c,a) will do the same using an optimally concentrated, tight% Gaussian as window function.%% GABMUL(f,c,gs,ga,a) will do the same using the window ga for% analysis and gs for synthesis.%% SEE ALSO: DGT, IDGT, CANDUAL, CANTIGHT, GMEIGS, CANTIGHT%% EXAMPLES: EXAMP_GABMULerror(nargchk(3,5,nargin));M=size(c,1);N=size(c,2);if nargin==3 a=p3; L=a*N; ga=cantight(a,M,L); gs=ga;end;if nargin==4; ga=p3; gs=p3; a=p4; L=a*N;end;if nargin==5; ga=p3; gs=p4; a=p5; L=a*N;end;[nga mga] = size(ga);if nga ~= 1 && mga~= 1 error('Window ga should be a vector')end nga = length(ga);[ngs mgs] = size(gs);if ngs ~= 1 && mgs~= 1 error('Window gs should be a vector')end ngs = length(ga);[nf mf] = size(f);if nf ~= 1 && mf~= 1 error('Signal f should be a vector')end assert_squarelat(a,M,'GABMUL',0);[coef,Ls]=dgt(f,ga,a,M);h=idgt(coef.*c,gs,a,Ls);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -