www.pudn.com > tfarma10.rar > param_tconv.m, change:2004-01-20,size:1951b


function Bml= param_tconv(Bml1, Bml2, N, beta)
% function Bml= param_tconv(Bml1, Bml2, N, beta)
%   This file is part of the TFPM toolbox v1.0 (c)
%   michael.jachan@tuwien.ac.at and underlies the GPL.
% 
% Computes the twisted convolution Bml= Bml2#Bml1 of TFMA
% parameters. The systems Bml1, Bml2 are causal! No factor N!
% Noncommutative! 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if(0)% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;tfpm;
MAR  =   1;
LAR  =   1;
MMA  =   1;
LMA  =   1;
N    = 128;
re_im= 'i';
mo_no= 'n';
tfpm_file_gen;
%-------------
beta= -1/2;
Bml1= Aml;
Bml2= Bml;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end;% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Dimensions:
[M1, L1]= param_dim(Bml1);
[M2, L2]= param_dim(Bml2);

M= M1+M2;
L= L1+L2;

% Compute Bml and B1
Bml= [];
for m= 0:M
   b= [];
   for l= -L:L
      bml= 0;
      for mp= 0:M2
         for lp= -L2:L2
            bml= bml + param_get(Bml2, mp  , lp  ) * ...
                       param_get(Bml1, m-mp, l-lp) * ...
                       exp(-j*2*pi/N*tfpm_phi(m, l, mp, lp, beta));
	 end;
      end;
      b= [b; bml];
   end;
   Bml= [Bml b];
end;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if(0)% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% TEST:
e= randn(N, 1);
u = tfarma_gen(e, 1, Bml1, beta);
y = tfarma_gen(u, 1, Bml2, beta);
y0= tfarma_gen(e, 1, Bml , beta);
norm(y-y0)/norm(y)
figure(1);clf;hold on
plot(real(y), 'r')
plot(real(y0), 'g')
plot(real(y0-y), 'b')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end;% TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%