I was dealing with a problem for the past 2 years with the GNURadio, i made a very simple loopback flowgraph which consists into something like this
Wav File Source --> Rational resampler --> multiply const --> float to char --> GFSK mod --> GFSK demod --> Char to float --> multiply const ---> Audio sink
I made the following assumptions to desing my digital communication system
Audio_rate: 32 KHz
Audio_bit_depth: 8 bits
Bits_per_symbol: 1 bit.
Samples_per_symbol: 8 sps
And made the following calculations:
Bit_rate(Audio): Audio_rate * Audio_bit_depth = 8 * 32e3 = 256 Kbps
Baud_rate(Symbols): Bit_rate * Bits_per_symbol = 256e3 * 1 = 256 KSyps
Sample_rate (modulated samples): Baud_Rate * Sample_per_symbol = 256e3 * 8 = 2.048 MSps
I did this calculations thanks to the Wikipedia and GNURADIO wiki
Frequency_deviation = Bit_rate/2 = 256e3/2 =128 KHz
Modulation_index =
Frequency_deviation
/(baud_rate/2) = 128e3 / (256e3 / 2) = 1
Sensitivity = (math.pi*
Modulation_index
)/(
Samples_per_symbol
) = (3.1416..* 1)/8 = 392.699e-3
In the transmitter side:
Wav File source: An audio file sampled at 44100 KHz
Rational resampler: Interpolation 320 Decimation 441 con resample to 32 KHz
Multiply Const: 0.5x to avoid clipping
Float to char: scale of 256 levels
In the Receiver side:
Char to float:
scale of 256 levels
Multiply Const: 2x to restore level
Audio sink: to play the wav file at 32000 KHz
I tested it without the GFSK blocks, and works awesome without errors, the main problem is at conecting the GFSK blocks which produce bit errors, i made the followind configurations.
GFSK mod:
Samples/Symbol: 8
Sensitivity: 392.699e-3
BT: 350e-3
GFSK demod:
Samples/Symbol: 8
Sensitivity: 392.699e-3
BT: 350e-3
Gain Mu: 175e-3
Mu: 500e-3
Omega relative frequency: 5e-3
Freq error: 0
But looks like im doing something wrong in the GFSK blocks, can you help me experts to debug it
im attaching my flowgraph.
--
Con la mejor de las intenciones
Atte.
Giancarlo Freddy Murillo Arenas
Bachiller de Ingeniería Electrónica y de telecomunicaciones
Universidad Católica San Pablo