Dear Readers,

On 1 November I posted the following message:

>I would be grateful if someone could direct me to a software which I
>could use to high/low pass filter EMG signal stored in an ASCII file.
>(Excel add-in, or standalone DOS or W3.1/W95 software). If you have an
>algorythm of such filters, please send it I will write the program in
>Turbo Pascal.
>I have already searched the IN haystack without any real success...

>From the replies my personal choice was the program by Gordon Robertson
(see details below in the summary) and I found it absolutely wonderful.
I use the program since and I can recommend it to anyone. I have always
admired those who let others have such nice softwares for free...
Generally thanks for the others too who were all very helpful.

Here comes a summary of the replies:

From: Alan R Morris
We are using the most flexible software for writing analysis programs:
MATLAB. You can write a filter in about 5 minutes and the progamming
environment comes with already developed filters. The educationsal
version is not cheap $500Cdn but you can get the student version which
has the same capability but only a limited matrix size, for only $99Cdn.
I would find out from a nearby university and see if they have the
software and do a demo for you. Check out the MATLAB website at . Good luck

From: Virgil Stokes
Do you ever read the ISB newsletter?
I have written extensive software for filtering and
smoothing of TS data (including EMG ASCII file data). It is written in
Turbo PASCAL 7.0.

From: Dan Becque
Winter's biomechanics textbook has an algorhythm that you can write into
Turbo if someone doesn't come up with something else easier.

From: "D. Gordon E. Robertson, Ph.D."
I have a program that can filter EMG data (or other signals)
from ASCII type data files. The program, BioProc, can read
data from several types of data structures including, BioWare
DAT files and Ariel .ANA files. Ii has its own native format
including an ASCII format. The ASCII file must have a particular
structure. A program called Conv2BPA reads ASCII files and then
requests information necessary for running BioProc.
You can download these programs with some sample data from out
ftp site at:
User name: guest
Password: guest
The selfextracting archive is called, BP158.EXE

From: "Hughes, Richard"
You may find the following reference useful if you are willing to do a
little programming:
Kaiser, J.F. and Reed, W.A. (1977) Data smoothing using low-pass digital
filters. Rev. Sci. Instrum. 48: 1447-1457.

From: Ross Bowen
There are several signal processing software packages which you might
use for your analysis. However, I suggest MATLAB, it has signal
processing ability as well as other numerical capabilities. I am sending
in part some code which I have written for processing EMG data files.
Please take note that this is only part of a much larger program and may
not seem complete but it should get you started. Ross
(Please contact Ross if you need the code. Gabor Barton)

From: RUN Technologies
Our company has developed and markets a software package we call DATAPAC
III that can do the job for you. It is organized as a series of modules
that can be purchased according to need. It will accept many types of
binary and floating point data files, and also has an ASCII file import
feature. In terms of frequency filters, it has high pass, low pass, band
pass, band stop and notch filters using the FIR (finite impulse
response) algorithm. All filters have adjustable cutoff frequencies and
adjustable rolloff efficiency. You can also view the response profile of
the filters you create in graphics displays.
Our web site, indicated at the base of this message, can provide more
information and prices. You can also download a demo version of the
software, including tutorials. And please contact me directly if you
have any questions. web site:

From: Michael Guttormsen
I am currently using MatLab with the Digital Signal Processing (DSP)
toolbox. In this toolbox are strong tools for signal processing. I will
strongly recommend you to try MatLab for solving your problem.
Else I have an algorithm for lovpas filtering written i C++, which I
include at the bottom of this message.
(Contact Michael if you need the code. Gabor Barton)
Beside this I have previously searched the internet with key words as
CPP (C++, where you could try pascal) and filtrering, and i have found
program examples for a wide range of algorithms.

From: Dr Rami Abboud
Matlab software has built-in modules that you can use for all sort of
signal processing including low/high pass filters. It works on most
platforms (Win 3.11, 95...).

If you have GX on your system, or have a PC or MAC I can send you the
code for a great highpass filter I use for emg, the lowpass would be
easy to write. I don't have a server that will allow me to send the
binary executable of GX, but I could mail it, or others closer to you
may have it. It is distributed with Motion Analysis Systems and with
Mac Reflex systems. It is not the type of code that will help you
program in another language as it is a stack based language and you just
use key words like "fourier" and it does a FFT on the last array on the
stack, then use the word "bfourier" with the numbers 15, 600 and you now
have high passed filtered data with a cut off of 15 hz (sample rate of
600 in this case). It's great for rapid development of programs, but it
runs slow...

-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Dr Gabor Barton MD
Manager, Gait Analysis Laboratory UIN (ICQ): 2625928
Alder Hey Children's Hospital tel: +44 (0)151 252 5949
Eaton Road, Liverpool, L12 2AP, UK fax: +44 (0)151 252 5846
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

To unsubscribe send UNSUBSCRIBE BIOMCH-L to
For more information: