필터 지우기
필터 지우기

lowpass butterworth magnitude response

조회 수: 1 (최근 30일)
Võ Trung
Võ Trung 2022년 12월 18일
댓글: Võ Trung 2022년 12월 18일
Guys, im doing this matlab file for my assignment. I must have the magnitude response starts at 40db at 0khz.
My idea is that it should be 0db at 0 frequence in the magnitude response so that i can mulplify k*100 to satisfy this. But its over 200 from the start. I have no idea what to do. Please explain to me. Thank you

채택된 답변

Paul
Paul 2022년 12월 18일
Hi Võ
The zp2sos command in the code returns a second output, g, which is a gain that has to be applied to the filter response.
Here is the code
Fs = 44100; %tan so lay mau
Fn = Fs/2;
Wp = 2500/Fn; %tan so bien dai thong
Ws = 4000/Fn; %tan so biet dai chan
Rp = 3; %do loi dai thong
Rs = 55; %do loi dai chan
%thiet ke va tim bac bo loc
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
[z,p,k] = butter(n,Wn);
%ve dap ung xung cho 100 trong so
[sos,g] = zp2sos(z,p,k);
Plotting the response of the sos portion.
freqz(sos)
The value of g is
g
g = 1.1602e-11
which can be converted to dB, and we see that applying it to the filter would result in 0 dB gain at dc
20*log10(g)
ans = -218.7093
Alternatively, use the single output form of zp2sos the gain will be embedded in the sos, resulting in it having the expected response.
sos = zp2sos(z,p,k);
freqz(sos)
  댓글 수: 1
Võ Trung
Võ Trung 2022년 12월 18일
it's clear to me now , thank you so much.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Digital Filter Analysis에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by