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 40 Downloads (last 30 days) File Size: 144 KB File ID: #22512

Nth_Oct_Hand_Arm_&_AC_Filter_Tool_Box

by

 

22 Dec 2008 (Updated )

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

Octave, Generate Spatial Data, Moving Averages / Moving Median Etc, Progressbar, and Estimatenoise inspired this file.

Required Products Signal Processing Toolbox
MATLAB release MATLAB 7.5 (R2007b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (1)
14 Mar 2012 Jake Zwart  
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.

Contact us