How do I decide what Rp and Rs values to use in a lowpass elliptic filter?

4 次查看(过去 30 天)
Hi,
I need to process some EMG data using a lowpass elliptic filter (6th order) to find signal onsets based on the apporach used here://www.sciencedirect.com/science/article/pii/S0921884X96951905)... But the Rp and Rs values used to design the filter was not stated in the paper... How should I decide what Rp and Rs parameters should be uses?
Was planning to get the filter coefficients using: [b,a]=ellip(6,Rp,Rs,(Low_Freq/(Sample_Rate/2)),'low');
And then apply the filter using: EMG_Data= filtfilt(b,a,Data);
Does that sound correct?
Thanks, Jack

回答(2 个)

Juan Camilo Medina
Juan Camilo Medina 2013-2-28
Couple of things:
Low_Freq should be approx: Sample_Rate/4/1.3 to prevent noise from aliasing into the low frequency regions. In other words, the bandwidth plus roll-off of the filter should be less than half of the nyquist freq.
Rp controls the rippling in the low frequencies. It all depends on what you want to do, but I suggest [0.5-0.2]
Rs controls the distance (amplitude) of the filtered frequencies relative to the unfiltered frequencies. I suggest Rs > 40 db
To apply the filter I would use: "filter" (>> help filer)

Jack
Jack 2013-2-28
编辑:Jack 2013-2-28
Hi Juan,
Thanks for the reply...
1. Would you have a referenced for the Sample_Rate/4/1.3 to prevent noise aliaising? Should I do this for all filters (e.g. butterworth 2nd ord bandpass or butter lowpass)?
2. I was wanting to use the filtfilt function for zero phase distortion.. What is the benefit of using the filter function?
Regards, Jack

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by