How to choose stopband ripple and passband ripple of filter for High pass filter

26 views (last 30 days)
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
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
Mathieu NOE
Mathieu NOE on 20 Sep 2021
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');

Sign in to comment.

More Answers (0)

Categories

Find more on Digital and Analog Filters in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!