6 디지털 필터 구조 (A) - ICDEVICE · 필터 설계 문제는 필터의 형태( iir 또는...

8
6 디지털 필터 구조 (A) 앞장에서는 시간과 주파수 영역에서 이산 시스템의 원리를 공부하였다. 이제부터 이 원리들을 사용하여 디지털 신호를 처리할 것이다. 신호를 처리하기 위하여, 필터(또는 몇몇 책에서는 스펙트럼 분석기라고 한다)라고 하는 시스템을 설계하고 구현해야 한다. 필터 설계 문제는 필터의 형태( IIR 또는 FIR ) 또는 구현 형태(즉, 구조)와 같은 요인에 의해 영향을 받는다. 그러므로, 설계 문제에 관해 논의하기 전에 어떻게 이 필터들을 실제적으로 구현할 수 있는지에 대해 관심을 기울여야 한다. 다른 필터 구조는 또한 다른 설계 방법을 사용하므로 이것은 중요한 문제이다. 앞에서 논의한 바와 같이, IIR 필터들은 무한구간 임펄스 응답을 나타낸다. 이러한 임펄스 응답들 중 몇몇은 유리계수 시스템 함수, 또는 이와 동등한 차분 방정식에 의해 만들어진다. 그러한 필터들은 자기 회귀적 이동 평균(auto - regressive moving average, ARMA), 또는 더 일반적으로 재귀적(recursive) 필터라고 한다. 이렇게 만들 수 없는 IIR 필터들은 비재귀적(nonrecursive) 필터라고 불린다. DSP에서 IIR 필터라 하면 효율적으로 구현할 수 있는 재귀적 필터를 의미한다. 그러므로 이제부터는 IIR 이란 용어를 재귀적 필터를 의미하는 것으로 사용할 것이다. ARMA 필터들은 FIR 필터들인 이동평균 필터들은 포함한다. 그러나, 설계와 구현 FIR 필터들은 IIR 필터들과 구별지어 다룰 것이다. 이 장에서는 먼저 필터 구조를 기술하는데 사용할 기본 구성 블록에 대해 알아본다. 나머지 부분에서는 IIR, FIR, 그리고 격자 필터 구조들 각각에 대해 간략히 기술한다. 이 장의 마지막 부분에서는 CEMTool을 이용하여 디지털 필터를 표현하고 설계하였다. 6.1 기본 소자 차분 방정식에 의한 선형시불변 시스템의 구현은 입출력의 지연값과 중간과정의 신 호를 구할 수 있어야 한다. 신호값의 지연은 과거 신호의 저장을 필요로 한다. 또한, 곱셈 뿐만 아니라, 결과를 더하는 수단도 마련해야 한다. 그러므로 선형 시불변 이 산 시스템을 구현하는데 필요한 기본소자는 가산기, 곱셈기와 지연된 신호값을 저장 하기 위한 메모리 등이다. 다음에서 설명될 이 3가지 소자들은 선형시불변 시스템을 위한 디지털 필터 구조를 기술하는데 필요하다. 이러한 소자들을 그림 6.1에 나타내 었다. · 가산기 : 이 소자는 두 개의 입력과 하나의 출력을 가지고 있고, 그림 6.1(a) 와 같 이 나타낼 수 있다. 3개 또는 더 많은 신호들에 대한 덧셈은 연속적인 2- 입력 가산 기들로 구현할 수 있다. · 곱셈기(이득) : 이것은 단일 입력-단일 출력 소자이고, 그림 6.1(b) 와 같이 나타낼 수 있다. 1을 곱하는 것은 모두 알고 있으므로 명시적으로 나타내지 않는다.

Transcript of 6 디지털 필터 구조 (A) - ICDEVICE · 필터 설계 문제는 필터의 형태( iir 또는...

Page 1: 6 디지털 필터 구조 (A) - ICDEVICE · 필터 설계 문제는 필터의 형태( iir 또는 fir ) 또는 구현 형태(즉, 구조)와 같은 요인에 의해 영향을 받는다.

제 6 장 디지털 필터 구조 (A)

앞장에서는 시간과 주파수 영역에서 이산 시스템의 원리를 공부하였다. 이제부터 이

원리들을 사용하여 디지털 신호를 처리할 것이다. 신호를 처리하기 위하여, 필터(또는 몇몇

책에서는 스펙트럼 분석기라고 한다)라고 하는 시스템을 설계하고 구현해야 한다. 필터

설계 문제는 필터의 형태( IIR 또는 FIR ) 또는 구현 형태(즉, 구조)와 같은 요인에 의해

영향을 받는다. 그러므로, 설계 문제에 관해 논의하기 전에 어떻게 이 필터들을 실제적으로

구현할 수 있는지에 대해 관심을 기울여야 한다. 다른 필터 구조는 또한 다른 설계 방법을

사용하므로 이것은 중요한 문제이다.

앞에서 논의한 바와 같이, IIR 필터들은 무한구간 임펄스 응답을 나타낸다. 이러한 임펄스

응답들 중 몇몇은 유리계수 시스템 함수, 또는 이와 동등한 차분 방정식에 의해 만들어진다.

그러한 필터들은 자기 회귀적 이동 평균(auto-regressive moving average, ARMA), 또는

더 일반적으로 재귀적(recursive) 필터라고 한다. 이렇게 만들 수 없는 IIR 필터들은

비재귀적(nonrecursive) 필터라고 불린다. DSP에서 IIR 필터라 하면 효율적으로 구현할 수

있는 재귀적 필터를 의미한다. 그러므로 이제부터는 IIR 이란 용어를 재귀적 필터를

의미하는 것으로 사용할 것이다. ARMA 필터들은 FIR 필터들인 이동평균 필터들은

포함한다. 그러나, 설계와 구현 FIR 필터들은 IIR 필터들과 구별지어 다룰 것이다.

이 장에서는 먼저 필터 구조를 기술하는데 사용할 기본 구성 블록에 대해 알아본다. 나머지

부분에서는 IIR, FIR, 그리고 격자 필터 구조들 각각에 대해 간략히 기술한다. 이 장의

마지막 부분에서는 CEMTool을 이용하여 디지털 필터를 표현하고 설계하였다.

6.1 기본 소자

차분 방정식에 의한 선형시불변 시스템의 구현은 입출력의 지연값과 중간과정의 신호를 구할 수 있어야 한다. 신호값의 지연은 과거 신호의 저장을 필요로 한다. 또한, 곱셈 뿐만 아니라, 결과를 더하는 수단도 마련해야 한다. 그러므로 선형 시불변 이산 시스템을 구현하는데 필요한 기본소자는 가산기, 곱셈기와 지연된 신호값을 저장하기 위한 메모리 등이다. 다음에서 설명될 이 3가지 소자들은 선형시불변 시스템을 위한 디지털 필터 구조를 기술하는데 필요하다. 이러한 소자들을 그림 6.1에 나타내었다. · 가산기 : 이 소자는 두 개의 입력과 하나의 출력을 가지고 있고, 그림 6.1(a)와 같이 나타낼 수 있다. 3개 또는 더 많은 신호들에 대한 덧셈은 연속적인 2-입력 가산기들로 구현할 수 있다. · 곱셈기(이득) : 이것은 단일 입력-단일 출력 소자이고, 그림 6.1(b)와 같이 나타낼 수 있다. 1을 곱하는 것은 모두 알고 있으므로 명시적으로 나타내지 않는다.

Page 2: 6 디지털 필터 구조 (A) - ICDEVICE · 필터 설계 문제는 필터의 형태( iir 또는 fir ) 또는 구현 형태(즉, 구조)와 같은 요인에 의해 영향을 받는다.

· 지연 소자(이동기(shifter) 또는 메모리) : 이 소자는 그림 6.1(c)에 나타난 바와 같이, 소자를 통과하는 신호를 하나의 샘플만큼 지연시킨다. 디지털 구현에서, 지연연산은 단위 지연이 필요할 때 마다 저장 레지스텨를 사용함으로써 구현된다. 단위 지

연 시스템함수는 로 표현한다. 하나 이상의 샘플만큼 일어나는 지연은 시스템

함수 로 나타낼 수 있으며, 여기서 M은 지연 샘플의 수 이다. 일반적으로 M개 샘플의 지연은 M개의 단위지연을 접속함으로써 얻은 수 있다. 실시간 구현에서, 이들 단위지연은 입력신호의 샘플링 주파수로 클럭신호를 주는 시프트 레지스터의 형태를 띠고 있다.

그림 6.1 3가지 기본 소자

신호 흐름도 표현

이제 앞서 설명한 기본 소자들을 사용하여 차분 방정식을 표현하는 방법으로서 신호흐름도 표현법을 소개한다. 형식적으로, 신호 흐름도는 절점간을 연결하는 직접 연결가지의 망이다. 각 절점에서는 변수 또는 절점값이 대응한다. 절점 와 연관된

값은 로 표기한다. 디지털 필터의 절점변수는 일반적으로 신호이므로 이것을 직

접적으로 나타내기 위하여 으로 표기하기도 한다. ( , )는 절점 에서 시

작하여, 절점 에서 끝나는 가지를 표시하며, 에서 로의 방향은 가지상의 화살표로 나타낸다. 이것이 그림 6.2에 나타나 있다. 각 가지는 입력과 출력을 가진다.

절점 로부터 가지 ( , )인가되는 입력신호는 절점 값 이다. 선형 신호 흐름도에서, 가지의 출력은 가지 입력의 선형 변환이다. 가장 단순한 예가 상수 이득인 경우로서 가지의 출력은 단순히 가지의 상수이득과 입력의 곱이다. 신호 흐름도의 기호를 정의하기 위해, 두 가지 특별한 형태의 절점을 생각한다. 소스 절점(source node)은 유입하는 가지가 없는 절점이다. 소스절점은 흐름도에 접속되는 외부입력 혹은 신호소스를 나타내는데 사용된다. 싱크절점(sink node)은 단지 유입 가지만을 가진다. 싱크절점은 흐름도로부터 출력을 추출하는데 사용된다.

Page 3: 6 디지털 필터 구조 (A) - ICDEVICE · 필터 설계 문제는 필터의 형태( iir 또는 fir ) 또는 구현 형태(즉, 구조)와 같은 요인에 의해 영향을 받는다.

그림 6.2 신호 흐름도에서의 절점과 가지

신호 흐름도의 개념을 차분방정식의 표현에 적용하는 예를 보이기 위해, 다음과 같은 1차 차분 방정식을 생각해 보자.

y(n) = x(n) + ay(n-1) (6.1) 여기서 출력 신호 y(n)이 지연변수 y(n-1)과 차분 방정식 계수 a를 곱한 결과에 x(n)을 더함으로써 계산된다는 것을 나타내고 있다. 이 시스템에 대한 신호 흐름도가 그림 6.3이다. 절점 0은 입력 신호 x(n)에 의해서 값이 결정되는 소스절점이고, 절점 5는 y(n)으로 표기된 싱크절점이다. 여기서 절점 2와 5 그리고 1과 4는 같은 값이다. 지연가지인 (2, 3)을 제외한 모든 가지는 단순 이득으로 표현할 수 있다. 즉, 출력신호의 가지입력의 상수배이다. 지연은 시간영역에서 가지이득으로 표현할 수

없다. 그러나 단위지연의 z변화 표현은 인수 을 곱하는 것이다. 따라서 표기를

간단히 하기 위해서 지연가지는 가지이득 으로 나타내며 그런 가지의 출력은 지연된 가지입력으로 이해한다.

그림 6.3 시스템 (6.1)의 필터구조

Page 4: 6 디지털 필터 구조 (A) - ICDEVICE · 필터 설계 문제는 필터의 형태( iir 또는 fir ) 또는 구현 형태(즉, 구조)와 같은 요인에 의해 영향을 받는다.

이제 이러한 신호 흐름도를 사용하여, IIR 필터와 FIR 필터의 다양한 구조들을 설명할 수 있다.

6.2 IIR 필터 구조 (1)

이 절에서는 선형시불변 시스템(필터)의 신호 흐름도 표현을 공부하고, 보편적으로 사용되는 몇 가지 다른 구조도 알아본다. 동일한 차분방정식 구조에서 등가인 구조는 아주 다양하게 존재하는 데, 그 중에서 하나를 선택할 때 고려할 것은 계산의 복잡성이다. 예를 들면, 어떤 디지털 구현에서 상수 곱셈기와 지연가지의 수가 최소인 구조가 바람직 할 경우가 있다. 이 것은 일반적으로 곱셈은 디지털 하드웨어에서 시간이 걸리고 비용이 드는 연산이며, 지연소자는 메모리 레지스터에 대응하기 때문이다. 결과적으로 상수 곱셈기 갯수의 감소는 속도의 증가를 의미하며, 지연소자의 감소는 기억용량의 감소를 의미한다. 그 외에, 칩 면적이 효율성의 중요한 척도인 VLSI 구현에서 더욱 미묘한 절충안이 생긴다. 그러한 구현에서는 모듈성과 칩에서의 데이터 전송의 간편성이 매우 바람직 할 경우가 종종 있다. 멀티 프로세서 구현에 있어, 가장 중요한 고려사항은 유한 레지스터 길이와 유한 정밀도 연산 효과이다. 이들 효과는 계산방법, 즉 신호흐름도의 구조에 달려 있다. 최소 개수의 곱셈기와 지연소자를 가지지 않는 구조이지만 유한 레지스터 길이 효과에 덜 민감하다면, 이 구조를 사용하는 것이 바람직 한 경우도 있다. 이 절에서는 선형시스템 IIR 시스템을 구현하는데 가장 널리 사용되는 데 몇 가지 형태와 그들의 흐름도를 설명한다. IIR 필터의 시스템 함수는 다음과 같이 주어진다.

여기서 과 은 필터의 계수들이다. 일반적으로 이라고 가정하였다. 만

약 이라면, 그러한 IIR 필터의 차수는 N이 된다. IIR 필터의 차분 방정식 표현은 다음과 같다.

IIR 필터를 구현하기 위하여 세 개의 다른 구조들을 사용한다.

Page 5: 6 디지털 필터 구조 (A) - ICDEVICE · 필터 설계 문제는 필터의 형태( iir 또는 fir ) 또는 구현 형태(즉, 구조)와 같은 요인에 의해 영향을 받는다.

· 직접형(Direct form) : 이 형태에서는 차분 방정식 식(6.3)를 주어진 대로 직접(direct) 구현한다. 신호 흐름도에서 하나의 절점이 두 개의 입력을 초과하지 않도록 흐름도를 도시하는 것에 주목해야 한다. 이 필터에는 이동 평균 부분과 재귀 (recursive) 부분(또는 이와 동등하게 분자 부분과 분모 부분)의 두 가지 부분이 있다. 따라서 이를 구현하는데는 다음의 두 가지 방법이 있다 : 제 I 직접형 구조와 제 II 직접형 구조가 있으며 추후 설명한다.

· 종속형(Cascade form) : 이 형태에서 방정식 (6.2) 의 시스템 함수 는 바이쿼드(biquad)라 불리는 더 작은 2차의 부분들로 인수 분해된다. 그리고 나서, 전체 시스템 함수를 이러한 바이쿼드들의 곱으로 나타낸다. 각각의 바이쿼드는 직접형으로 구현하고, 전체 시스템 함수는 이러한 바이쿼드 부분들의 종속(cascade)으로 구현한다.

· 병렬형(Parallel form) : 이것은 종속형과 비슷하나, 를 더 작은 2차 부분들의 합으로 나타내기 위하여 인수분해 후에 부분 분수 전개를 사용한다. 각 부분은 다시 직접형으로 구현하고, 전체 시스템 함수는 이러한 부분들의 병렬(parallel) 회로망으로 구현한다.

이 절에서는 이런 형태들에 대해 간단히 알아본다. IIR 필터들은 보통 유리수 형태(직접형 구조)의 시스템 함수를 사용하여 나타낸다.

직접형(Direct form)

이름이 암시하는 바와 같이, 지연소자, 곱셈기, 가산기들을 사용하여 차분 방정식

(6.3)를 주어진 대로 구현한다. 예를 들기 위해 라 하자. 그러면 차분 방정식은

이 되고, 그림 6.4와 같이 구현할 수 있다. 이 블록선도를 제 I 직접형 구조라고 한다.

Page 6: 6 디지털 필터 구조 (A) - ICDEVICE · 필터 설계 문제는 필터의 형태( iir 또는 fir ) 또는 구현 형태(즉, 구조)와 같은 요인에 의해 영향을 받는다.

그림 6.4 제 I 직접형 구조

제 I 직접형 구조는 유리 함수 의 각 부분을 개별적으로, 부분들간의 종속 접속을 통해 구현한다. 분자 부분은 탭지연선(tapped delay line)이고 분모부분은, 귀환 탭지연선으로 되어있다. 그러므로 이 구조는 두 개의 개별적인 지연선을 가지고 있고, 8개의 지연 소자들을 필요로 한다. 종속형으로 접속된 두 부분들의 앞뒤 순서를 바꾸면, 지연 소자의 개수를 줄여 하나의 지연선을 없앨 수 있다. 이제 두 지연선은 서로 접하게 되고, 단일 이득 분기점으로 연결이 된다. 그러므로 그림 6.5에 보인 바와 같이, 하나의 지연선을 제거할 수 있고, 결과로 제 II 직접형 구조라고 하는 표준형 구조를 만들 수 있다. 이 두 가지 직접형들은 입력과 출력의 측면에서는 동등하다는 것을 주목해야 한다. 그러나. 내부적으로는 다른 신호들을 가지고 있다.

그림 6.5 제 II 직접형 구조

Page 7: 6 디지털 필터 구조 (A) - ICDEVICE · 필터 설계 문제는 필터의 형태( iir 또는 fir ) 또는 구현 형태(즉, 구조)와 같은 요인에 의해 영향을 받는다.

종속형(Cascade form)

이 형태에서 시스템 함수 는 실수 계수를 갖는 2차 부분들의 곱으로 나타낸다. 이것은 분자와 분모의 다항식을 각각의 근들로 인수분해하고 나서, 복소수 켤레근 쌍, 또는 어떤 두 실근을 조합하여 2차의 다항식을 만듦으로써 가능해진다. 지금부터 이장 끝까지 N이 짝수 라고 가정할 것이다. 그러면

여기서 K 는 과 같고, 는 2 차 부분들의 계수를 나타내는 실수들이다. 2 차 부분은 다음과 같다.

여기서

이다. 이 2차 부분을 k번째 바이쿼드 부분이라 한다. k번째 바이쿼드 부분의 입력은 (k-1)번째 바이쿼드 부분의 출력이다. 동시에 k번째 바이쿼드 부분의 출력은 (k+1)

번째 바이쿼드 부분의 입력이 된다. 이제 각각의 바이쿼드 부분 는 그림 6.6와 같은 제 II 직접형으로 구현할 수 있다. 그리고 나서 전체 필터를 바이쿼드 부분들의 종속으로 구현한다.

Page 8: 6 디지털 필터 구조 (A) - ICDEVICE · 필터 설계 문제는 필터의 형태( iir 또는 fir ) 또는 구현 형태(즉, 구조)와 같은 요인에 의해 영향을 받는다.

그림 6.6 바이쿼드 부분 구조

예를 들어 N=4 인 경우를 생각해 보자. 그림 6.7는 4차 IIR 필터의 종속형 구조를 보여준다.

그림 6.7 N=4 인 경우의 종속형 구조