SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

libmls-0.2 - Maximum Length Sequence measurement library

Copyright (C) 2002 Scott Edward Thomson

libmls is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Comments are welcome.

Written by Scott Edward Thomson. libmls also uses some transformation routines written by Anders Torger.

What does libmls do?

libmls is a system response measurement library that uses a Maximum Sequence Length signal for excellent noise immunity. It allows gated measurements to minimise effects of room reflections. It also allows measurement of electrical systems including impedence vs frequency plots in a single two channel measurement.

What will libmls do in the future?

  • calculate phase response properly
  • do cumulative decay spectra (waterfall graphs)
  • do sine and warble stepped frequency measurements

Requirements

  • Full duplex sound card, ie one that will record and play at the same time
  • Alsa 0.9 or greater with same API as Alsa 0.9 including development headers
  • fftw2 libraries and development libraries ("apt-get fftw2 fftw-dev" on Debian)

Building

To build the library, type

make

then to install, su root and type

make install

Using

To build the test application (which is also the API reference), type

make testmls

run testmls and it will generate "response.dat" which is an amplitude response of the system being measured.

Mixer settings are very important for MLS testing. Run alsamixer to adjust. All cards are different so I will try to generalise as best as I can. Start by turning everything down to zero and also mute everything. Unmute master volume and turn up to 74%. Unmute PCM and turn up to 74%. For microphone tests, enable capture on the microphone channel but LEAVE IT MUTED. Mic boost is optional. For impedence or line tests enable capture on the line channel but LEAVE IT MUTED. Don't enable both microphone and line capture. If there is an additional channel labelled Capture, also unmute it. Turn off ADC/DAC loopback or anything that resembles it. As I said, all cards are different and you may have to experiment until you get a good signal level and response.

To do

  • Get libmls to work with OSS and possibly ESD
  • Error reporting and result codes needs improvement
  • Finish implementing response smoothing
  • Add support for cumulative decay spectrum (waterfall plot)

Contact

email: s_thomson@bigpond.com

postal:         libmls 
                PO Box 5018     
                Pinewood 
                Mount Waverley
                Victoria 3149 
                Australia


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.