Sound card sampling rate 1.2msps?

AI Thread Summary
The discussion revolves around the need for a sampling rate of 1.2msps for processing a radio audio signal using a laptop's sound card, which only supports a maximum of 240ksps. Participants emphasize that achieving such a high sampling rate requires specialized hardware, specifically an ADC, as standard sound cards are not designed for this purpose. Suggestions include exploring high-performance microcontrollers like BeagleBone or using software-defined radios as alternatives. The original poster acknowledges the need for a specialized ADC but expresses budget constraints for building a prototype. Ultimately, the consensus is that without redesigning the hardware, achieving the desired sampling rate is virtually impossible.
Fred Wright
Messages
376
Reaction score
229
TL;DR Summary
Is it possible to sample sound at 1.2msps?
I am designing an experiment for pam-ook which acquires a radio audio signal to the mic input of my laptop. I process the signal using c++ code employing an audio library (PortAudio) which provides the data stream. I require a sampling rate of 1.2msps but the sound card in my laptop has a maximum sampling rate of about 240ksps. Is there a way to increase its sampling rate to 1.2msps? I have searched online for peripheral sound cards but none meet my requirement.
 
Engineering news on Phys.org
Can it be done? Certainly. Can it be done in software with hardware that doesn't support it? Certainly not.

Since this is two orders of magnitude above human hearing, you will need specialized equipment.
 
Can you elaborate on ksps and msps? Is it some standard unit I am missing? sps for samples? Most sound cards I know use kHz as a unit.

Sampling rates of sound cards are in general designed to meet what our ears are capable of hearing (plus some more for better editing/quality), so if you need faster sampling you will probably need a specialized AD converter.
 
Borek said:
Can you elaborate on ksps and msps? Is it some standard unit I am missing?
ksps = kilo samples per second. Yes, those are standard terms in digital signal processing.
 
  • Like
Likes Borek and jim mcnamara
Borek said:
Can you elaborate on ksps and msps? Is it some standard unit I am missing? sps for samples? Most sound cards I know use kHz as a unit.

Sampling rates of sound cards are in general designed to meet what our ears are capable of hearing (plus some more for better editing/quality), so if you need faster sampling you will probably need a specialized AD converter.
Thank you for your response. msps means mega samples per second and ksps means kilo samples per second. I was hoping to avoid using a specialized ADC but I think the only solution to the problem is to integrate an ADC with a DSP and build a prototype board which is beyond my budgetary constraints.
 
Fred Wright said:
Summary: Is it possible to sample sound at 1.2msps?

I require a sampling rate of 1.2msps but the sound card in my laptop has a maximum sampling rate of about 240ksps. Is there a way to increase its sampling rate to 1.2msps?
Virtually impossible. You'd need to redesign the hardware and probably the firmware too.
 
Fred Wright said:
I am designing an experiment for pam-ook which acquires a radio audio signal
What is the datarate of your OOK and PAM (4-PAM?) signals? What is your RF carrier frequency for this transmission? What does your current RF receive circuit look like? How many bits of resolution do you need for your processing of the baseband signals? How deep does your memory need to be (how many samples do you want in order to process the RX signal)?

Fred Wright said:
to the mic input of my laptop. I process the signal using c++ code employing an audio library (PortAudio) which provides the data stream.
Are you just wanting to use your laptop sound card because it is a handy A/D circuit? Obviously its sample rate is too low for what you want, so have you looked at Arduino or other microcontroller (uC) based solutions?
 
  • Like
Likes jim mcnamara
Fred Wright said:
msps means mega samples per second
msps would be millisamples per second.
Msps would be megasamples per second.

You might be able to interlace the two channels on the sound card to record one channel at twice the rate. You would need to interlace the sampling, and I do not know how to program that.

An alternative would be to use a low-cost Software Defined Radio as the front end.
An SDR would be able to handle the conversion rate and the radio frequency input.
What is the frequency of your signal ?
 
  • Like
Likes hutchphd
Fred Wright said:
Summary: Is it possible to sample sound at 1.2msps?

I require a sampling rate of 1.2msps
Are you sure that is needed?
 
  • #10
Fred Wright said:
I was hoping to avoid using a specialized ADC but I think the only solution to the problem is to integrate an ADC with a DSP and build a prototype board which is beyond my budgetary constraints.
That "specialized" ADC is the heart of this design. I doubt that you can avoid it. OTOH, a high performance uController, like BeagleBone isn't expensive and could be integrated with a good ADC. It wouldn't be an easy project. It would require a lot of SW and some hardware expertise, but it wouldn't have to be very expensive.

PS: I'd bet you can buy the whole thing on silicon from someone like analog.com or TI.com, although I'm too lazy to look for it.
 
  • #11
Maybe spend some time on google researching "software defined radios"? That was my initial impression of your problem. Maybe you can buy the hardware and reconfigure it? The HAM radio world is a big place; lots of tinkerers there. They may be able to help you better than us.
 
  • #12
