wiki:FormatFichier
Last modified 4 years ago Last modified on 04/16/15 16:28:18

Format des fichiers enregistrés dans gkSDR

Les 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. Le format de gkSDR contient, en plus des données IQ, les méta-données suivantes:

  • La fréquence centrale du récepteur,
  • La fréquence d'échantillonnage actuelle,
  • Le réglage du gain,
  • La position actuelle du récepteur (latitude, longitude),
  • L'orientation de l'antenne de réception.

Comme ces informations changent au cours du temps, les méta-données sont répétées régulièrement. On retrouve donc :

  • Un bloc "entête" avec les méta-données,
  • Une indication du nombre de données IQ qui suivent,
  • Les données IQ brutes, enregistrées sous forme d'entiers signés sur 16 bits,
  • Un bloc "entête"... etc.

Dans 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) :

struct rf_file_block {
    /* frequency set at the SDR, center of receiving window */
    qint64 hw_center ;
    float rx_offset ;
    /* effective sampling rate at the SDR receiver */
    float rx_samplerate ;


    float rx_gain ;

    /* receiver position */
    float longitude ;
    float latitude ;
    float antenna_bearing ;

    /* */
    qint32 sample_count ;
};

Les données IQ sont ensuite représentées par la structure suivante:

struct rf_file_iq {
    unsigned char i[2];
    unsigned char q[2];
};

L'enregistrement et la relecture des données sont prises en charge par les classes:

class SDRFileWriter : public QThread
{
}

class SDRFileReader : public QThread
{
}