Changes between Version 1 and Version 2 of FormatFichier


Ignore:
Timestamp:
04/16/15 16:28:18 (6 years ago)
Author:
f4gkr
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FormatFichier

    v1 v2  
    11== Format des fichiers enregistrés dans gkSDR == 
     2 
     3Les fichiers de données IQ de gkSDR sont enregistrés dans un format propriétaire pour permettre de tenir compte des spécificités du logiciel. 
     4Le format de gkSDR contient, en plus des données IQ, les méta-données suivantes: 
     5* La fréquence centrale du récepteur, 
     6* La fréquence d'échantillonnage actuelle, 
     7* Le réglage du gain, 
     8* La position actuelle du récepteur (latitude, longitude), 
     9* L'orientation de l'antenne de réception. 
     10 
     11Comme ces informations changent au cours du temps, les méta-données sont répétées régulièrement. On retrouve donc : 
     12* Un bloc "entête" avec les méta-données, 
     13* Une indication du nombre de données IQ qui suivent, 
     14* Les données IQ brutes, enregistrées sous forme d'entiers signés sur 16 bits, 
     15* Un bloc "entête"... etc. 
     16 
     17Dans le logiciel, la zone entête est définie par une structure comme suit (ces structures sont définies dans le fichier sdr_types.h) : 
     18 
     19{{{ 
     20struct rf_file_block { 
     21    /* frequency set at the SDR, center of receiving window */ 
     22    qint64 hw_center ; 
     23    float rx_offset ; 
     24    /* effective sampling rate at the SDR receiver */ 
     25    float rx_samplerate ; 
     26 
     27 
     28    float rx_gain ; 
     29 
     30    /* receiver position */ 
     31    float longitude ; 
     32    float latitude ; 
     33    float antenna_bearing ; 
     34 
     35    /* */ 
     36    qint32 sample_count ; 
     37}; 
     38 
     39}}} 
     40 
     41Les données IQ sont ensuite représentées par la structure suivante: 
     42 
     43{{{ 
     44struct rf_file_iq { 
     45    unsigned char i[2]; 
     46    unsigned char q[2]; 
     47}; 
     48 
     49}}} 
     50 
     51 
     52L'enregistrement et la relecture des données sont prises en charge par les classes: 
     53 
     54{{{ 
     55class SDRFileWriter : public QThread 
     56{ 
     57} 
     58 
     59class SDRFileReader : public QThread 
     60{ 
     61} 
     62 
     63}}}