Iir필터설계
Iir필터와fir필터비교
冷杉필터대신IIR필터를사용하면冷杉필터보다훨씬낮은필터차수로지정된사양세트를충족할수있습니다。Iir필터에비선형위상이있더라도matlab®에서의데이터처리는일반적으로“오프라”으로수행됩니다。즉,필터링을수행하기전에전체데이터시퀀스를사용할수있습니다。따라서비과적위상필터링접근방식(<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/filtfilt.html">filtfilt
함수사용)이허용됩니다。이접근방식에서는iir필터의비선형위상왜곡이제거됩니다。
기본적iir필터
기본적인IIR필터인버터워스,체비쇼프유형我및유형II,타원,베셀모두각기다른방식으로이상적인”벽돌담(砖墙)”필터를근사합니다。
이툴박스에서는아날로그영역및디지털영역모두에서,그리고저역통과,고역통과,대역통과,대역저지구성에서이러한기본적인유형의IIR필터를생성할수있도록함수를제공합니다(베셀필터는아날로그영역만지원됨)。대부분의필터유형의경우통과대역감쇠량과저지대역감쇠량및천이폭측면에서지정된필터사양에맞는최저필터차수를구할수도있습니다。
기타iir필터
직접필터설계함수<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/yulewalk.html" hreflang="en">yulewalk
는지정된주파수-응답함수에가까운크기응답을가지는필터를구합니다。이는다중대역대역통과필터를생성하는한가지방법입니다。
모수적모델링함수또는시스템식별함수를사용하여IIR필터를설계할수도있습니다。이러한함수에대해서는<一个href="//www.tianjin-qmedu.com/kr/help/signal/ug/parametric-modeling.html" class="a" hreflang="en">参数化建模一个>에설명되어있습니다。
일반화된버터워스설계함수<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/maxflat.html" hreflang="en">maxflat
에대해서는<一个href="//www.tianjin-qmedu.com/kr/help/signal/ug/iir-filter-design.html" class="intrnllnk">일반화된버터워스필터설계一个>섹션에설명되어있습니다。
Iir필터방법약
다음표에는툴박스의다양한필터방법에대한요약과함께이러한방법을구현하는데사용할수있는함수가나열되어있습니다。
툴박스필터방법과사용가능한함수
필터 방법 | 설명 | 필터 함수 |
---|---|---|
아날로그프로토타이핑 |
연속적인(라플라스)영역에서기본적인저역통과프로토타입필터의극점과영점을사용하여주파수변환및필터이산화를통해디지털필터를구합니다。 |
완전설계함수:<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/besself.html"> 차수추정함수:<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/buttord.html"> 저역통과아날로그프로토타입함수:<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/besselap.html" hreflang="en"> 주파수변환함수:<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/lp2bp.html" hreflang="en"> 필터이산화함수:<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/bilinear.html"> |
직접 설계 |
조각별선형크기응답의근삿값을계산하는방식으로이산시간영역에서직접디지털필터를설계합니다。 |
|
일반화된버터워스설계 |
극점보다점이많은저역통과버터워스필터를설계합니다。 |
|
모수적모델링 |
미리정해진시간、역응답또는주파수、미리정해진시간、역응답을근사하는디지털필터를구합니다。광범위한모수적모델링툴모음은系统辨识工具箱™문서를참조하십시오。 |
시간역모델링함수:<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/lpc.html"> 주파수역모델링함수:<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/invfreqs.html" hreflang="en"> |
아날로그프로토타이핑을사용하는기본적iir필터설계
이툴박스에서제공하는주요IIR디지털필터설계기법은기본적인저역통과아날로그필터를디지털필터로변환하는것을기반으로합니다。다음섹션에서는필터를설계하는방법을설명하고지원되는필터유형의특성에대한요약을제공합니다。필터설계절차에대한세부단계는<一个href="//www.tianjin-qmedu.com/kr/help/signal/ug/special-topics-in-iir-filter-design.html" class="a" hreflang="en">IIR滤波器设计专题一个>항목을참조하십시오。
완전히기본적iir필터설계
필터설계함수를사용하여저역통과,고역통과,대역통과또는대역저지구성으로임의차수의필터를손쉽게생성할수있습니다。
필터설계함수
필터 유형 |
설계 함수 |
---|---|
베셀(아날로그만) |
|
버터워스 |
|
체비쇼프유형我 |
|
체비쇼프유형 |
|
타원 |
|
기본적으로이들함수는각각저역통과필터를반환합니다。따라서나이퀴스트주파수가1Hz가되도록원하는차단주파수Wn
만정규화된단위로지정해야합니다。고역통과필터라면함수의파라미터목록에“高”
를추가하십시오。대역통과필터나대역저지필터라면통과대역경계주파수를포함하는,요소를2개가진벡터로Wn
을지정하십시오。대역저지구성의경우에는“停止”
을추가하십시오。
다음은디지털필터의몇가지예입니다。
[b,a] =黄油(5,0.4);%低通巴特沃斯[b,a] = cheby1(4,1,[0.4 0.7]);带通切比雪夫型[b,a] = cheby2(6,60,0.8,“高”);%高速切比雪夫II型[b,a] = ellip(3,1,60,[0.4 0.7],“停止”);%带阻椭圆
시뮬레이션을위해아날로그필터를설계하려면후행“年代”
를사용하여차단주파수를단위rad/s로지정하십시오。
[b,a] =黄油(5,0.4,“年代”);%模拟巴特沃斯滤波器
모든필터설계함수는설정된출력인수의개수에따라전달함수,영점——극점-이득,또는상태공간선형시스템모델표현으로필터를반환합니다。일반적으로전달함수형식은반올림오차로인한수치적문제가발생할수있기때문에사용하지않도록합니다。대신,<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/zp2sos.html" hreflang="en">zp2sos
를사용하여2차섹션형(SOS)으로변환할수있는영점——극점-이득형식을사용한후SOS형식을사용하여필터를분석하거나구현하십시오。
참고
기본적인IIR저역통과필터는차단주파수가매우낮은경우나쁜조건상태가됩니다(坏心肠的)。따라서,매우좁은통과대역을가지는저역통과IIR필터를설계하는대신넓은통과대역을설계하고입력신호를데시메이션하는것이더적합할수있습니다。
주파수주파수역사양에맞는iir필터설계하기
이툴박스에서는차수선택함수를제공합니다。이함수를사용하여주어진일련의요구사항을충족하는최소필터차수를계산할수있습니다。
필터 유형 |
차수추정함수 |
---|---|
버터워스 |
|
체비쇼프유형我 |
|
체비쇼프유형 |
|
타원 |
|
이러한함수는필터설계함수와함께사용하는경우에유용합니다。1000 hz ~ 2000 hz의통과대역,양쪽에서500 hz떨어진저지대역시작값,10 khz샘플링주파수,최대1 db의통과대역리플,최소60 db의저지대역감쇠량을가지는대역통과필터가필요하다고가정하겠습니다。다음과같이黄油
함수를사용하여이러한사양을충족할수있습니다。
[n,Wn] =黄油([1000 2000]/5000,[500 2500]/5000,1,60)[b,a] =黄油(n,Wn);
n = 12 Wn = 0.1951 0.4080
동일한구사항을충족하는타원필터는다음과같이지정됩니다。
(n, Wn) = ellipord((1000 2000) / 5000(500 - 2500) / 5000, 1、60)[b] = ellip (60 n 1, Wn);
n = 5 Wn = 0.2000 0.4000
이러한함수는기타` ` ` ` `준대역구성은물론,아날로그필터에도사용할수있습니다。
기본적iir필터유형비교
이툴박스에서는다섯가지유형의기본적인IIR필터를제공하며,각방식별로최적화하여사용할수있습니다。이섹션에서는각각에대한기본적인아날로그프로토타입형식을보여주며주요특성에대한요약을제공합니다。
버터워스필터
버터워스필터는아날로그주파수Ω = 0및Ω =∞에서이상적인저역통과필터응답에대한최적의테일러급수근사(泰勒级数近似)를제공합니다。임의차수n에대해크기제곱응답은이러한위치에서2n - 1제로도함수를가집니다(Ω = 0및Ω =∞에서최대로평탄함).응답은전체적으로단조적(单调)입니다。즉Ω = 0에서Ω =∞까지매끄럽게감소합니다。Ω = 1에서 입니다。
체비쇼프유형我필터
체비쇼프유형我필터는통과대역에동일한리플Rp
dB을결합시켜전체통과대역에서이상적인주파수응답과실제주파수응답사이의절대오차를최소화합니다。저지대역응답은최대로평탄합니다。통과대역에서저지대역으로의천이는버터워스필터보다더빠르게이루어집니다。Ω = 1에서
입니다。
체비쇼프유형ii필터
체비쇼프유형ii필터는저지대역에동일한리플Rs
dB을결합시켜전체저지대역에서이상적인주파수응답과실제주파수응답사이의절대오차를최소화합니다。통과대역응답은최대로평탄합니다。
저지대역은유형我필터만큼빠르게0에도달하지않습니다(짝수값필터차수n의경우0에도달하지않음)。그러나통과대역에리플이없는경우대개중한이점으로작용합니다。Ω = 1에서 입니다。
타원 필터
타원필터는통과대역과저지대역에서등리플을가집니다。이필터는지원되는필터유형의최소차수로필터구사항을충족합니다。필터차수n,통과대역리플Rp
(단위:데시벨),저지대역리플Rs
(단위:데시벨)가주어진경우,타원필터는천이폭을최소화합니다。Ω = 1에서
입니다。
베셀 필터
아날로그베셀저역통과필터는영주파수에서최대로평탄한군지연을가지며전체통과대역에서거의일정한군지연을유지합니다。따라서필터링된신호가통과대역주파수범위에서그파형을유지합니다。아날로그베셀저역통과필터가주파수매핑을통해디지털로변환되면더이상이러한최대평탄속성을가지지않습니다。信号处理工具箱™가제공하는완전한베셀필터설계함수는아날로그에만사용할수있습니다。
베셀필터는일반적으로만족스러운저지대역감쇠량을얻기위해다른필터보다높은필터차수를필요로합니다。Ω = 1에서 입니다。그리고필터차수n이가할수록감소합니다。
참고
위에나온저역통과필터는아날로그프로토타입함수<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/besselap.html" hreflang="en">besselap
,<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/buttap.html">buttap
,<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/cheb1ap.html">cheb1ap
,<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/cheb2ap.html" hreflang="en">cheb2ap
,<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/ellipap.html">ellipap
을사용하여작성되었습니다。이러한함수는1rad/s의차단주파수를갖는적합한유형의n
차아날로그필터에대한점,극점,이득을구합니다。완전한필터설계함수(<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/besself.html">besself
,<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/butter.html">黄油
,<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/cheby1.html">cheby1
,<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/cheby2.html">cheby2
,<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/ellip.html">ellip
)는설계절차의첫번째단계로프로토타이핑함수를호출합니다。자세한내용은<一个href="//www.tianjin-qmedu.com/kr/help/signal/ug/special-topics-in-iir-filter-design.html" class="a" hreflang="en">IIR滤波器设计专题一个>항목을참조하십시오。
유사한플롯을생성하려면n
=5
와 범위Rp
=0.5
및Rs
=20.
을사용하십시오。예를들어,타원필터플롯을생성하려면다음을수행하십시오。
[z,p,k] = ellipap(5,0.5,20);W = logspace(-1,1,1000);H =频率(k*聚(z),聚(p),w);Semilogx (w,abs(h)), grid xlabel(“频率(rad / s)”) ylabel (“级”)
직접iir필터설계
이툴박스에서는이산이툴박스에서는이산역에서의사양을기반으로하여필터를구하는iir설계기법을직접 방법이라는용어를사용하여설명합니다。아날로그프로토타이핑방법과달리,직접설계방법은표준저역통과,고역통과,대역통과또는대역저지구성으로제한되지않습니다。이함수는다중대역등의임의주파수응답을갖는필터를설계합니다。이섹션에서는<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/yulewalk.html" hreflang="en">yulewalk
함수에대해설명합니다。이함수는필터설계에사용하도록특별히고되었습니다。<一个href="//www.tianjin-qmedu.com/kr/help/signal/ug/parametric-modeling.html" class="a" hreflang="en">参数化建模一个>에서는普龙尼방법,선형예측,Steiglitz-McBride방법,역주파수설계와같은직접설계방법으로간주될수도있는기타방법에대해설명합니다。
yulewalk
함수는지정된주파수응답에적합한재귀적iir디지털필터를설계합니다。<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/yulewalk.html" hreflang="en">yulewalk
의이름은필터의분모계수를구하는방법을나타냅니다。이함수는지정된이상적인크기제곱응답의역FFT를구하고결과로생성된자기상관함수샘플을사용하여수정된Yule-Walker방정식의해를구합니다。다음명령문은
[b,a] = yulewalk(n,f,m)
주파수-크기특성이벡터f
와米
에지정된주파수-크기에근사한n
차iir필터에대한n + 1
개분자및분모계수를포함하는행벡터b
와一个
를반환합니다。f
는0부터1까지의범위에속하는주파수점으로구성된벡터입니다(여기서1은나이퀴스트주파수임)。米
은f
에포함된점에서지정된크기응답을포함하는벡터입니다。f
와米
은다중대역응답을포함하여모든조각별선형크기응답을설명할수있습니다。이함수에대응되는fir함수는<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/fir2.html">的故事
이며,이함수도임의조각별선형크기응답을기반으로하여필터를설계합니다。자세한내용은<一个href="//www.tianjin-qmedu.com/kr/help/signal/ug/fir-filter-design.html" class="a">枞树필터설계一个>항목을참조하십시오。
참고로,<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/yulewalk.html" hreflang="en">yulewalk
는위상정보를받지않으며,결과로생성되는필터의최적성에대한명령문은없습니다。
yulewalk
를사용하여다중대역필터를설계하고지정된주파수응답과실제주파수응답을플로팅합니다。
M = [0 0 1 1 0 0 1 1 0 0];F = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1];[b,a] = yulewalk(10,f,m);[h,w] = freqz(b,a,128) plot(f,m,w/pi,abs(h))
일반화된버터워스필터설계
툴박스함수<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/maxflat.html" hreflang="en">maxflat
을사용하면일반화된버터워스필터,즉영점개수와극점개수가다른버터워스필터를설계할수있습니다。이는극점이점보다더많은계산량을필로하는일부구현에서적합합니다。<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/maxflat.html" hreflang="en">maxflat
은<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/butter.html">黄油
함수와동일합니다。단,하나의차수를지정하는대신분자와분모에각각하나씩두개의차수를지정할수있습니다。이러한필터는최대로평탄합니다。이는결과로생성되는필터가어떤분자나분모의차수에대해서도가장적합하다는것을의미합니다。이경우,0과나이퀴스트주파수ω = π에서최대개수의도함수는모두0으로설정됩니다。
예를들어,두차수가동일한경우maxflat
은黄油
와동일합니다。
[b,a] = maxflat(3,3,0.25)
B = 0.0317 0.0951 0.0951 0.0317 a = 1.0000 -1.4590 0.9104 -0.1978
[b,a] =黄油(3,0.25)
B = 0.0317 0.0951 0.0951 0.0317 a = 1.0000 -1.4590 0.9104 -0.1978
그러나,<一个href="//www.tianjin-qmedu.com/kr/help/signal/ref/maxflat.html" hreflang="en">maxflat
을사용하면극점보다점이더많은필터를설계할수있기때문에더유연합니다。
[b,a] = maxflat(3,1,0.25)
B = 0.0950 0.2849 0.2849 0.0950 a = 1.0000 -0.2402
maxflat
에대한세번째입력값은반전력주파수,즉
의크기응답을가지는0에서1사이의주파수입니다。
“符号”
옵션을사용하여최대평탄속성을가지는선형위상필터를설계할수도있습니다。
maxflat (4“符号”, 0.3)
Ans = 0.0331 0.2500 0.4337 0.2500 0.0331
maxflat
알고리즘에대한자세한내용은셀레스닉(Selesnick)및부루스(Burrus)<一个href="//www.tianjin-qmedu.com/kr/help/signal/ug/selected-bibliography.html" class="a">[2]一个>를참조하십시오。