Matlab low-pass filter implementation and transfer function

Click For Summary
SUMMARY

This discussion focuses on implementing a low-pass filter in MATLAB to clean noise from tactile vibration signals sampled at 5000Hz. The user seeks to create a transfer function for the human finger using a second-order Butterworth low-pass filter (LPF) with a cutoff frequency of 50Hz. The implementation utilizes the built-in MATLAB functions "butter" for filter coefficients and "filter" to apply the filter to the signal. The discussion also mentions that these functions are available in the Signal Processing Toolbox, which is included in a standard MATLAB installation.

PREREQUISITES
  • Understanding of MATLAB programming
  • Familiarity with digital signal processing concepts
  • Knowledge of low-pass filter design, specifically Butterworth filters
  • Basic understanding of Fast Fourier Transform (FFT) for frequency analysis
NEXT STEPS
  • Explore MATLAB's Signal Processing Toolbox for additional filtering techniques
  • Learn about the implementation of different filter types, such as FIR and IIR filters
  • Study the Fast Fourier Transform (FFT) in MATLAB for frequency domain analysis
  • Research the application of transfer functions in modeling biological systems
USEFUL FOR

This discussion is beneficial for engineers and researchers working in fields related to signal processing, particularly those focusing on tactile feedback systems, as well as MATLAB users looking to implement filtering techniques in their projects.

philnev
Messages
2
Reaction score
0
Hey guys,

Basically, I have been doing some testing with regards to tactile vibrations (I know that isn't very electrical) and using a HET have developed several amplitude plots in the time domain. I've been sampling at 5000Hz and I want to remove the noise from my signals to leave me with a clean (hopefully!) sine wave. I then want to use this wave, along with another amplitude-time graph (basically a side profile of the sample used for testing) in order to produce a transfer function for the human finger. I undersrtand that Matlab can do this for me but I can't figure out how!

Sorry if I've posted this in the wrong area, can anyone help!?
 
Physics news on Phys.org
You don't say what type of filter or what cutoff frequency etc that you require? I'll give you an example anyway. Below is an IIR implementation of a 2nd order Butterworth LPF with 50Hz cutoff frequency.

Code:
fs=5000;                    % Sample Freuency
fn=fs/2;                    % Nyquist Frequency
fc=50;                      % Desired Cutoff frequency (example)
[b,a]=butter(2,fc/fn);      % IIR Filter coefficients, b=num, a=denom
xf=filter(b,a,x);           % apply filter to x

BTW. "filter" is an inbuilt function whereas "butter" (and other filter implementations) usually come with a signal processing toolbox. Both are available with a standard installation of gnu octave.
 
Last edited:
I knew I would forget to add something! The cut-off frequency is a little vague to me at the moment as I have not been able to ascertain the absolute frequency of the signal through FFT. Thanks very much for your reply though, it definitely helps with matlab!
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 5 ·
Replies
5
Views
6K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 4 ·
Replies
4
Views
7K
  • · Replies 11 ·
Replies
11
Views
4K
  • · Replies 13 ·
Replies
13
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
6K
Replies
1
Views
2K
Replies
4
Views
3K