Using GMSK Mod to send digital data (e.g. an ASCII string)

Hello list, I would like to transmit some data using gnu-radio. My data
is a binary representation of an ASCII string.

I wrote my own block that builds the frame (header, payload, CRC,
trailer) as an array of 256 bytes (0s or 1s):

gr_make_io_signature(0, 0, 0)
gr_make_io_signature(1, 1, sizeof(char))

char *out = (char *) output_items[0];

[build the frame]

memcpy (out, frame, 256);
noutput_items = 256;

My question are:

  1. Still I have to insert a “Packer Encoder” between my code and the
    GMSK mod? If yes, with which parameters? The GMSK mod is configured with
    Samples/Sym=50 , BT=0.4.

  2. Can someone explain me how to use the bitrate parameter? I mean,
    should I “sync” the output of my block with the modulator? If yes, how?

I tried to redirect the transmitted signal to a file, and use a receiver
(that I know working), but without success. The parameters used in the
receiver’s GMSK demod are the same configured in the modulator.

Thanks!

  1. Still I have to insert a “Packer Encoder” between my code and the
    GMSK mod? If yes, with which parameters? The GMSK mod is configured with
    Samples/Sym=50 , BT=0.4.
    No. U can make custom packet structure and in that case u need not to
    use
    Packet-Encoder.
  1. Can someone explain me how to use the bitrate parameter? I mean,
    should I “sync” the output of my block with the modulator? If yes, how?
    Sync is not required because Signal-Processing blocks in GR dont
    understand bitrate/sampling-rate. If u have connected Transmitter-FG
    with
    USRP, then u can determine the “effective bitrate” of transmitter by
    calculating it backwards from USRP-sink sampling-rate.

symbol-rate = usrp-sampling-rate / samples-per-symbol
bit-rate = symbol-rate * modulated_bits_per_symbol

-Adeel

Hello Adeel/ML, this is fine, thanks.

Next doubt is the data format as input of the GMSK block.

Should it be as sequence of unsigned char[] bits (“01010101 00000000”)
or unsigned char[] bytes ("\x55\x00")? Looking at the Mod code
(gmsk.py), the modulator first does a bytes_to_syms().

Second, in GRC 3.5.6.1 there are 2 GMSK modulator blocks, called:

  • GMSK Mod (Samples/Symbols, BT)
  • GMSK Modulator (Samples/Symbols, 3dB Time-Bandwith Product, Pulse
    Duration)

What’s their difference, and what are the meaning for the parameters on
the 2nd (GMKS Modulator)?

Thanks!

Il 21/07/2013 07:52, Adeel A. ha scritto: