How to choose stopband ripple and passband ripple of filter for High pass filter
You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Show older comments
0 votes
I am using high pass filter.
Data known:
Cutoff 10Hz. Sampling frequency 50KHz.
How can I choose stopband ripple and passband ripple ? Based on what criteria?
Accepted Answer
Mathieu NOE
on 16 Sep 2021
hello
why not start with simpler filters like butterworth or bessel filters ?
. If you don't have any specific requirement for stopband ripple and passband ripple , here you can start play with that :
Fs = 50e3;
samples = 5000;
dt = 1/Fs;
t = (0:samples-1)*dt;
y = 3*sign(sin(2*pi*50*t)); % signal - adjust amplitude to your needs
% high pass filter : Butterworth filter
NN = 2; % filter order
fc = 10; % cut off frequency (Hz)
Wn = fc/(Fs/2); % normalized cut off frequency
[B,A] = butter(NN,Wn,'high');
y_filtered = filter(B,A,y); % signal (after HP filtering)
figure(1)
plot(t,y,t,y_filtered);legend('signal','HP filtered signal');
12 Comments
632541
on 16 Sep 2021
Can you please alter for fir filters with the same requirements
Mathieu NOE
on 17 Sep 2021
You have a very low cut off frequency (10 Hz) compared to the sampling frequency (50 kHz)
this will generate a very long FIR flters (> 5,000 coefficients) wich is not very efficient . Why not stick with an low order IIR filter ?
do you really need a 50 kHz sampling rate ?
How does sampling and cutoff related (50KHz is less or more?) ...
What makes the difference if i choose IIR in this case?(though this is related to DSP please clear my doubts)
Mathieu NOE
on 17 Sep 2021
For a FIR filter , the lower the (normalized) frequency , the longer the filter (in this examlple we are talking about coefficients length in thousands ! )
for a IIR filter , the amount of coefficient is much less , but as we have poles , we must be carefull in DSP implementation (instabilities dues to accumulation of round off errors)
the best method is to convert any filter into "biquad" sections - there are plenty of publications about biquad implementation on DSP
632541
on 17 Sep 2021
Mathieu NOE
on 17 Sep 2021
my pleasure
I know desired cut-off frequency(10Hz).
How do I select the fpass and fstop frequencies?
Mathieu NOE
on 20 Sep 2021
hello
what filter are we talking ? FIR / IIR ?
for a bessel or butterworth IIR filter , there is only 2 parameters (order and cut off frequency)
632541
on 20 Sep 2021
IIR filter,
Order also not known
Only cutoff and sampling frequency are known.
Mathieu NOE
on 20 Sep 2021
ok , so why not use bessel or butterworth IIR filter ?
632541
on 20 Sep 2021
yes, going with butterworth filter design order to be set.
How to choose that
well, choosing a filter means you know what portion of the spectrum should be attenuated ... what is the goal here ? are you not able to do your code based on my first suggestion ?
Fs = 50e3;
samples = 5000;
dt = 1/Fs;
t = (0:samples-1)*dt;
y = 3*sign(sin(2*pi*50*t)); % signal - adjust amplitude to your needs
% high pass filter : Butterworth filter
NN = 2; % filter order
fc = 10; % cut off frequency (Hz)
Wn = fc/(Fs/2); % normalized cut off frequency
[B,A] = butter(NN,Wn,'high');
y_filtered = filter(B,A,y); % signal (after HP filtering)
figure(1)
plot(t,y,t,y_filtered);legend('signal','HP filtered signal');
More Answers (0)
Categories
Find more on Analog Filters in Help Center and File Exchange
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)