How to Determine the Cutoff Frequency of Butterworth Low-Pass Filter When Filtering an EMG Signal ?
13 views (last 30 days)
Show older comments
How to Determine the Cutoff Frequency of Butterworth Low-Pass Filter When Filtering an EMG Signal ?
I have an EMG Signal,and I want to use Butterworth Low-pass Filter of it;
The Matlab code for Butterworth Filter is :
[b,a] = butter (Order,Cutoff Freq/(sampling Freq/2),'Filter type');
b,a : Outputs
butter ; Buterworth Filter command
Order ; for first order write (1),Second order write (2) ...etc
Cutoff Freq ; cutoff frequency
Sampiling Freq ; Sampiling Frequency
Filter Type : Low-Pass Filter (low) High-Pass Filter (high)
[b,a] = butter (Order,Cutoff Freq/(sampling Freq/2),'Filter type');
is there a method or code to calculate Cutoff Frequency rather than trail and erorr ?
0 Comments
Accepted Answer
Star Strider
on 18 Dec 2022
Use the fft or pspectrum functions to calculate the Fourier transform of the EMG data. Use that result to define the frequencies of interest and whatever could be considered ‘noise’, and then design the filter (usually lowpass or bandpass) to pass the desired frequencies and eliminate the noise. Also, while I have nothing against Butterworth filters, in general elliptic filters are more computationally efficient. (See: ellipord, ellip, zp2sos and filtfilt for details and other necessary information.)
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!