Code covered by the BSD License  

Highlights from
Nth_Oct_Hand_Arm_&_AC_Filter_Tool_Box

5.0

5.0 | 1 rating Rate this file 13 Downloads (last 30 days) File Size: 143.88 KB File ID: #22512

Nth_Oct_Hand_Arm_&_AC_Filter_Tool_Box

by Edward Zechmann

 

22 Dec 2008 (Updated 15 Mar 2012)

Features Nth octave band, Hand Arm, and A and C weighting filters

| Watch this File

File Information
Description

The Nth Octave Hand Arm and AC Filter Tool Box is based on the octave toolbox by Christophe Couvreur which is on the Matlab File Exchange ID number 69.

This toolbox makes the filters more stable. For high sampling rates the time records are downsampled. For the low sampling rates the time records are upsampled. Depending on the Filter types. Iterative resampling is used in the Nth octave band time filter to improve the attenuation of the resample program. Also the filters are settled by preappending time data, then deleting the preappended data after filtering.

There are two options for the downsampling filters to optimize
performance for continuous signals or for impulsive signals.
For continuous noise the time domain does not have significant
impulses; however, for impulsive time records there are often very large impulses with distinctive peaks.

There are two antialiasing filters and interpolation schemes available. The first program is the built-in Matlab "resample" progam which uses a Kaiser window fir filter for antialising and uses an unknown interpolation method. The second program available for downsampling is bessel_down_sample which uses a Bessel filter for antialiasing and uses interp with the cubic spline option for interpolation.

The resample function has good antialising up to the Nyquist frequency; however, it has significant ringing effect when there are impulses. The bessel_down_sample function has good antialising; however, there is excessive attenuation near the Nyquist frequency. The bessel_down_sample function experiences no ringing due to impulses so it is very useful for peak estimation.

The following programs were written by Edward L. Zechmann Last modified 5 August 2010.

Leq_all_calc: calculates the A-weighted, C-weighted and Linear weighted sound levels and other metrics given a time record in Pa.

ACweight_time_filter: applies an A or C weighting filter to a time record and returns the A or C weighted time record.

ACdsgn: designs A and C weighting filters for use with the program filter.

hand_arm_time_fil Useful in characterizing hand arm vibrations of powered hand tools. Applies the hand-arm filters to a tie record according to ISO 5349-1.

Nth_oct_time_filter: applies a digital filter to a time record and returns the center frequencies, sound levels, peak levels, and time records in each band.

Nth_octdsgn designs a digital filter given the sampling rate, center frequency, number of bands per octave, and the order of the butterworth filter.

Test_ACweight Tests the A and C weighting filters using sinusoids. The examples indicate the accuracy of estimating LeqA, LeqC and Peak levels. The examlpes output data arrays and plots of the filter tolerances.

Test_hand_arm Tests the hand-arm vibrations filters using sinusoids. The output data and plots indicate how accurately RMS acceleration of sinusoids can be estimated.

Test_Nth_oct_filters1 Tests the Nth octave band filters usign sinusoids. The program outputs data files and plots which indicate the eaccuracy of estimating Leq and Peak levels with the 1/3 octave and 1/12 octave band filters. The examles may take 2 to 12 hours to run.

Test_Nth_octave_Band2: tests the filters using known spectral distributions provided by spatialpattern by Jon Yearsley Fex ID 5091. The program creates white, pink, and brown noise and returns the Nth octave band spectra and time records and a plot of the spectra.

If you find any bugs or have and questions please post a comment or send me an email at ezechma1@hotmail.com

Acknowledgements

The author wishes to acknowledge the following in the creation of this submission:
octave

Required Products Signal Processing Toolbox
MATLAB release MATLAB 7.5 (R2007b)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (1)
14 Mar 2012 Jake Zwart  
Please login to add a comment or rating.
Updates
07 Jan 2009

Added Hand Arm Vibrations Filters. Added removal of running average

28 May 2010

Updated filter files.

05 Aug 2010

Added resampling using a bessel antialiasing filter.
Improved the filter settling.

05 Jan 2011

Updated License information.

23 Jan 2012

Fixed a bug in teh filter settling.

15 Mar 2012

Fixed a bug in the processing of short time records. This fix will improve accuracy of low frequencies.

Tag Activity for this File
Tag Applied By Date/Time
noise Edward Zechmann 23 Dec 2008 14:24:14
nth octave Edward Zechmann 23 Dec 2008 14:24:14
octave Edward Zechmann 23 Dec 2008 14:24:14
a Edward Zechmann 23 Dec 2008 14:24:14
c Edward Zechmann 23 Dec 2008 14:24:14
weighting Edward Zechmann 23 Dec 2008 14:24:14
filter Edward Zechmann 23 Dec 2008 14:24:14
filtering Edward Zechmann 23 Dec 2008 14:24:14
vibration Edward Zechmann 23 Dec 2008 14:24:14
third Edward Zechmann 23 Dec 2008 14:24:14
sound Edward Zechmann 23 Dec 2008 14:24:14
hand arm Edward Zechmann 08 Jan 2009 13:37:21
hand Edward Zechmann 08 Jan 2009 13:37:21
arm Edward Zechmann 08 Jan 2009 13:37:21

Contact us at files@mathworks.com