A Homebrew SDR Sound card Using The PCM2904

May 27, 2011 at 9:09 pm | Posted in Uncategorized | 3 Comments
Tags:

Because of the limitations of sound cards typically integrated into laptop motherboards, part of my setup for playing with Software Defined Radio (SDR) and audio DSP is an M-Audio Transit USB sound card. I chose this card based upon previous experience and recommendations from others but I’ve never been completely satisfied with using it. The quality is good but I was really looking for something smaller that could be easily integrated into other projects. After looking for a while I realized I wasn’t going to find anything commercially so I began looking around to see what I could come up with myself.

My requirements were pretty straightforward:

  1. At least 16 bit samples, stereo input/output,
  2. USB interface,
  3. While not really a requirement, I was more interested in its ability to digitize than playback.

Eventually I ran across the Texas Instrument PCM2904, which is (from their description) a “…single-chip USB stereo audio codec with USB-compliant full-speed protocol controller…” (It was a lot easier to find this once I realized these chips are referred to as audio CODECs.) To put it into English, this is a sound card on a chip, providing stereo input and output with an integrated USB interface. Sampling frequencies of 8, 11.025, 16, 22.05, 32, 44.1, and 48 kHz are supported and on Windows it’s recognized as a generic USB audio device.

Using the reference design from the data sheet it was easy to put together a printed circuit board that fired up the first time (more a tribute to TI’s reference design than my skill in designing PCBs). A screenshot of WinRad using the interface with an Elektor SDR receiver over the Memorial Day weekend is shown below.

WinRadioScreenShot

I’m not showing a schematic for the board since that’s available in the PCM2904 data sheet. However, once I do some more testing I’ll make the board design available on BatchPCB for those who are interested. I’m especially interested in figuring out what’s up with that mess in the middle of the spectrum. I suspect it comes from the radio rather than the sound card interface since I saw the same thing with the Elektor receiver using the M-Audio Transit board.

Finally, as I use this board I’m realizing there’s a lot here I’m not really taking advantage of. I’m more interested in digitizing the audio than playing it back (I can do playbacks using the integrated sound card) so the circuitry related to playback can go. At that point with some redesign the board’s size is approaching that of a thumb drive, and along with a receiver design like the Softrock it’s looking practical to put together a “receiver on a stick”, which is the ultimate goal of this exercise.

About these ads

3 Comments

  1. [...] in May 2011 I posted a description of a sound card I built based on the PCM2904 . At the time I made the observation that since I was primarily interested in digitizing the audio [...]

  2. I recently ran into an issue with using the PCM2904 for SDR applications. It is described in the errata for the chip: http://www.ti.com/lit/er/slaz036a/slaz036a.pdf (Section 2.2: Inter-channel Phase Difference). SDRs that output I/Q signals (such as the SoftRock) will not work correctly unless this delay is compensated in the software.

    I believe TI recommends PCM2906B for new designs, as this issue (and some others) are fixed as explained here: http://www.ti.com/lit/ml/slel056/slel056.pdf

    • I’ve noticed this and seen it mentioned by others. I got the impression it’s a common problem, to the point where, as you noted, some software has the ability to compensate built in. Using HDSDR I fix it be setting a 1 sample delay in one of the channels on the Channel Skew Adjustment Panel (can’t remember if it’s the left or right off the top of my head). I wasn’t aware it had been fixed in the ‘2906. Thanks for the information.


Sorry, the comment form is closed at this time.

Create a free website or blog at WordPress.com. | The Pool Theme.
Entries and comments feeds.

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: