c_synfb.m

来自「Sparse Signal Representation using Over」· M 代码 · 共 61 行

M
61
字号
function X = C_synfb(Y, a0, a1)
% C_synfb   Tree structured synthesis filter bank using IIR filter. 
%
% X = C_synfb(Y);
% X = C_synfb(Y, a0, a1);
% ---------------------------------------------------------------------------% arguments:
%  Y        the subband signals to be filtered, a real matrix
%           this is a matrix of real numbers of size size LxN
%           N is the number of subbands, we should have N=2^k, k=1,2,..8, 
%  a0,a1    two optional parameters, give both or none.
%           These are the values of a0 and a1 used in the IIR filterbank.
% ---------------------------------------------------------------------------
%----------------------------------------------------------------------
% Copyright (c) 1998.  Karl Skretting.  All rights reserved.
% Hogskolen in Stavanger (Stavanger University), Signal Processing Group
% Mail:  karl.skretting@tn.his.no   Homepage:  http://www.ux.his.no/~karlsk/
% 
% HISTORY:
% Ver. 1.0  27.03.1998  Karl Skretting, used in Master thesis 1998, HIS: 
%                       "Kompresjon av seismiske data"
% Ver. 1.1  20.07.2000  KS: added optional arguments a0, a1
% Ver. 1.2  02.12.2002  KS: moved from ..\Frames to ..\FrameTools
%----------------------------------------------------------------------

Mfile='C_synfb';

% check input and output arguments, and assign values to arguments
if (nargin < 1); 
   error([Mfile,': function must have one input argument, see help.']); 
end
if (nargin < 3)
   % the default values
   a0=0.1576056086;
   a1=0.6148404766;
end

[L,N]=size(Y);
if (isempty(find([2,4,8,16,32,64,128,256]==N)))
   error([Mfile,': illegal number of columns in Y, see help.']); 
end

K=log2(N);

X=Y;
for k=1:K
   % switch columns to sort by frequency
   Bytt=0;
   for i=1:2:size(X,2)
      if (Bytt)
         x=X(:,i);
         X(:,i)=X(:,i+1);
         X(:,i+1)=x;
      end
      Bytt = ~Bytt;
   end
   X=C_syn(X,a0,a1);
end

return

⌨️ 快捷键说明

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