DaveE said:
That "specialized" ADC is the heart of this design. I doubt that you can avoid it. OTOH, a high performance uController, like BeagleBone isn't expensive and could be integrated with a good ADC. It wouldn't be an easy project. It would require a lot of SW and some hardware expertise, but it wouldn't have to be very expensive.

PS: I'd bet you can buy the whole thing on silicon from someone like analog.com or TI.com, although I'm too lazy to look for it.
I found an ADC that would do the trick but requires 70mHz clk. I will look into BeagleBone (Arduino is too slow). Thanks for the tip.
 
  • #13
Pico Scopes can do what you want. You will have to use their API rather than the audio API.

I have never used them myself.

BoB
 
  • Like
Likes DaveE
  • #14
Fred Wright said:
70mHz

Please, you were already told m is not M.
 
  • Like
Likes Vanadium 50 and berkeman
  • #15
Fred Wright said:
Summary: Is it possible to sample sound at 1.2msps?

I am designing an experiment for pam-ook which acquires a radio audio signal to the mic input of my laptop. I process the signal using c++ code employing an audio library (PortAudio) which provides the data stream. I require a sampling rate of 1.2msps but the sound card in my laptop has a maximum sampling rate of about 240ksps. Is there a way to increase its sampling rate to 1.2msps? I have searched online for peripheral sound cards but none meet my requirement.
No doubt I being simplistic here, but it looks as if the mic input is expecting an analogue audio signal?
 
  • #17
tech99 said:
No doubt I being simplistic here, but it looks as if the mic input is expecting an analogue audio signal?
Yes indeed the mic input expects an analog signal. The system I designed uses c++ audio libraries to retrieve the A/D digitization from the laptop sound card. The scheme is to use a beat frequency oscillator on the rf receiver with a high audio frequency and sample and process the ask-oop data stream running at 1200 baud. Unfortunately, my sound card will only support 240 baud. The solution I see is to use a high sample rate ADC coupled to a digital host and stream the data over a USB port. I would have to write circular buffers for the data stream as well as a lot of other work which was avoided by using the audio libraries.
 
  • #18
DaveE said:
I'd bet you can buy the whole thing on silicon from someone like analog.com or TI.com
The Texas Instruments AFE5807 is an 8-channel 12 bit ADC analog front end that does 80 Msps. They are about $50 each, or $300 for an evaluation board. Commercial use is ultrasound.
 
  • #19
Fred Wright said:
. The solution I see is to use a high sample rate ADC coupled to a digital host and stream the data over a USB port.
So why do you need MHz sampling rates?
 
  • #20
Vanadium 50 said:
So why do you need MHz sampling rates?
To achieve accuracy in the processing algorithm.
 
  • #21
Vanadium 50 said:
The Texas Instruments AFE5807 is an 8-channel 12 bit ADC analog front end that does 80 Msps. They are about $50 each, or $300 for an evaluation board. Commercial use is ultrasound.
Thanks, I'll look into that.
 
  • #22
berkeman said:
What is the datarate of your OOK and PAM (4-PAM?) signals? What is your RF carrier frequency for this transmission? What does your current RF receive circuit look like? How many bits of resolution do you need for your processing of the baseband signals? How deep does your memory need to be (how many samples do you want in order to process the RX signal)?Are you just wanting to use your laptop sound card because it is a handy A/D circuit? Obviously its sample rate is too low for what you want, so have you looked at Arduino or other microcontroller (uC) based solutions?
@Fred Wright --Why are you being so evasive in your replies and why have you not answered my on-topic questions? Please reply in detail to each of my questions, or your thread will be closed. This is very frustrating; we want to help you, but if you refuse to specify your system requirements and make us guess, that is bad and wastes our time.
 
  • #23
berkeman said:
@Fred Wright --Why are you being so evasive in your replies and why have you not answered my on-topic questions? Please reply in detail to each of my questions, or your thread will be closed. This is very frustrating; we want to help you, but if you refuse to specify your system requirements and make us guess, that is bad and wastes our time.
I apologize for wasting your time. I didn't think I was being evasive. I posted the data rate and didn't think the frequency of the rf carried was relevant to my problem. I received some good advice so I humbly advise that you close the thread so that others don't waste their time on my nonsense.
 
  • #24
Fred Wright said:
I require a sampling rate of 1.2msps
Fred Wright said:
the ask-oop data stream running at 1200 baud
Fred Wright said:
I posted the data rate and didn't think the frequency of the rf carried was relevant to my problem.
I have no idea what you are saying. I will close this thread now to avoid wasting other users' valuable time and take this to PMs tomorow.
 
Last edited:
  • #25
Fred Wright said:
I humbly advise that you close the thread so that others don't waste their time on my nonsense.
Okay. If you want to discuss your design more, feel free to PM me so I can try to help out.
 
Back
Top