I’m learning SDR and DSP, so please accept my apologies if my questions reflect my beginner status.
Linked below is a small C++ project I made that uses SoapySDR and two Lime USB boards to send and then receive a small WAV audio file. Looking at the waterfall display in GQRX, I see that something is being sent. I also know that something is being received because the amplitude increases when I transmit. Antennas are attached to the boards and are within 2 inches of each other. However, the audio recording on the receiving side is apparently noise, which leads me to think I might be misunderstanding how SDR modulation works. The purpose of this project is not to make an audio FM radio station but to send and receive some intelligible data in order to test my understanding of SDR IQ modulation. I’ve tried sending some binary bits before also, and again, I saw some signal coming in and was unable to decode.
I’m reading the audio samples as floating point numbers in range from -1 to 1, and passing them as the real part to the write stream, leaving the complex part as 0:
buff[i] = complex<float>(audioSample[i], 0);. On the receiving side I do the opposite, taking the real side of the read stream and saving it to a WAV audio file.
Please take a look at the attached picture from Lathi’s “Modern Digital and Analog Communication Systems”. Does it reflect the Lime USB approach? I saw a similar diagram in the Wireless Masterclass by Dr Webster. Am I correct in assuming that the Cos oscillators on RX and TX are provided by the Lime board and that in Soapy the complex write stream consists of
m2 signals that are intended to be the unmodulated baseband (e.g. the raw audio file)? I read and write 1 MTU packet at a time. Is my understanding of MTU here correct? Can someone shed some light on why I might be receiving noise?
The project is here https://github.com/bijoutrouvaille/LimeSDRExample . It is runnable on a Linux system with the Soapy library installed and one or two LimeUSB boards plugged in. A small dependency for writing WAV files (https://github.com/adamstark/AudioFile) is included with the repository.
Thank you for the help! If can get this project to work, I can write up a small beginner tutorial to get started with Soapy and Lime.