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

19 Ansichten (letzte 30 Tage)
632541
632541 am 23 Sep. 2021
Kommentiert: 632541 am 23 Sep. 2021
How to find out roll-off from magnitude response of filter in matlab?
This is from doc frequency response of matlab site

Antworten (1)

Chunru
Chunru am 23 Sep. 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 Kommentare
Chunru
Chunru am 23 Sep. 2021
Shouldn't you come out your design first?
632541
632541 am 23 Sep. 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);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu PHY Components finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by