Hej!
I found strange print result from it_file class plus
load_it which I thought something was wrong in
the model. Actually, it_file+load_it changes the
dimension (looks like transposing) and
does "interleaving" when it prints a matrix.
A 4x600 matrix is changed to 600x4. The resulting
first column of length 600 is the first 150 columns
of the original matrix.
Please see below for the example.
it_file ff;
ff.open("channel_coeff.it");
Array<Mat<complex<T> > > rake_weights;
Array<Mat<int> > rake_delays;
(*_rake_design).magic(cfn,0,channel_coeff, delays,
rake_weights, rake_delays);
Vec<complex<T> > test; test=rake_weights
(0).get_row(0);
ff<<Name("rake_weights_row0") <<test;
ff<<Name("rake_weights0") <<rake_weights(0);
ff<<Name("rows_of_rake_weights")
<<rake_weights(0).rows();
ff<<Name("clos_of_rake_weights") <<rake_weights
(0).cols();
ff.close();
In MATLAB you will find that:
>> clear
>> load_it channel_coeff.it
>> whos
Name Size Bytes Class
clos_of_rake_weights 1x1 8 double
array
rake_weights0 600x4 38400 double
array (complex)
rake_weights_row0 1x600 9600
double array (complex)
rows_of_rake_weights 1x1 8 double
array
Grand total is 3002 elements using 48016 bytes
>> rows_of_rake_weights
rows_of_rake_weights =
4
>> clos_of_rake_weights
clos_of_rake_weights =
600
rake_weights_row0 is identical with
[(rake_weights0(1:4:end,1)) (rake_weights0
(1:4:end,2)) (rake_weights0(1:4:end,3))
(rake_weights0(1:4:end,4))]
I'm not sure if we need to ask for a change of the
it_file class. Maybe the problem can be in the
MATLAB load_it function, if one wants call it a
problem.
BR, Ning
Tony Ottosson Gadd
2002-10-17
Logged In: YES
user_id=326034
This turned out to be a case of conflicting versions of
it_file and load_it.m. It is important to always use the
newest load_it otherwise strange things may happen.
/Tony