How to find out roll-off from magnitude response of filter in matlab

14 visualizaciones (últimos 30 días)
632541
632541 el 23 de Sept. de 2021
Comentada: 632541 el 23 de Sept. de 2021
How to find out roll-off from magnitude response of filter in matlab?
This is from doc frequency response of matlab site

Respuestas (1)

Chunru
Chunru el 23 de Sept. de 2021
fs = 2000;
[b,a] = butter(9,400/(fs/2));
[h, f] = freqz(b,a,16384,fs);
h = 20*log10(abs(h));
[~, i3db] = min(abs(h - 10*log10(1/2)));
f3db = f(i3db);
plot(f, h);
xline(f3db)
grid on
ylim([-60 0])
  8 comentarios
Chunru
Chunru el 23 de Sept. de 2021
Shouldn't you come out your design first?
632541
632541 el 23 de Sept. de 2021
Please have a look at it
fs= 50e3;
cutOff= 5;
order = 3;
t=0:1/fs:1-(1/fs);
Sig=sin(2*pi*200*t)+sin(2*pi*150*t);
noise=2*rand(size(t))+sin(2*pi*1*t)+sin(2*pi*5*t)+sin(2*pi*3*t)+sin(2*pi*7*t)+sin(2*pi*11*t)+sin(2*pi*0.5*t)+sin(2*pi*0.2*t);
noisySig = Sig+noise;
wn= 2*cutOff/fs;
[B, A] = butter(order,wn,'high');
freqz(B,A); %%Freq response of filter
filteredData=filtfilt(B,A,noisySig);

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by