Creating a Chebychev Type 1 and Butterworth Notch filter

조회 수: 3 (최근 30일)
Terry Carney
Terry Carney 2021년 5월 14일
댓글: Terry Carney 2021년 5월 15일
Hello,
I'm trying to create both a Chebychev Type 1 and Butterworth Notch filter. The filters have to produce a min attenuation of 60dB at 10Hz, with a rippe of .01dB. However, I keep getting a syntax error that I'm confused with: "The cutoff frequencies must be within the interval of (0,1)."
I guess I'm confused on how to interpret this information into code, along with filtfilt and fvtool. Is this the expected value?
%Setting up signal:
fs = 200; %Sample Frequency
Ts = 1/fs; %Sample Period
t = 0:Ts:9.9950;
x = load("data2.txt");
plot(t,x);
%My cheby1 example
b = cheby1(2,.01,.1)
x2 = filtfilt(b,1,x)
fvtool(b,1)
plot(t,x2)
I'm assuming if I'm on the right track with cheby1, butterworth should be similar.
  댓글 수: 4
Mathieu NOE
Mathieu NOE 2021년 5월 15일
hello
below a minor bug correction, as the cheb filter has a numerator (B) and a denominator (A) (you put 1 there which is not correct)
otherwise the rest is fine
%Setting up signal:
fs = 200; %Sample Frequency
Ts = 1/fs; %Sample Period
t = 0:Ts:9.9950;
%x = load("data2.txt");
x = randn(length(t),1);
plot(t,x);
%My cheby1 example
fc = 10;
[B,A] = cheby1(2,.01,fc/(fs/2))
x2 = filtfilt(B,A,x)
fvtool(B,A)
plot(t,x2)
Terry Carney
Terry Carney 2021년 5월 15일
I figured it out. Thank you though.

댓글을 달려면 로그인하십시오.

답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by