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

6 Ansichten (letzte 30 Tage)
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?

Akzeptierte Antwort

Mathieu NOE
Mathieu NOE am 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 Kommentare
632541
632541 am 20 Sep. 2021
yes, going with butterworth filter design order to be set.
How to choose that
Mathieu NOE
Mathieu NOE am 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');

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by