Serendip_Analysis - david-macmahon/wiki_convert_test GitHub Wiki

Proposed database schema

    CREATE TABLE hit  #this is ~45 bytes/record right now -> factor of 6 expansion from raw data.. not too bad?
  (
        hitid BIGINT UNSIGNED AUTO_INCREMENT KEY NOT NULL,
        eventpower FLOAT NOT NULL,
        meanpower FLOAT NOT NULL,
        binnum INT UNSIGNED NOT NULL,
        topocentric_freq DOUBLE NOT NULL,
        barycentric_freq DOUBLE,
        q_pix BIGINT SIGNED,
        rfi_checked TINYINT UNSIGNED,
        rfi_found TINYINT UNSIGNED,
        searched TINYINT UNSIGNED,
        reserved INT,
        specid INT UNSIGNED
  ); #Total 55 bytes

  CREATE TABLE config
  (
        specid INT UNSIGNED NOT NULL AUTO_INCREMENT,
        PRIMARY KEY(specID),
        thrscale TINYINT UNSIGNED NOT NULL, #bee2 units
        thrlimit TINYINT UNSIGNED NOT NULL,
        fftshift SMALLINT UNSIGNED NOT NULL,
        pfbshift SMALLINT UNSIGNED NOT NULL,
        beamnum TINYINT UNSIGNED NOT NULL, #moved these four to save space, and ra/dec was redundant w/ qpix
        obstime DOUBLE NOT NULL, #MJD
        ra FLOAT(9,6) NOT NULL, #decimal degrees
        decl FLOAT(9,6) NOT NULL, #decimal degrees
        digital_lo FLOAT UNSIGNED NOT NULL,    #LGS
        board CHAR(2) NOT NULL, #Two letter board designation (e.g. 'B2', 'RO')
        AGC_Az FLOAT(9,6) NOT NULL,
        AGC_Za FLOAT(9,6) NOT NULL,
        AlfaFirstBias INT UNSIGNED NOT NULL,
        AlfaSecondBias INT UNSIGNED NOT NULL,
        AlfaMotorPosition FLOAT(9,6) NOT NULL,
        synI_freqHz DOUBLE NOT NULL,
        IF1_synI_ampDB INT UNSIGNED NOT NULL,
        IF1_rfFreq DOUBLE NOT NULL,
        IF1_if1FrqMhz DOUBLE NOT NULL,
        IF1_alfaFb TINYINT UNSIGNED NOT NULL, #Instead of nbfilter LGS
        TT_TurretEncoder INT NOT NULL,
        TT_TurretDegrees FLOAT(9,6) NOT NULL,
        rawfile CHAR(24)
  ); #117 bytes

   CREATE TABLE spec
   (
        specid INT UNSIGNED NOT NULL,
        coarsespec BLOB #entire coarse spectrum in concatenated 32 bit powers
   ); #Total 16k bytes
~

Beta Version

  CREATE TABLE hit
  (
        hitid BIGINT UNSIGNED AUTO_INCREMENT KEY NOT NULL,
        eventpower FLOAT NOT NULL,
        meanpower FLOAT NOT NULL,
        binnum INT UNSIGNED NOT NULL,
        freq FLOAT NOT NULL,
        barycentric_freq FLOAT,
        beamnum TINYINT UNSIGNED NOT NULL,
        obstime FLOAT NOT NULL #MJD
        ra FLOAT NOT NULL,
        decl FLOAT NOT NULL,
        q_pix BIGINT SIGNED,
        rfi_checked TINYINT UNSIGNED,
        rfi_found TINYINT UNSIGNED,
        searched TINYINT UNSIGNED,
        reserved INT,
        configID TINYINT UNSIGNED,
        specid INT UNSIGNED
  );

  CREATE TABLE config
  (
        configID TINYINT UNSIGNED NOT NULL,
        PRIMARY KEY(configID),
        thrscale TINYINT UNSIGNED NOT NULL, #units?
        thrlimit TINYINT UNSIGNED NOT NULL,
        nbfilter TINYINT UNSIGNED NOT NULL, #narrow band filter in? 0=no; 1=yes
        fftshift SMALLINT UNSIGNED NOT NULL,
        pfbshift SMALLINT UNSIGNED NOT NULL,
        board CHAR(2) NOT NULL #Two letter board designation (e.g. 'B2', 'RO')
  );

  CREATE TABLE spec
  (
        specid INT UNSIGNED NOT NULL,
        coarsespec BLOB,
        scram TEXT, #Or TINYTEXT? - would it be horrible to just pull out the values?  might be cleaner?
        AGC_Az FLOAT NOT NULL,
        AGC_Za FLOAT NOT NULL,
        AlfaFirstBias INT UNSIGNED NOT NULL,
        AlfaSecondBias INT UNSIGNED NOT NULL,
        AlfaMotorPosition FLOAT NOT NULL,
        synI_freqHz DOUBLE NOT NULL,
        IF1_synI_ampDB UNSIGNED INT NOT NULL,
        IF1_rfFreq DOUBLE NOT NULL,
        IF1_if1FrqMhz FLOAT NOT NULL,
        TT_TurretEncoder INT NOT NULL,
        TT_TurretDegrees FLOAT NOT NULL,
        rawfile CHAR(24),
        rfcenter FLOAT
  );

Old Draft Schema

