saefilter
Filters a signal with an SAE filter.
Syntax
y = saefilter(x,fs,class)
y = saefilter(x,fs,class,fftsize)
Inputs
- x
- The signal to be filtered. If x is a matrix each column is filtered.
- fs
- The sampling frequency.
- class
- The SAE class of the filter (typically 60, 180, 600 or 1000).
- fftsize
- Size of the fft. (optional)
Outputs
- y
- The filtered signal.
Example
Filter a 200 Hz signal, sampled at 10,000 Hz, with a class 60 filter.
t = [0:0.0001:0.02-0.0001];
input = sin(2*pi*200*t);
plot(t,input);
hold on;
output = saefilter(input, 10000, 60);
plot(t,output);
legend('input','output');
Comments
saefilter is based on SAE paper #810813, "Digital and Analog Filters for Processing Impact Test Data." It uses a frequency domain filter that attenuates 10dB/octave, beginning at 1.65*class.
fs should be at least 10 times class, and will not be accepted if less than 3.3 times as large.
The signal can be zero-padded if desired using fftsize.