Be careful when outputting very wide values to the Matlab workspace.  I think 
Matlab stores values as doubles (i.e. IEEE 64-bit floating point) which only 
have 52+1 bits of mantissa.  Values wider than 53 bits may not be bit accurate 
when converted to double format.  It should be OK for the 36 bit values you are 
using.

The "To Workspace" block might be able to save in bit accurate fixed point 
format if you have the fixed point toolbox installed, but I think it's 
preferable to avoid that as much as possible (ideally entirely) so that CASPER 
collaborators are not required to purchase another toolbox.

Dave

On Oct 3, 2013, at 2:30 PM, Ross Williamson wrote:

> I could do that but it's messy and it should not be difficult to do in
> Matlab - I have screwed up though....
> 
> fi(fft_out0,0,36,0) is not a fractional number at all - Matlab puts it
> in exponential form which is described at the top of the list about
> 100 page-scrolls back......
> 
> This might make the rest of what I'm doing make more sense..
> 
> Matlab always put's me in a good mood.....
> 
> Ross
> 
> On Thu, Oct 3, 2013 at 1:48 PM, G Jones <[email protected]> wrote:
>> I always just break out the real and imag parts before going to matlab
>> workspace
>> 
>> On Oct 3, 2013 4:23 PM, "Ross Williamson" <[email protected]>
>> wrote:
>>> 
>>> Hi,
>>> 
>>> I'm trying to implement a test suite for a correlator and I'm having
>>> serious problems with my understanding of fi.  The output of the fft
>>> stage is UFIX 36_0.  I capture that in a matlab variable (say
>>> fft_out0).  All I want to do is split that up into Re and Im parts at
>>> FIX 18_17. I'm finding this rather difficult to do in matlab
>>> (especially because simple bit operations such as & >> and
>>> representing numbers via 0x notation do not work).
>>> 
>>> If for example I try and convert the output from matlab
>>> 
>>> fi(fft_out0,0,36,0) I still get a fractional number which baffles me.
>>> 
>>> Is there a way to take this UFIX36_0, split into two FIX 18_17 and
>>> turn it into a complex number?
>>> 
>>> Ross
>>> 
>>> p.s. I'm using the unbus blocks to create the simulink output. I don't
>>> want to manually add gateways from every re_im block unless I really
>>> have to.
>>> 
>>> (p.p.s I'm coming from scipy where this would be trivial hence the
>>> want to throw the toys out of the pram)
>>> 
>>> --
>>> Ross Williamson
>>> Research Scientist - Sub-mm Group
>>> California Institute of Technology
>>> 626-395-2647 (office)
>>> 312-504-3051 (Cell)
>>> 
>> 
> 
> 
> 
> -- 
> Ross Williamson
> Research Scientist - Sub-mm Group
> California Institute of Technology
> 626-395-2647 (office)
> 312-504-3051 (Cell)
> 


Reply via email to