No, it is like this for all cases. I've attached a spreadsheet showing the 
native output order for a 16 antenna X engine during a single window. Readouts 
happen from right to left, line by line. The green cells are the only ones that 
the green xeng block actually outputs because there is a descramble block 
inside there that removes the duplicated "red" baselines. A conj_fix block 
corrects the conjugation problems in the bottom triangle (though, apparently 
not perfectly!).

I think I've come up with a simple fix to this problem. It will amount to 
moving the conj fix block in front of the descramble block. Unfortunately this 
will mean an extra 3 NOT gates and a mux block for the demux-8 case. But it 
will have a smaller counter. The alternative would require a number of 
registers and a much more complicated conj_fix block. So I think this is the 
simplest fix. I will try'n implement it today and check it into GIT this 
evening.

 

Attachment: corr_output_format.ods
Description: application/vnd.oasis.opendocument.spreadsheet

Jason

On 20 Oct 2010, at 18:50, Jack Hickish wrote:

> Hi Jason,
> 
> Thanks for looking into this.
> 
> Do you know what it is about the case of 8 ants and demux = 8 that brings 
> about this anomaly? By which I mean, are there other combinations which you 
> would also expect to behave this way?
> 
> Cheers,
> 
> Jack
> 
> On 20 October 2010 09:25, Jason Manley <[email protected]> wrote:
> It looks like things are working as they should, but that's not to say that 
> they're working the way we expect.
> 
> In your case of 8 antennas with demux of 8, output group number 31 is 
> actually baseline 5_0 (which is what the x engines produce natively). But 
> this is not what is normally expected so I conjugate the output and relabel 
> it (0,5). It seems this scheme is a little too simple though... you get 
> 0x5x,0y5y,0y5x,0x5y instead of what we expect (0x5x,0y5y,0x5y,0y5x). This is 
> true for the entire last output triangle (baselines 0_5,0_6,0_7,1_6,1_7,2_7 
> for the 8antenna case).
> 
> For each one, you first get the real component and then the imaginary 
> component. So that non-zero value corresponds to 0y5x real, which is as 
> expected for your input.
> 
> Maybe I should build-in a little reorder block or change the descramble to 
> read out in the expected order. I'll think about this a little more. Thanks 
> for bringing it to my attention.
> 
> Jason
> 
> On 19 Oct 2010, at 22:37, Jack Hickish wrote:
> 
> > Hi All,
> >
> > After some bizarre cross-pol results in a recent observing run, I started 
> > taking a semi-careful look at the order the X-engine outputs data. As far 
> > as I can tell, the output order of the x-engine doesn't quite match the 
> > order expected by the casper recieving code...
> >
> > -- The order according to software (corr 0.5, though 0.4.2 gives the same 
> > result).
> > Running corr.sim.get_bl_order(8) returns:
> > In [7]: corr.sim.get_bl_order(8)
> > Out[7]:
> > ((0, 0),
> >  (0, 1),
> >  (1, 1),
> >  (0, 2),
> >  (1, 2),
> >  (2, 2),
> >  (0, 3),
> >  (1, 3),
> >  (2, 3),
> >  (3, 3),
> >  (0, 4),
> >  (1, 4),
> >  (2, 4),
> >  (3, 4),
> >  (4, 4),
> >  (1, 5),
> >  (2, 5),
> >  (3, 5),
> >  (4, 5),
> >  (5, 5),
> >  (2, 6),
> >  (3, 6),
> >  (4, 6),
> >  (5, 6),
> >  (6, 6),
> >  (3, 7),
> >  (4, 7),
> >  (5, 7),
> >  (6, 7),
> >  (7, 7),
> >  (0, 5),
> >  (0, 6),
> >  (0, 7),
> >  (1, 6),
> >  (1, 7),
> >  (2, 7))
> >
> > Judging by the behaviour of casper receive code and bit of documentation 
> > floating around, I also expect the output of each baseline to contain 
> > (consecutively) values for the XX, YY, XY and YX polarisations, in that 
> > order.
> >
> > -- The order according to simulink
> > I knocked up a simple model (using a new clone of mlib_devel i grabbed 
> > about an hour ago), that feeds an X-Engine block with the following signals:
> > 0x = 1x = 2x = 3x = 4x = 5x = 6x = 7x = 2
> > 0y = 1
> > All other y-pols = 0
> >
> > I attach a plot of the output of the x-engine (rescaled to remove the 
> > accumulation in the xeng block)
> >
> > Essentially, all is well apart from the (0,5),(0,6),(0,7) outputs, which, 
> > if you believe the software order, show signals in 0x5y, 0x6y, and 0x7y, 
> > rather than 0y5x, 0y6x and 0y7x.
> >
> > So my question is, am I using the x-engine block incorrectly, or is this a 
> > real bug? I'm sure it's easy to fix (I haven't yet checked, but at a guess 
> > I'd say the baselines from 0,5 - 2,7 (so called 'order2' in the 
> > get_bl_order script) are backwards), but I thought before I go changing 
> > bits of code I'd check that I wasn't about to mess with something that 
> > isn't broken.
> >
> > Thanks,
> >
> > Jack
> >
> >
> >
> >
> > <Screenshot-1.png>
> 
> 

Reply via email to