Sound card sampling rate 1.2msps?

Click For Summary

Discussion Overview

The discussion revolves around the feasibility of achieving a sampling rate of 1.2 mega samples per second (msps) using a laptop's sound card, which has a maximum capability of approximately 240 kilo samples per second (ksps). Participants explore the requirements for an experiment involving radio audio signal acquisition and processing, considering hardware limitations and potential alternatives.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant states that achieving 1.2 msps is not possible with existing hardware that does not support it, suggesting the need for specialized equipment.
  • Another participant clarifies the meaning of ksps and msps, indicating that these are standard terms in digital signal processing and that sound cards are typically designed for human hearing ranges.
  • Some participants suggest that a specialized analog-to-digital converter (ADC) would be necessary for the required sampling rate, with one noting that integrating an ADC with a digital signal processor (DSP) could be a solution, albeit costly.
  • There are suggestions to consider using a Software Defined Radio (SDR) as an alternative to achieve the desired sampling rate.
  • One participant mentions the possibility of interlacing channels on the sound card to increase the effective sampling rate, although they express uncertainty about the programming required for this approach.
  • Another participant highlights the potential of using Pico Scopes, which can achieve the desired sampling rate but require a different API than standard audio libraries.
  • Concerns are raised about the necessity of high sampling rates, with one participant questioning the need for MHz rates and another responding that it is to achieve accuracy in processing algorithms.
  • Participants discuss specific ADC models, such as the Texas Instruments AFE5807, which can handle high sampling rates and are available for commercial use.

Areas of Agreement / Disagreement

Participants generally agree that achieving 1.2 msps with a standard laptop sound card is not feasible without specialized hardware. However, there are multiple competing views on the best approach to achieve the desired sampling rate, including the use of specialized ADCs, SDRs, or alternative hardware solutions.

Contextual Notes

Participants express uncertainty regarding the specific requirements for the experiment, such as the data rate of the signals being processed and the necessary resolution for the ADC. There are also discussions about the limitations of existing sound card technology and the potential need for significant hardware redesign.

Who May Find This Useful

This discussion may be of interest to individuals involved in audio signal processing, radio communications, or those exploring high-speed data acquisition methods in experimental setups.

Fred Wright
Messages
376
Reaction score
229
TL;DR
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   Reactions: 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   Reactions: 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   Reactions: 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   Reactions: DaveE
  • #14
Fred Wright said:
70mHz

Please, you were already told m is not M.
 
  • Like
Likes   Reactions: 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.
 

Similar threads

  • · Replies 14 ·
Replies
14
Views
3K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
17
Views
5K
  • · Replies 1 ·
Replies
1
Views
11K
  • · Replies 4 ·
Replies
4
Views
5K
Replies
4
Views
2K
Replies
3
Views
17K