User Tools

Site Tools


hardware:mark5.datacheck

This wiki is not maintained! Do not use this when setting up AuScope experiments!

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

hardware:mark5.datacheck [2012/02/03 01:13]
Jamie McCallum created
hardware:mark5.datacheck [2012/02/03 02:00] (current)
Jamie McCallum
Line 3: Line 3:
 **Mark5b data format** **Mark5b data format**
  
-The recorded data consists of "frames", each with a length of 10016 bytes. Each frame consists of a 16-byte header, followed by 10000 bytes of data. The header starts with a sync word (represented as abaddeed in hexadecimal),​ followed by a frame counter (represented as bead0000, etc)+The recorded data consists of frames, each with a length of 10016 bytes. Each frame consists of a 16-byte header, followed by 10000 bytes of data. The header starts with a sync word (represented as abaddeed in hexadecimal),​ followed by a frame counter (represented as bead0000, etc). This frame counter should start at bead 0000 the count should increment by one at each header. The counter should loop at a count of 3200 (for a data rate of 256 Mbps - this scales as (Data rate)/256 so 512 Mbps loops at a count of 6400).  
 + 
 +*Checking recorded data* 
 + 
 +Once you have exported a mark5b data file, you can check the data quality on a byte-level use this recipe. 
 + 
 +''​od -Ad -tx4 test_034_011402.mk5b | grep abaddeed | cut -d' ' -f1 > test.byteindex''​ 
 +''​od -Ad -tx4 test_034_011402.mk5b | grep abaddeed | cut -d' ' -f3 > test.counter''​ 
 + 
 +The output files consist of the byteindex file - this is the list of bytes at which the sync word was found. If the data was exported from the start of a scan, the first byte should be 0 and the index should increment by 10016. You can check this in octave with this recipe. 
 + 
 +''​load test.byteindex;​find(diff(test)~=10016)''​ 
 + 
 +It should return ''​ans = [](0x1)''​ if it is incrementing correctly. Please note that abaddeed may occur naturally in the recorded data (although rarely). An inspection of the data around any apparent jump should make this clear.  
 + 
 +You can check that the counter is correctly incrementing using that recipe. 
 + 
 +''​FID=fopen('​test.counter'​);​clear C; A=fread(FID,'​uint8'​);​B=reshape(A,​ 9, length(A)/​9)';​for i=1:​length(A)/​9;​ C(i)=sum(hex2dec(char(B(i,​1:​8))));​end;​fclose(FID);​find(diff(C)~=1 & diff(C)~=-3199)''​ 
 + 
 +This recipe should return ''​ans = [](0x1)''​ if the counter is correctly incrementing. Again, if abaddeed has occurred in the data the counter will apparently jump. 
 + 
/home/www/auscope/opswiki/data/attic/hardware/mark5.datacheck.1328231602.txt.gz · Last modified: 2012/02/03 01:13 by Jamie McCallum