create table hits   (
   id serial8 not null ,
   result_id int8,            -- references result
   peak_power smallfloat not null ,  --event power
   mean_power smallfloat not null ,  -- threshold power
   time float not null ,    --time
   ra smallfloat not null ,  --right ascension
   decl smallfloat not null ,  --declination
   q_pix int8 not null ,  --qpix value
   coarse_bin int16 not null , --coarse bin number
   fine_bin int16 not null , --fine bin number
   beam_num int8 not null ,  --beam number
   scram_id int16 not null,  --pointer to a unique alfa setup
   rfi_checked smallint,   --checked for rfi?
   rfi_found smallint,   --rfi weighting?
   reserved integer

SCRAM Interpretation

An example SCRAM header

SCRAM AGC AGC_SysTime 1236650082 AGC_Az 133.206400 AGC_Za 5.561100 AGC_Time
78882026 AGC_LST 0.000000 AGC_Ra 0.000000 AGC_Dec 0.000000
SCRAM ALFASHM ALFASHM_SysTime 1236650082 ALFASHM_AlfaFirstBias 255
ALFASHM_AlfaSecondBias 63 ALFASHM_AlfaMotorPosition 61.335464
SCRAM IF1 IF1_SysTime 1236650082 IF1_synI_freqHz_0 1625000000.000000
IF1_synI_ampDB_0 1500 IF1_rfFreq 1375000000.000000 IF1_if1FrqMhz 0.000000
IF1_alfaFb 0
SCRAM IF2 IF2_SysTime 1236650082 IF2_useAlfa 1
SCRAM TT TT_SysTime 1236650082 TT_TurretEncoder 12729 TT_TurretDegrees
26.637137

Example Header

<8f>ÿ<80>^X^@^@^@^GHEADER
^@HEADER_SIZE 4096
^@DATA_SIZE 819728
^@NAME NoName
^@DSI 0
^@FRAMESEQ 340138
^@DATASEQ 1036418
^@IDLECOUNT 696280
^@MISSED 0
^@AST 1133516201479
^@SYNTH 6936520000000 0 1420000000
^@ENG
^@RECEIVER alfa
^@SAMPLERATE 2.500000
^@VER  2.00
^@SCRAM AGC AGC_SysTime 1322770814 AGC_Az 180.001200 AGC_Za 14.999900
AGC_Time 58814017 AGC_LST
-
531401037251780825636587599904212012639396619732347172842128890097399499499
5621064806304670425032319
319930465788549226676808739915925371739460987196007348791827079941548676023
7686103337328912488367762
790585538134681320831878096722361084753722896837981861941855723969391872246
0166327387117488103718125
5680.000000 AGC_Ra 2.000000 AGC_Dec 0.000000 ^@SCRAM ALFASHM
ALFASHM_SysTime 1322770814
ALFASHM_AlfaFirstBias 255 ALFASHM_AlfaSecondBias 63
ALFASHM_AlfaMotorPosition 49.999939 ^@SCRAM IF1
IF1_SysTime 1322770814 IF1_synI_freqHz_0 1625000000.000000
IF1_synI_ampDB_0 1500 IF1_rfFreq
1375000000.000000 IF1_if1FrqMhz 0.000000 IF1_alfaFb 0
^@SCRAM IF2 IF2_SysTime 1322770814 IF2_useAlfa 1
^@SCRAM TT TT_SysTime 1322770814 TT_TurretEncoder 12728 TT_TurretDegrees
26.635045
^@CONFIG_BLOCK
^@# SETI@home data recorder configuration file
^@# beam_res is in degrees
^@#limited_run          2000
^@#use_fake_data
^@#very_verbose
^@# uncomment skip_scram and no_synth to force data taking during non-alfa
times
^@#skip_scram
^@no_synth
^@### synth_step_synth was commented out on 7/7/06 by jeffc.  This turns
off frequency
^@### stepping and was done so that we could start distributing WUs before
we make
^@### the client changes needed to handle frequency stepping.
^@#synth_step_synth
^@trigger_file_name   ./dr2_run_trigger
^@num_data_streams      1
^@beam_res            0.05
^@quicklook_interval  4
^@quicklook_freq      1420000000
^@quicklook_bufs      64
^@freq_steps          1420000000 1422500000 1417500000 1425000000
1415000000 1427500000 1412500000
1430000000 1410000000 1432500000 1407500000 1435000000 1405000000
1437500000 1402500000 1440000000
1400000000 1442500000 1397500000 1445000000 1395000000
^@min_synth_freq          50000000
^@max_synth_freq         450000000
^@min_rec_freq          1200000000
^@max_rec_freq          1530000000
^@filtered_min_rec_freq 1380000000
^@filtered_max_rec_freq 1500000000
^@sample_rate               2.5
^@receiver                  alfa
^@num_m_in_d          8
^@#num_m_in_d          128
^@num_diskbufs        4
^@#num_diskbufs        6
^@synth_model         PTS500
^@# min_vgc           525 = 65536/5v * .04v <- the correct value
^@#min_vgc             525
^@turret_degrees_alfa     26.62
^@turret_degrees_tolerance    1
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@END_OF_CO
NFIG_BLOCK
^@END_OF_HEADER
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@<90>^A^@^@^@^@^@Þ^@^@^@^@^@^@^@BEE2 STATUS: Wed Nov 23
18:08:59 AST 2011 PFB
SHIFT: 268435455 FFT SHIFT: 28398 THRESH LIMIT: 25 THRESH SCALE: 80 TENGE
PORT: 33001 TENGE IP:
167772161
⚠️ **GitHub.com Fallback** ⚠️