Problem plotting frequency response of a lowpass butterworth filter
1 回表示 (過去 30 日間)
古いコメントを表示
I had this working fine for a Bessel filter, but then I switched over to Butterworth and broke it. I think there's something I'm not understanding about the cuttoff frequency or the output of the freqs function and how it differs from Bessel. Here's a link to the file I imported.
%% load stuff
M = readtable('dB Technologies T4 PS1.xlsx','Sheet','TF'); % Import transfer function data with Frequency, Magnitude, Phase (deg), and Coherence
%% create filter
[b,a] = butter(2,100/(96000/2)); % Data in my file above originally sampled at 96kHz
%% convert to freq response
w = M.Frequency_Hz;
h = freqs(b,a,w);
magdB = mag2db(abs(h));
%% Plot
semilogx(w,magdB)
I'm expecting the output to look something like the Bessel filter did (in orange):
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/345243/image.png)
0 件のコメント
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Analog Filters についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!