GNU Radio Companion - Audio modem loop back test FSK
Prepared by Dr. Aaron Scher
[email protected]
Oregon Institute of Technology
Back to Aaron's home page.
Back to My collection of GNU radio companion flow graphs.
Prepared by Dr. Aaron Scher
[email protected]
Oregon Institute of Technology
Back to Aaron's home page.
Back to My collection of GNU radio companion flow graphs.
Download file: audio_FSK_loopback_test.grc.
The setup involves my just my laptop sitting on a table. With one GNU Radio Companion (GRC) flowgraph, I transmit data using my laptop's built-in speakers and receive using my laptop's built in microphone. For this loop back test I choose a modulation and frequency corresponding to that of a the simple V.21 modem standard. Namely this simplex modem transmits 0's and 1's by transmitting either a 1650 Hz tone or a 1850 Hz tone, respectively, for 1/300 sec. The data I transmit are simple text messages (such as "Hello World!") that I enter in using the QT GUI Message Edit Box. The recovered message is displayed using the Message Debug Print block. I like this example, because I can type in my text and see the recovered message all within GRC itself (i.e. I don't need to use TCP sources and sinks, etc.) With my laptop, there is definitely some delay between the moment I press enter to send the data and the the moment the recovered message displays on my screen. This example demonstrates the basics of packet radio transmission and detection in GNU Radio without needing any special hardware beyond a PC. This flowgraph employs some useful blocks specific for packet radio including Protocol Formatter and Correlate Access Code - Tag Stream blocks. Another useful block here is the Polyphase Clock Sync which seems to work pretty well, but can probably be optimized. Some useful links are the following
I am using GNU Radio Companion version 3.7.10.1.
The loopback test uses only a single flowgraph. However, because the flowgraph is so large, I divided the flowgraph up below to make it easier to see. Click on any screenshot below to enlarge the image. Note that a reader found a small error in this flow graph. The "Repeat" block in the Audio Modem FSK transmitter should have an interpolation of 147, not 146.
Variables, definitions, and parameters:
Transmitter section of the flowgraph:
Receiver section of the flowgraph:
Flowgraph in action: