Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Just what the title states ...

A geophone gives an analog output. It must be digitized before it may be posted on USB. Is mere digitization sufficient? What else must happen after digitization before the signal may be put on USB?

share|improve this question

closed as not a real question by Randolf Richardson, ChrisF, bwDraco, KronoS, Mokubai Jul 17 '12 at 20:51

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

Why the closure vote? – Everyone Nov 19 '11 at 9:01
Your question is very broad and open ended and not suitable for the Stack Exchange question and answer model. – ChrisF Jan 24 '12 at 9:56
up vote 2 down vote accepted

No, you cannot just "put data on USB".

USB is Universal Serial Bus. A bus (in a computer) is a control and data pathway, in this case to connect periperal devices (aka adapters) to the computer. USB connects periperal devices just like PCI accepts adapter cards/boards. The USB Host expects to communicate with a USB device using the USB protocol. USB is simply the method for a peripheral to connect with the computer; USB (the bus itself) is not an end-user device or connection.

Most likely you are confusing "USB" with a serial (RS-232) communications USB adapter. What you think is just a USB port is really a USB device for a serial communication port. Windows will report such a USB device as a COM port; the fact that the connection is through USB is hidden unless you hunt for more info, such as looking at the Device Manager.

To answer the obvious follow-up question: "No, you cannot just put data on a serial communication link" if you expect to read it reliably on the receiving end.

  • You would just be putting binary data on the link without any integrity checks (a bad idea).
  • If the A-to-D conversion produces more than 8 bits per sample, then you have multibyte sample values. You need some kind of data framing to group & identify the bytes per sample.
  • There are line protocols that use (longer than "normal") time gaps to indicate framing or packet boundaries (e.g. Modbus), but this requires serial port and driver support at the receiving end to work reliably. At the application/user level there is no way to accurately measure the time between received bytes. So using additional bytes to provide framing is most robust.
  • The proper way to send & receive data on a serial link to to define & use a protocol, especially if the data is binary (not text). Even if the data flow is unidirectional, choose either fixed length or variable length records and define a layout that organizes the transmitted data.
share|improve this answer

You must ensure that digitization frequency (sampling frequency) is 2x larger than maximum frequency (that is considered to be non-noise) in input signal.

Otherwise you'll get a plain garbage.

This is called Nyquist sampling theorem.

share|improve this answer

You may have to normalize the signal to some standard. You also have to decide the range of values that you wish to digitize. To recreate the data from the data source will you use 8, 16 or 32 bit digitized data. Also with what skew does the source signal change so how many points will you read in a second to again recreate the source data.

So Yes conversion alone is sufficient, but what specifics of conversion are going to be important. You will have to experiment with.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged .