Seismic octave programming for analog digital converters
Download
Sponsored Links
This presentation is the property of its rightful owner.
1 / 22

Seismic Octave Programming for Analog/Digital Converters PowerPoint PPT Presentation


  • 93 Views
  • Uploaded on
  • Presentation posted in: General

Seismic Octave Programming for Analog/Digital Converters. Michael W. Siekman Electrical and Computer Engineering Senior Capstone Design Project 2007 Advisor: James Hedrick. The Project. Investigate analog/digital data acquisition (A/D DAQ) in the open source software environment

Download Presentation

Seismic Octave Programming for Analog/Digital Converters

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Seismic octave programming for analog digital converters

Seismic Octave Programming for Analog/Digital Converters

Michael W. Siekman

Electrical and Computer Engineering

Senior Capstone Design Project 2007

Advisor: James Hedrick


The project

The Project

  • Investigate analog/digital data acquisition (A/D DAQ) in the open source software environment

  • Acquire and display analog input

  • Implement as a simple seismograph


Block diagram

Block Diagram

Seismic Activity

(Input)

Seismometer

Signal

Conditioning

A/D Converter

(PCI)

Computer and Software

Display

(Output)

A/D

Drivers

Octave

Function


The setup

The Setup

  • Analog to Digital Conversion (A/D)

    • Manipulation

    • Display

    • Necessary in everyday engineering life!

  • Used extensively in PCs

  • Variety of on-board card options


The problem

The Problem

  • MATLAB

    • Numerical Computing and Programming

    • Powerful Engineering and A/D processing tool

    • $$$


The solution

The Solution

GNU Octave

  • Open Source (GNU Project)

  • Uses Linux OS (FC5)

  • Same method, different package

  • Shell, DIY

  • GNU Supporters around the world


The plan

The Plan

  • A/D Converter

    • Measurement Computing PCI-DAS6035

    • PCI card with Input Board

    • 16-bit resolution

    • Sampling rate of 200kS/s (200kHz)

    • Selectable input voltage range of +/- 10V, 5V, 500mV, or 50mV


The plan1

The Plan

  • Seismometer

  • PMD Scientific PMD103m

    • Receives seismic activity

    • Output voltage represents force

    • Output connected to A/D converter

    • Signal Conditioning

      • Between voltage output to A/D input board

      • Terminal board


The plan2

The Plan

  • Output Specifications

    • 3D output (X,Y,Z)

    • Output voltage swing

      • +/- 10V Single Ended

      • +/- 20V differential

        • +/- 5V is typical

    • Bandwidth range is 0.033 – 50 Hz

      • Sampling rate of A/D allows this w/o aliasing

    • Require 9-13V Power


The plan3

The Plan

  • Seismometer to A/D Board

    • Output of seismometer will not reach +/- 10V swing

    • Fs = 2Fmax

      • Fs > 2 (50Hz)

      • Fs > 100 Hz

    • 16-bit resolution is more than enough

    • 12V power source for Seismometer


The plan4

The Plan

  • Comedi (COntrol and MEasurement Interface)

    • DAQ drivers for Linux

    • Needed to modify in order to compile correctly

    • Previous work in FC3

  • Fedora Core 5

    • Redhat Project variant

    • Custom kernel files

    • Workarounds


The plan5

The Plan

  • Within Octave:

    • Programming similar to MATLAB

    • Develop functions or programs

      • Interface with A/D drivers

        • Done outside of Octave

      • Receive A/D signal

        • Receive 100 samples from signal

      • Process A/D signal

        • Read voltages

      • Display

    • Seismometer data plots as seismograph


The implementation

The Implementation

  • System Components

    • Hardware

      • Seismometer

      • Terminal Board

      • Input Board

      • A/D Converter

    • Software

      • A/D Converter Drivers

      • DAQ Program

      • Octave Program


The implementation1

The Implementation

  • Hardware

    • Layout of seismometer output

    • Connect to terminal board including power

    • +/- X value into input board

  • A/D Converter

    • 200 kHz sampling rate covers seismometer bandwidth (50 Hz max), using 1 kHz

    • +/- 10V selected in differential mode


The implementation2

The Implementation

  • Software

    • Linux preparation

      • Problems with kernel source and headers being correct

    • Comedi Installation

      • Compiled and installed Comedi drivers/library

      • Modification of Comedi configuration and drivers

      • Insertion/configuration of driver (cb_pcidas64) into kernel

    • DAQ program

      • printdata

        • Written in C with C and Comedi libraries

        • Accesses driver, retrieves a signal and samples it (100 samples), and prints voltages to screen


The implementation3

The Implementation

  • Software (cont)

    • Octave program getwave.m

      • Accesses printdata output

      • Data is then formatted

      • Displayed

    • Replicates a static sample of seismograph


The results

The Results

  • Results

    • Kernel was configured properly for Comedi

    • Comedi application and libraries successfully installed to be compatible with FC5

    • A/D converter driver successfully inserted as module into kernel

    • Testing drivers and printdata DAQ program

      • C battery input reads properly as DC at around 1.5v

      • Function generator input reads as proper wave (tested at both arbitrary sine and square wave)

    • printdata receives a signal from the seismometer and prints it properly


The results1

The Results

  • Testing Octave program getwave.m

    • Properly receives data from printdata and displays its output data correctly

      • 1.5V C battery shows as DC signal at @ 1.5v

      • Function generator can show proper sine wave and square wave

    • Seismometer input is displayed


The results2

The Results

  • Still to be done

    • Extend period over which 100 samples are taken, lower the sampling rate

    • Need to verify that seismic action is being properly read by DAQ software and Octave

    • Try dynamically linking printdata program to Octave

      • Requires translating to C++ and inclusion of Octave library code

      • System can support DL

    • User’s Manual

      • So others don’t have to go through the things that I did


The future

The Future

  • Future work that can be done:

    • Read all planes of seismometer output

    • Dynamically linking DAQ program to Octave

    • Creating a continuous stream of seismic data from the A/D board and displaying it as a real time seismograph

      • Use Comedi functions to provide streaming analog input


The payoff

The Payoff

  • Multiple applications

  • Modular functions and programs

  • Access to powerful A/D tools without the heavy price


Questions

Questions?

Acknowledgments:

James Hedrick

Lance Spallholz

Emad Andarawis

Everyone on the Comedi Mailing List

Thanks!


  • Login