Normalization of a given filter to have unity gain at DC

조회 수: 13 (최근 30일)
Vittorio
Vittorio 2013년 10월 7일
댓글: Vittorio 2013년 10월 8일
Hello everyone,
As the title says, I should find a general way to normalize some filters to have unity gain at DC. My filters are an Hanning window (note that b/d and a/c are the vectors in which are reported the coefficients of, respectively, numerator and denominator of the transfer function of the filters)
b = [0.25 0.5 0.25];
a = [1 0 0];
And a derivative-based filter:
d = [1 -1];
c = [1 -0.95]
Any help will be greatly appreciated.

채택된 답변

Honglei Chen
Honglei Chen 2013년 10월 8일
I don't quite understand your question. For example, in your filter formed by d and c, it has a null at DC, how do you expect it to have a unit gain at DC?
In general, if you have filter coefficients b and a, the DC gain is given by sum(b)/sum(a). You can just scale the filter response accordingly.
  댓글 수: 1
Vittorio
Vittorio 2013년 10월 8일
Yes, what you said is correct. In fact, I resolved my issue by just scaling:
[h,w] = freqz(b,a,500,1000); %frequency response of the filter H = b/a
scale = 1/max(abs(h)); %scaling factor
b = b*scale; %scale*H
Thank you for your answer!

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

추가 답변 (0개)

커뮤니티

더 많은 답변 보기:  Power Electronics Community

카테고리

Help CenterFile Exchange에서 Analog Filters에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by