Code covered by the BSD License
- ArgStruct=parseArgs(args,...Helper function for parsing varargin.
- [A2, A_str, real_digitsL,...% m_round: Rounds an array to a specified number of significant digits or a specified digits place: significant figures, sigfigs
- [A2, A_str, real_digitsL,...% pow10_round: Round a numeric array to a Specified Digits Place
- [A2, A_str, real_digitsL,...% sd_round: Rounds an array to a specified number of Significant Digits, significant figures, digits of precision
- [Ad]=filter_attenuation(f...% filter_attenuation: Nth octave band filter attenuation
- [C, y, X, n, p, error1]=L...% LMS_trim: Randomly trims the input data arrays and combinataions of data points.
- [Fsn, p, q, errors]=get_p...
- [LMSout, blms, Rsq, error...% LMTSregor: Estimates the best fit line through tthe origin using a random trimming and least median squares
- [LeqA, LeqA8, LeqC, LeqC8...% Leq_all_calc: Calculates levels and peaks for A, C, and linear weighting
- [Pa]=dB_to_Pa(dB, ref)
% written by Edwdard Zechmann
- [SP, vibs, Fs_SP, Fs_vibs...% data_loader2: Loads data specified as sound or vibrations and further specified as data, time increment or sampling rate
- [SP2, mean_array2, mean1,...% sub_mean: Removes the running average from a time record given a sampling rate and high pass cutoff frequency.
- [SP2, mean_array2]=sub_me...% sub_mean: Removes the running average from a time record given a sampling rate and high pass cutoff frequency.
- [SP_local_max2, indices2,...% localpeaks: Finds impulsive peaks and returns the amplitudes and indices
- [SP_maxa, index_maxa]=pea...% peak_index: Finds the highest data point centered about center_bin
- [a, at2, at1]=A_duration(...% A_duration: Calculates the A-duration for impulsive noise
- [a, b_mil, c, d, ee]=abcd...% abcd_durations: Calculates the A, B, C, and D durations for impulsive noise
- [alpha]=t_alpha(t, nu)
% t_alpha: cumulative probability function of the t-distribution,
- [b, pp, sf, Lpt2, Lpt1, B...% B_mil_1474D_duration: Calculates the B-duration according to MIL-STD-1474D Requirement 4.
- [b_min, b, p2]=E_duration...% E_duration: Calculates the E-duration for impulsive noise
- [buf2, num_files_not_empt...% splat_cell: Returns a row vector of numbers containng all of the numbers in a cell array
- [bz, az]=bessel_digital(F...% bessel_digital: creates a digital low pass bessel filter of order n
- [c, c2, error_cond, t_a]=...% C_duration: Calculates the C-duration for impulsive noise
- [d, ddd, ee, tau_fit, y2,...% D_duration: Calculates the D-duration for impulsive noise
- [dB]=Pa_to_dB(p, ref)
- [fc_out, SP_levels, SP_pe...% fourier_nth_oct_time_filter: Computes fraction octave filters using ffts or hilbert transforms.
- [fid, mean_vals, max_num_...% print_channel_stats: Print the ststistics for each channel for the impulsive sound table
- [fid]=print_outliers_indi...% written by Edward L. Zechmann 11 January 2009
- [fid]=print_overall_stats...% print_overall_stats: Print the overall statistics for the impulsive sound table
- [filename_base, ext]=file...% file_extension: separates a filename and path from the file extension
- [gm]=geomean2(y, dim)
% geomean2: Calculates the geometric mean
- [h, h2, indices2]=plotpea...% plotpeaks: finds peaks, plots peaks, then outputs impulsive noise metrics
- [h, h2, wb_th_array]=plot...% plot_snd_vibs(: plots sound and vibrations data in the time domain
- [interval, error]=t_confi...% t_confidence_interval: One or two sided confidence interval of standard error with t distribution
- [m2]=geospace(a, b, n, fl...% geospace: caculates a geometric sequence or psuedogeometric sequence from a to b with n elements
FINDEXTREMA - finds minima and maxima of data
- [maix, epts]=threshold_bi...
- [metrics, metric_str, met...% snd_peak_metrics: Calculates impulsive sound metrics including Nth octave band Leqs and peak levels
- [ndraw, count, count2, er...% rand_int: Quckly generates n random integers from a to b integer
- [num_samples_ca, s]=num_i...% num_impulsive_samples: Counts the number of impulsive noise samples
- [nums, matches]=find_nums...% find_nums: Finds floating point complex, real, integer, and currency (dollars) numbers in a string
- [out]=print_data_loader_c...% print_data_loader_configuration_table: Prints the variable configuration to a table
- [pc_ix, pc_int]=find_prev...% find_previous_crossing: finds previous crossing above or below p_value
- [peak_indices, gp, Pa_pea...% peak_ix: Locates peaks for acoustic impulsive noise
- [pfq]=genHyper(a,b,z,lnpf...function [pfq]=genHyper(a,b,z,lnpfq,ix,nsigfig)
- [prms]=rms_val(p, dim)
% rms_val: Calculates the rms value along a specific dimension
- [ptsa, nptsa, rt_stats, o...% data_outliers: Determine the outliers and return descriptive statistics
- [res,raw]=fastmcd(data,op...version 22/12/2000, revised 19/01/2001,
- [rt, pz_ix, pl_ix, ph_ix]...
- [s, round_kind, round_dig...% Impulsive_Noise_Meter: Loads sound time records, finds Peaks, calculates impulsive sound metrics
- [s]=calc_diff_metrics(s, ...% calc_diff_metrics: Calculates the differences in metrics between pairs of channels: Impulsive Noise Meter
- [sf, sf2, ctime, spa, mpa...% B_Duration_second_flucts: Calculates the secondary fluctuations for the B-duration of impulsive noise
- [t_SP_rs, SP_rs]=resample...% resample_plot: Resamples a plot to 10000 data points using the max and%min from each bin
- [t_out, T_out, error1_out...% inverse cumulative probability function, t-distribution
- [varargout]=convert_doubl...% This program converts the inputs into double precision arrays. Then
- [y, t]=analytic_impulse(F...% analytic_impulse: Impulsive noise with known peak level, frequency, duration
- [y, x, a]=match_height_an...% match_height_and_slopes2: creates a quartic with specifed height and slope at the end points.
- [y2, num_settle_pts, sett...% filter_settling_data: Creates data to append to a time record for settling a filter
- [y2]=remove_filter_settli...% remove_filter_settling_data: removes data added to time records to settle the filter
- [yAC, errors]=ACweight_ti...% ACweight_time_filter: Applies an A or C weighting time filter to a sound recording
MOVING will compute moving averages of order n (best taken as odd)
- [y_out, b, a]=bessel_anti...% bessel_antialias: applies an antialiasing digital Bessel filter
- [y_out, t_out, b, a]=bess...% bessel_down_sample: applies an antialiasing digital Bessel filter
- [y_out, x_out, y_in]=resa...% resample_interp3: resamples using interp1 with additional options
- [ytick_m, YTickLabel1, yt...% fix_YTick: Sets appropriate Y-Tick values for small plots
- channel_data_type_selecti...% channel_data_type_selection
CHOOSEBOX Two-listed item selection dialog box.
estimatenoise: additive noise estimation from a time series
- fastlts(x,y,options)version 22/12/2000, revised 19/01/2001, 30/01/2003
- findjobj(container,vararg...findjobj Find java objects contained within a specified java container or Matlab GUI handle
Compute an optimal threshold for seperating the data into two classes .
- gp=peak_threshhold_functi...% peak_threshhold_function2: Calculates a threshold for finding peaks
SUBAXIS Create axes in tiled positions. (just like subplot)
- kurtosis2(x, dimension)% This program calculates the kurtosis.
% Main_Sound: Main Program for the Impulsive Noise Meter and outputs a table of impulsive noise metrics
- make_summary_impls_stats_...% make_summary_impls_stats_table: Makes a summary table of the output of the Impulsive_Noise_Meter; Impulse, Impulsive, Noise, Sound, Meter
MAXIMIZE Maximize a figure window to fill the entire screen
- nth_freq_band(N, min_f, m...% nth_freq_band: Calculates the 1/nth octave frequency bands center, lower, and upper bandedge limits
- peakfinder(x0, thresh, ex...PEAKFINDER Noise tolerant fast peak finding algorithm
- rmean(y, db_or_lin)
% get_stats: Calculates descriptive statistics for the input variable y.
- save_a_plot2_audiological...% save_a_plot2_audiological: Saves current figure to specified image type.
- selectdlg2( cellItems, gu...selectdlg2 Generate a scrolled matrix of choices for user selection.
TABLEGUI - Spreadsheet like display and edition of a generic 2D array. By generic it is
- variable_data_type_select...% channel_data_type_selection
WSMOOTH 1D and 2D robust smoothing.
View all files
Impulsive Noise Meter
22 Oct 2009
(Updated 25 Sep 2012)
Calculates Impulsive noise metrics for hazardous acoustic noise assessment.
Watch this File
|Comments and Ratings (1)
|21 Oct 2011
|07 Oct 2010
Added rise time calculation and improved the filters.
|13 Feb 2011
Fixed bugs in peak finding and calculating the B-mil standard duration.
|25 Sep 2012
Updated the third octave band filters to optionally use fourier transforms and run 10 times faster.