DSPRelated.com
Forums

Trying to create a virtual audio cable output from a software defined radio program

Started by iosman123 5 years ago1 replylatest reply 5 years ago137 views

Hi

I have a question concerning getting a virtual audio cable output in a program I wrote.  A virtual audio cable output is an audio stream where the left channel is the I signal of a software defined radio and the right channel is the Q signal.

I have tried many things to get this to work and have had no success.  It’s mainly not having a  thorough enough knowledge of DSP.

A little background.  My software works as follows:

Acquisition of data from a sound card

Splitting the sound stream into a left and right channel (I and Q signals)

Creating a complex signal from the two channels

Feeding the complex signal into a complex FFT

Plotting the spectrum.  This all works fine.

Now I have been able to create a VAC output when using a software defined radio that uses a sound card.

I can do this a number of ways:

1)

Acquisition of data from the sound card.

Sending this data directly to a sound output class. Typically I sample the input at 192000 kHz and the output is at 48000

2)

Acquisition of data from the sound card

Splitting the sound stream into a left and right channel (I and Q)

Creating a complex signal from the two channels

Converting this complex signal into two real buffers one the left channel and one for the right

Converting these buffers into audio and sending them to the sound output class.

3)

Splitting the sound stream into a left and right channel

Creating a complex signal from the two channels

Feeding the complex signal into a complex FFT

Taking the output of the FFT and sending it to a complex inverse FFT

Converting the output of the iFFT into left and right audio buffers

Sending this to the audio output class.

All of these methods work for a sound card input.  

However, I want to use a different device that does not use a sound card but rather delivers the data via a programming interface.  In this case, the data is collected at 2,000,000 samples per second.  I collect 16384 samples and send it to my FFT.

Now the plotting works fine.  However if I try method 2 and 3 above I get nothing out.

Any hints?  I am thinking it probably has something to do with the sampling rate?

Now, what about if I take the output of the FFT which shows frequencies from 0 to 2 MHz,  extract only the frequencies from 0 to 192 kHz, feed them into the iFFT and then send it out to the audio output?  Would this work?


Thank

Iosman

[ - ]
Reply by Rick LyonsJune 25, 2019

Hi iosman.

Well, ...it's been three days since you post and you've received no replies. I believe that is so because of the vague terminology that you used in your questions. Almost half the sentences you wrote cause the readers here to have a question to ask of you. And no one wants to type in 20 questions trying to understand EXACTLY what processing you are performing.

In "Acquisition of data from the sound card" what's the nature of this mysterious data? What do the "Splitting the sound stream", "Creating a complex signal", "Converting this complex signal into two real buffers", "Converting these buffers into audio", "Splitting the sound stream into a left and right channel", "Creating a complex signal from the two channels", and "Converting the output of the iFFT into left and right audio buffers" operations mean?

iosman, I guarantee there are a hundred guys here who are willing and able to help you if they could just figure out what you want your signal processing to do and EXACTLY what signal processing your are performing right now. You're welcome to send me a private e-mail if you wish, at R.Lyons@ieee.org.