📄 projdual.m
字号:
function gd=projdual(gm,g,a,M,L);%PROJDUAL Dual window by projection.% Usage: gd=projdual(gm,g,a,M)% gd=projdual(gm,g,a,M,L)%% Input parameters:% gm : Window to project.% g : Window function.% a : Length of time shift.% M : Number of modulations.% L : Total length of vectors (optional).% Output parameters:% gd : Dual window.%% PROJDUAL(gm,g,a,M) calculates the dual window of the Gabor frame given% by g, a and M closest to gm measured in the l^2 norm.%% PROJDUAL(gm,g,a,M,L) first symmetrically extends% the windows g and gm to length L.%% SEE ALSO: CANDUAL, CANTIGHT, GFDUALNORM, MIDDLEPAD% Author : Peter Soendergaard if nargin<3 error('To few input parameters.');end;if nargin>5 error('To many input parameters.');end;assert_squarelat(a,M,1,'PROJDUAL',1);if size(g,2)>1 if size(g,1)>1 error('g must be a vector'); else % g was a row vector. g=g(:); end;end;wasrow=0;if size(gm,2)>1 if size(gm,1)>1 error('gm must be a vector'); else % gm was a row vector. wasrow=1; gm=gm(:); end;end;if nargin<5 [b,N,L]=assert_L(-Ls,Lwindow,a,M,'PROJDUAL');else [b,N,L]=assert_L(L,Lwindow,a,M,'PROJDUAL'); g1=firextend(g1,L); g2=firextend(g2,L);end;% Calculate the canonical dual.gamma0=candual(g,a,M); % Get the residualgres=gm-gamma0;% Calculate parts that lives in span of adjoint lattice.gk=idgt(dgt(gres,gamma0,M,a),g,M)*M/a;% Construct dual windowgd=gamma0+(gres-gk);if wasrow gd=gd.';end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -