Code covered by the BSD License
-
choosebox(varargin)
CHOOSEBOX Two-listed item selection dialog box.
-
selectdlg2( cellItems, guiTit...
selectdlg2 Generate a scrolled matrix of choices for user selection.
-
tableGUI(varargin)
TABLEGUI - Spreadsheet like display and edition of a generic 2D array. By generic it is
-
ACdsgn(Fs)
-
ArgStruct=parseArgs(args,ArgS...
Helper function for parsing varargin.
-
[ ha_chan2, ha_axes2, ha_acce...
% config_ha_accels: Configures the axis directions and channels for accelerometers measuring hand arm vibrations
-
[ wb_chan2, wb_axes2, wb_acce...
% config_wb_accels: Configures the axis directions and channels for accelerometers measuring whole body vibrations
-
[A2, A_str, real_digitsL, rea...
% 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, rea...
% pow10_round: Round a numeric array to a Specified Digits Place
-
[A2, A_str, real_digitsL, rea...
% sd_round: Rounds an array to a specified number of Significant Digits, significant figures, digits of precision
-
[Ad]=filter_attenuation(f, fc...
% filter_attenuation: Nth octave band filter attenuation
-
[B, A]=Nth_octdsgn(Fs, Fc, N,...
-
[B, A]=hand_arm_fil(Fs)
% hand_arm_fil: Calculates the hand arm vibrations filter coefficients
-
[Fsn, p, q, errors]=get_p_q2(...
-
[LeqA, LeqA8, LeqC, LeqC8, Le...
% Leq_all_calc: Calculates levels and peaks for A, C, and linear weighting
-
[SP, vibs, Fs_SP, Fs_vibs, de...
% data_loader2: Loads data specified as sound or vibrations and further specified as data, time increment or sampling rate
-
[SP2, mean_array2, mean1, arr...
% sub_mean: Removes the running average from a time record given a sampling rate and high pass cutoff frequency.
-
[SP2, mean_array2]=sub_mean(S...
% sub_mean: Removes the running average from a time record given a sampling rate and high pass cutoff frequency.
-
[alpha]=t_alpha(t, nu)
% t_alpha: cumulative probability function of the t-distribution,
-
[arms_w, arms8h_w, Dy_w, Dy_5...
% Vibs_calc_hand_arm: Calculates the metrics for the hand arm vibrations
-
[arms_wb, arms8h_wb, VDV_wb, ...
% Vibs_calc_whole_body: Calculates the metrics for the whole body vibrations
-
[buf2, num_files_not_empty]=s...
% splat_cell: Returns a row vector of numbers containng all of the numbers in a cell array
-
[bz, az]=bessel_digital(Fs, F...
% bessel_digital: creates a digital low pass bessel filter of order n
-
[comb_data_buf2]=combine_acce...
% combine_accel_directions_ha: Calculates overall hand arm vibrations acceleration metrics from multiple axis accelerometers.
-
[comb_data_buf2]=combine_acce...
% combine_accel_directions_wb: Calculates overall whole body vibrations acceleration metrics from multiple axis accelerometers.
-
[fc_out, SP_levels, SP_peak_l...
% Nth_oct_time_filter2: Calculates the Nth octave center frequencies, sound levels, peak levels, and time records
-
[fc_out, SP_levels, SP_peak_l...
% fourier_nth_oct_time_filter: Computes fraction octave filters using ffts or hilbert transforms.
-
[fid, mean_vals, max_num_chan...
% print_channel_stats: Print the ststistics for each channel for the impulsive sound table
-
[fid]=print_overall_stats(fid...
% print_overall_stats: Print the overall statistics for the impulsive sound table
-
[filename_base, ext]=file_ext...
% file_extension: separates a filename and path from the file extension
-
[filtercoeffs, filter_types, ...
% whole_Body_Filter: Calculates the filter coefficients for whole body vibrations.
-
[h, h2, wb_th_array]=plot_snd...
% plot_snd_vibs(: plots sound and vibrations data in the time domain
-
[interval, error]=t_confidenc...
% t_confidence_interval: One or two sided confidence interval of standard error with t distribution
-
[m2]=geospace(a, b, n, flag)
% geospace: caculates a geometric sequence or psuedogeometric sequence from a to b with n elements
-
[ndraw, count, count2, error]...
% rand_int: Quckly generates n random integers from a to b integer
-
[num_accels, accel_num_chan, ...
% accel_config: Configures the accelerometer channels given the cell array axes_config
-
[num_accels, accel_num_chan, ...
% config_accels: Configures the accelerometer channels using an input dialog box.
-
[num_channels_a, num_diff_cha...
% table_append_channels: caculates the number of channels of data for making a table
-
[num_samples_ca, s]=num_impul...
% num_impulsive_samples: Counts the number of impulsive noise samples
-
[nums, matches]=find_nums(str...
% find_nums: Finds floating point complex, real, integer, and currency (dollars) numbers in a string
-
[out]=print_data_loader_confi...
% print_data_loader_configuration_table: Prints the variable configuration to a table
-
[pfq]=genHyper(a,b,z,lnpfq,ix...
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, other...
% data_outliers: Determine the outliers and return descriptive statistics
-
[res,raw]=fastmcd(data,option...
version 22/12/2000, revised 19/01/2001,
-
[s]=calc_diff_metrics_cont(s,...
% calc_diff_metrics_cont: Calculates the differences in metrics between pairs of channels: Impulsive Noise Meter
-
[snd, vibras_ha, vibras_wb, v...
% Continuous_Sound_and_Vibrations_Analysis: Loads time records and timeseries, Calculates metrics for sound and vibrations (hand arm and whole body).
-
[t_SP_rs, SP_rs]=resample_plo...
% resample_plot: Resamples a plot to 10000 data points using the max and%min from each bin
-
[t_out, T_out, error1_out, er...
% inverse cumulative probability function, t-distribution
-
[varargout]=convert_double(va...
% This program converts the inputs into double precision arrays. Then
-
[y, x, a]=match_height_and_sl...
% match_height_and_slopes2: creates a quartic with specifed height and slope at the end points.
-
[y2, num_settle_pts, settling...
% filter_settling_data: Creates data to append to a time record for settling a filter
-
[y2]=remove_filter_settling_d...
% remove_filter_settling_data: removes data added to time records to settle the filter
-
[yAC, errors]=ACweight_time_f...
% ACweight_time_filter: Applies an A or C weighting time filter to a sound recording
-
[y]=moving(x,m,fun)
MOVING will compute moving averages of order n (best taken as odd)
-
[y_out, b, a]=bessel_antialia...
% bessel_antialias: applies an antialiasing digital Bessel filter
-
[y_out, t_out, b, a]=bessel_d...
% bessel_down_sample: applies an antialiasing digital Bessel filter
-
[y_out, x_out, y_in]=resample...
% resample_interp3: resamples using interp1 with additional options
-
[yh, B, A, errors]=hand_arm_t...
% hand_arm_time_fil: Calculates the hand arm vibrations filter coefficients and returns the filtered time record
-
[yhw, filtercoeffs, filter_ty...
% whole_body_time_filter: Calculates the whole body vibrations filter coefficients and returns the filtered time record
-
[ytick_m, YTickLabel1, ytick_...
% fix_YTick: Sets appropriate Y-Tick values for small plots
-
channel_data_type_selection(n...
% channel_data_type_selection
-
fastlts(x,y,options)
version 22/12/2000, revised 19/01/2001, 30/01/2003
-
h=subaxis(varargin)
SUBAXIS Create axes in tiled positions. (just like subplot)
-
kurtosis2(x, dimension)
% This program calculates the kurtosis.
-
main_sound_and_vibs
% Main_snd_and_vibs: Main Program for continuous sound and vibrations analysis
-
make_summary_cont_stats_table...
% make_summary_cont_stats_table: Makes a table of the output of the
-
nth_freq_band(N, min_f, max_f...
% nth_freq_band: Calculates the 1/nth octave frequency bands center, lower, and upper bandedge limits
-
psuedo_box(h_array)
-
rmean(y, db_or_lin)
% get_stats: Calculates descriptive statistics for the input variable y.
-
save_a_plot2_audiological(a, ...
% save_a_plot2_audiological: Saves current figure to specified image type.
-
variable_data_type_selection(...
% channel_data_type_selection
-
View all files
from
Continuous Sound and Vibration Analysis
by Edward Zechmann
This program analyzes sound and vibrations data using metrics for continuous noise and vibrations.
|
| [B, A]=hand_arm_fil(Fs)
|
function [B, A]=hand_arm_fil(Fs)
% % hand_arm_fil: Calculates the hand arm vibrations filter coefficients
% %
% % Syntax;
% %
% % [B, A]=hand_arm_fil2(Fs);
% %
% % ********************************************************************
% %
% % Description
% %
% % This program calculates the frequency weighting filter coefficients
% % for the hand-arm vibrations filters.
% %
% % ********************************************************************
% %
% % Input Variables
% %
% % Fs (Hz) is the sampling rate.
% %
% % ********************************************************************
% %
% % Output Variables
% %
% % B, A are the coefficients of the weighting filter.
% %
% % ********************************************************************
% %
% % Program Modified by Edward L. Zechmann
% %
% % created 27 April 2005
% %
% % modified 3 March 2008 updated comments
% %
% % modified 3 September 2008 updated comments
% %
% % modified 16 December 2008 Use convolution to simplify filter
% % coefficients (B1, B2, A1, A2) into
% % arrays B and A.
% %
% % ********************************************************************
% %
% % Please Feel Free to Modify This Program
% %
% filter parameters
f1=6.31;
f2=1258.9;
Q1=0.71;
f3=15.915;
f4=15.915;
Q2=0.64;
K=1;
a1=4*pi^2*f2^2;
b1=2*pi*f3;
g1=2*pi*K*f4^2;
a=2*pi*f1/Q1;
b=4*pi^2*f1^2;
c=2*pi*f2/Q1;
d=4*pi^2*f2^2;
e=2*pi*f4/Q2;
f=4*pi^2*f4^2;
num1=[a1 0 0];
den1=[1 (a+c) (a*c+b+d) (a*d+b*c) b*d];
% Calculate the filter Coefficients for the Band Limiting Filters
[B1, A1] = bilinear(num1, den1, Fs);
num2=[g1 b1*g1];
den2=f3*[1 e f];
% Calculate the filter Coefficients for the Frequency weighting
[B2, A2] = bilinear(num2, den2, Fs);
B=conv(B1, B2);
A=conv(A1, A2);
|
|
Contact us at files@mathworks.com