Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Don't know enough about digital signal processors

  1. Jun 30, 2008 #1
    So I'm a physics major who is doing a summer research internship that is mostly electrical engineering. My research adviser is also a physicist and doesn't really know much about this either.

    But essentially what we need is take an analog signal and digitize it (to about 100 MHz), and use a microcontroller (or some other device) to apply a digital filter to the signal.

    We have a leftover microcontroller from a neighboring lab: C8051F005 from Silicon Labs.

    Our questions are:

    -Will this microcontroller suit our purposes?
    -If not, what should we get? (neither my adviser or me really know enough to shop for whatever we might need).
    -Once we have what we need, how do we program it to do what we need?
  2. jcsd
  3. Jun 30, 2008 #2
    PS. This field is entirely new to me, and my adviser is not very helpful on this. (In fact, most of what he gives me to do is cleaning/splicing fiber optics and soldering. Very boring. I am more or less doing this digital filtering stuff on my own because he often mentions that it is the "next step of the project" but never tells me directly what to do, even if I ask him, because he doesn't understand it.)

    Any questions you can ask for clarity regarding my situation or advice you can give will be greatly appreciated and help to aid me in my understanding of this topic.

  4. Jun 30, 2008 #3


    User Avatar

    Staff: Mentor

    Well, a 100MHz ADC is pretty dang fast. Have you found any off-the-shelf devices that go that fast?

    What is the signal that you are dealing with? Is it modulation on a carrier that is at 100MHz, or is it a baseband signal with a bandwidth up to 100MHz? How many bits of resolution do you need from your ADC? 8? 12?

    Assuming you can flash digitize this 100MHz signal at that speed, no, a microcontroller is not going to be keeping up with 100MB/s or 150MB/s kinds of data speeds. That would be something that you would use a very fast ASIC or CPLD for. There might be specialized DSP engines that you can buy that might go that fast, but I'm not familiar enough with that design point to know. Chroot (one of the Admins here on the PF) might know.

    If you can say more about the analog signal that you want to work with, that will help us guide you to some DSP resources. BTW, I really like the book, "Designing Digital Filters" by Williams. See if your library has a copy for you to look through.
  5. Jun 30, 2008 #4


    User Avatar
    Science Advisor
    Gold Member

    This sounds like a VERY difficult project unless you have a really good grasp of both analog and digital electronics. Sampling at 100 MHz is FAR from trivial and is probably the hardest part of the project. 1 MHz is "easy"; 100 MHz very hard.
    The DSP part is presumably the easiest part of the design but it still requires knowledge not only about programming the DSP itself but also about high-speed digital circuit design (probably with multi-layer PCB).
    I must admitt I don't think this is a feasible project for a summer internship.

    The only"straightforward solution that I can think of would be to build a VXI or PXI system using a high-speed digitizer. It is probably cheaper as well (although we are still talking significant sums of money).
  6. Jun 30, 2008 #5


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    There are plenty of off-the-shelf DSPs that can handle 100 MB/s data rates, like the SHARC series from Analog Devices. There are also a number of different ADC choices in that regime, but all are going to be pretty expensive and require specialized board-level signalling, like LVDS.

    This would be a very challenging project even for an experienced EE. If this is not your area of expertise, I suggest that you not even attempt it.

    I'm also very suspicious that you actually have a signal with 50 MHz of significant bandwidth. Furthermore, why can't you implement the filter in the analog domain? It would most likely be easier that way.

    - Warren
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook