📄 wildual.m
字号:
function [gamma]=wildual(g,M,L)%WILDUAL Canonical dual window.% Usage: gamma=wildual(g,M);% gamma=wildual(g,M,L);%% Input parameters:% g : Gabor window.% M : Number of modulations.% L : Length of window. (optional)% Output parameters:% gamma : Canonical dual window.%% WILDUAL(g,M) returns the dual window of the Wilson or MDCT basis with% window g, parameter M and length equal to the length of the window g.%% WILDUAL(g,M,L) does the same, but now L is used as the length of the% Wilson basis. g will be cut or zero-extended to length L.%% The input window g must be whole-point even.%% SEE ALSO: WILORTH, ISWPEVEN% Author : Peter Soendergaard.if prod(size(M))~=1 error('M must be a scalar');end;wasrow=0;if size(g,2)>1 if size(g,1)>1 error('g must be a vector'); else % g was a row vector. wasrow=1; g=g(:); end;end;%if ~iseven(g)% error('g must be whole point even.See help on pgauss.');%end; if nargin==3 % firextend is now safe. g=firextend(g,L);else L=length(g);end;if rem(L,M)~=0 error('The length of the transform must be dividable by M.');end;if mod(L/M,2)~=0 error('L/M must be even.');end;a=M; gf=comp_wfac(g,a,2*M);gammaf=2*comp_candual_fac(gf,L,a,2*M);gamma=comp_iwfac(gammaf,L,a,2*M);if wasrow gamma=gamma.';end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -