Help in Thesis

Discussion in 'The Projects Forum' started by foxbat, Jun 5, 2008.

  1. foxbat

    Thread Starter New Member

    Jun 5, 2008
    3
    0
    hi guys

    i am doing a baseband signal processing block for my thesis. it involves taking a 0.03-3Hz signal with DC offset, remove the offset, digitize it using an ADC, come up with algorithm for prediction of heart rate and respiration rate and display it.

    right now, i am using an opamp circuit for removing the DC offset, using ADS1210 24-bit ADC evaluation board for ADC conversion and using matlab for signal processing and prediction.

    the goal of the thesis is to come up with a small PCB which can do the whole thing.

    i am planning to use the same circuitry for DC offset, but my apprehension is in the ADC and signal processing blocks.

    my questions are:
    1. can i use a DSP processor for signal processing and prediction? how difficult is it to design the accessories of the DSP processor on PCB by myself.(i have only used DSP processor using code composer studio CCS, no idea about hardware integration of DSP processor and the software programming of it).

    2. can i use a 1MB ram for data acquisition from ADC?

    3. do i need a separate microcontroller to look after the whole thing(ADC, memory, DSP processor, prediction, display), or can i make the DSP processor do the whole thing.

    4. Finally, how complex is the project to be completed by december.

    Thanks and Regards,
    foxbat
     
  2. Dave

    Retired Moderator

    Nov 17, 2003
    6,960
    144
    Have you considered using something like a FPGA-based DSP dev board? This would provide all your hardware needs on one board (processor, memory, ADC/DAC interfaces, a host of peripheral options for external interfacing etc). They are pretty well priced too (have a look at Xilinx DSP options: http://www.xilinx.com/products/design_resources/dsp_central/grouping/index.htm). If you go down this route, you will most probably not need a dedicated microcontroller for controlling the system, you can either implicitly implement this on the FPGA or control it remotely from a PC through something like an RS232 or USB interface. There are many options.

    As for the complexity aspect for your thesis, you will quite easily achieve this because you will need to implement the DSP-core and interfaces in either VHDL or Verilog and then download your design to the FPGA. You should quite easily develop a solution by December.

    Dave
     
  3. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    At least you didn't say "24-bit ADC" and "small PCB" both in the same sentence, as they're somewhat mutually exclusive.

    How much resolution do you really need? 12 bits will get you 4096 discrete steps. At 16 bits, you'll be hard pressed to keep the noise down enough.

    Well, it certainly has been done. Whether or not you're up to it is another matter ;) Getting it to work in something like MATLAB first would be a huge step in the right direction.

    Well, you could use it as temporary storage; aka FIFO buffer. Dynamic ram would require periodic refreshing. Static ram does not. Keeping track of what bits are where could be somewhat arduous; if done all in discrete ICs it would require counters, muxers, demuxes, and If your DSP didn't keep up with the data flow, your counters would crash into each other causing data to be overwritten.
    Now what duration of data you could store in 1MB of RAM depends upon how many bits of data and how many samples per second you're taking. A 24-bit ADC will tend to be slower than a 12-bit ADC.

    What DSP are you looking at?

    If you're going to be using 24 bits, it'll get pretty complicated.

    If you could make do with 12 bits, there are quite a few microcontrollers available that have built-in 12-bit ADC's that would enable you to do practically the whole thing in one IC, which would make your world a lot less complex.

    If you go the 24-bit route, you will have a number of learning curves to go through. The more complex the project, the higher the probability of project failure.

    I suggest that you would be better off to at least start with building a comparatively simple single-uC based project. It will be easier to find assistance for the less complex project than the more complex project. If that project is successful, you can then attack the more ambitious project. In the meantime, you will have improved your skillsets.

    Once the first project is a success, you will at least have that project to turn in if the subsequent project is not successful.
     
  4. Dave

    Retired Moderator

    Nov 17, 2003
    6,960
    144
    Wook, I think going with the generic uC is not the best option when DSP-specific cores exist on the market, for example the Spartan-3A DSP FPGA (which IIRC is upto 36-bit arch). There are many dev board options here with the necessary extras that would get this project up and running.

    If the OP then wishes to look at implementing a bespoke (or generic uC) design, then they have a model to work towards. One of the guys in our office has been looking into this recently, and he felt he didn't even need to go for the dedicated DSP option settling for a standard FPGA dev board.

    I think it is safe to say "there is more than one way to skin a cat"! That is my take anyway.

    Dave
     
  5. roddefig

    Active Member

    Apr 29, 2008
    149
    0
    Here's a vote for using an FPGA! You could implement all the functions that you describe in FPGA. And, given the low clock rate you could most likely do it all in a cheap FPGA as well.
     
  6. foxbat

    Thread Starter New Member

    Jun 5, 2008
    3
    0
    hi guys

    thanks for replying. i looked into few of the FPGA options, i have done few FPGA projects about error correcting codes and some digital design stuff on Xilinx Spartan. it will surely help. i found a traquair/orsys product which has a DSP processor, a FPGA and a 10 bit ADC on board and its the size of a small coin(thats so cool).

    i have always seen FPGA with a board ready to be programmed, is there a way to buy a FPGA chip and build a PCB with a custom ADC and offset circuitry? coz i have a hunch my adviser wants me to come up with a PCB (he always talks about PCB design in the project) with discrete chips which has been integrated by me, and not buy a board and program it(i wish my life was that easy).

    Thanks and Regards,
    foxbat
     
  7. Dave

    Retired Moderator

    Nov 17, 2003
    6,960
    144
    I think you need to clarify your requirements with your supervisor - can you go for a full embedded design or does he require some form of custom PCB design? Knowing that you can move forward with an appropriate solution.

    I'm not sure if you can buy the stripped back FPGA-core or if they are now sold only as dev kits/boards (I have only ever had the need to purchase them as a kit). If you are required to go down the custom PCB design route, this does not preclude your use of the dev board. You can use the on-board resources (ADC, etc) and then port your (optimised) design across to your own dedicated PCB at a later stage. It is worth noting that it is likely you will need to do some custom design external to the FPGA dev board (for example I would imagine you will need some signal conditioning circuitry, etc), so even if you go the complete FPGA route, there will still be some PCB work for you to do.

    It is up to you to clarify the requirements for your thesis with your supervisor and convince them of the merits of one option over the other. I am of the opinion that the full FPGA route might be technically the easier (that is not to say it won't be difficult), but it is the better engineering decision; a lot, therefore, depends on what your supervisors is expecting so that you can get the best mark you can. If you go the full FPGA route (which would make a good 6 month project) your further work suggestions could be an optimisation of your design and a port across to a custom PCB with DSP.

    Dave
     
  8. foxbat

    Thread Starter New Member

    Jun 5, 2008
    3
    0
    hi guys

    does anybody know which compiler supports the signal "real" in vhdl.
    i got an automatically generated VHDL file from matlab for a low pass filter. it has all the signals and co-efficeints in real signal which is a double.
    i need help in designing the lowpass filter on FPGA.
     
Loading...