디지털 신호처리의 기본
지금까지 DSP 등의 특수한 프로세서를 사용하지 않으면 실현하기 어려웠던 디지털 신호처리가 퍼스널 컴퓨터의 처리속도 향상과 C언어 프로그래밍의 보급 등으로 아주 가까운 존재로 변하고 있다. 디지털 신호처리라 하면 처음부터 매우 난해한 것으로 생각하고, 피해 통과하려는 경향이 있는 것 같은데, 완성된 프로그램을 사용하여 필요한 처리를 하게 하는 것은 통상적인 소프트웨어(이를테면 워드 프로세서 등)와 다를 바 없다. 본고에서는 아날로그와 디지털의 차이를 알아보고, 아울러 그 특징과 기술에 대해서 알아 본다. 1. 아날로그와 디지털 아날로그 신호라든가 디지털 신호라는 용어는 흔히듣는 말이지만. 도대체 이 두 신호는 어디가 다른 것일까? 전기의 세계에서는 전자회로가 지시하는 신호를 정해진 상태에 대응시켜 생각하는데, 여기서 그생각하는 방법이 아날로그와 디지털에서는 크게 다른 것이다. 아날로그 신호란 호로가 지시하는 전아이나 전류가 모든 정보에 대응시켜 생각하는데 비해. 디지털 회로에서는 '0'과 '1'이라는 두 종류의 논리에 대응한 전압의 조합이 정보로 표현된다. 그러므로, 아날로그 신호에서는 미소한 잡음 등의 혼입도 정보에 영향을 주기 때문에 고도한 회로기술이 요구되는 경우가 적지 않다. 그러나, 디지털 신호의 경우는 약간의 잡음이 혼입되도 정보에는 영향을 주지 않느다. 그러므로 디지털 신호쪽이 정보의 가공이나 보존 등을 간단히 할 수 있다고 하는 잇점이 있다. 아날로그 신호의 경우는 노이즈를 제거하려고 하면 원래 파형의 정보에까지 영향을 미칠지도 모르지만, 디지털 신호의 경우는 파형정형 처리를 하는 정도로, 원래 파형의 정보에 영햐을 주지 않고 간단하게 노이즈를 제거하여 정보를 전달할 수 있다는 것을 이해할 수 있으리라 생각한다. 여기서 최근 전자 디바이스(부품)의 처리 속도의 향상에는 주목할 만한 것이 있는데, 종래에는 아날로그로 처리하지 않으면 안되었던 것도 디지털로 처리할 수 있게 되고있다. 이러한 잇점을 최대로 활용한 것이 이제부터 해설하는 디지털 신호처리인 것이다. 이 정도 설명하면 "앞으로 아날로그 기술은 필요없게 되는 것이 아닌가?" 하는 생각을 하는 사람도 있을지 모를지만 그러한 일은 없다. 우리 주변에서 흔히 대하는 사건은 대부분이 아날로그 그 사상이므로, 디지털 회로와 접속하기 위해서는 여하튼 아날로그 기술을 피해서 통과할 수는 없다. 그러므로 필요가 없어지는 것이 아니라, 디지털 기술의 진화에 수반하여 보다 고도한 아날로그 기술이 요구되는 것이다. 2. 디지털 신호 디지털 신호라는 말은 대부분 들은 적이 있을 것으로 생각한다. 그러면 디지털로 신호를 처리한다는 것은 도대체 어떻게 하는 것일까? 디지털 신호처리의 기본적인 흐름을 설명하겠다. i. 시그날 컨디셔너 자연계의 물리 현상을 계측하여 컴퓨터 등으로 분석하려는 경우, 대상이 되는 물리 현상을 전용의 센서를 사용하여 전기신호로 변환하지 않으면 안된다. 그러나 이 신호는 아주 미약한 전압의 신호이거나, 센서의 입출력 관계가 비선형인 경우도 있는 것이 대부분이다. 게다가 셋서에 따라서는 전압 출력형이 아니라, 전류 출력형의 센서도 있다. 그러므로 후처리를 고려한 크기으 전압신호로 변환할 필요가 있다. 이를테면 센서 출력전압이 미소 신호의 경우는 프로앰프를 사용하여 최적의 크기로 증폭하고, 과대한 신호의 경우는 감쇠기를 사용하여 감쇠시킨다. 센서의 출력이 전류신호인 경우는 전압신호로 변환하지 않으면 안된다. 이러한 신호의 컨디션을 갖추는 것이 시그널 컨디셔너(signal conditioner)이다. 후처리에서 사용하는 전압으로서는 +-10V, +-5V가 일반적이다. 그 외에 비디오 신호 등의 고속신호를 취급하는 경우는 +-1V, +-0.5V 등이 사용된다. ii. 안티 에일리어싱 필터 아날로그 데이터를 디지털 데이터로 변환할 때는 일정 간격마다 데이터를 변환해 간다. 이 변환시간을 T라 하면 1/T(시간)를 샘플링 주파수를 고속으로 하면 할수록 원래의 아날로그 데이터에 가까운 형태의 데이터를 얻을 수 있다. 그러나, 샘플링 주파수를 너무 빠르게 하면 데이터 수가 방대한 수로 되어 버리기 때문에, 후처리에 시간이 너무 많이 걸린다고 하는 문제점이 발생한다. 한편, 샘플링 주파수가 너무 느리면 원래 파형의 데이터를 잃어버리게 된다. 그러므로, A/D 변환을 하여 퍼스널 컴퓨터에 데이터를 수납하려고 할 때에는 입력의 신호정보를 잃지 않고, 게다가 데이터 수가 가급적 적은 것이 바람직하다고 할 수 있다. 이 기준을 정의한 것이 "샘플링의 정리"라 부르는 것이다. 샘플링의 정의는 다음과 같다. "취급하는 신호의 주파수를 f(Hz0, 샘플링 주기를 t(s)라고 한 경우, 원래 신호 파형의 성분을 손상시키지 않기 위 해서는 t <= 1/2f를 만족시키지 않으면 안된다. 그러면 샘플링의 정리를 만족시키지 않고 느린 샘플링 주파수로 A/D 변환을 실행한 경우, 어떻게 될까? 샘플링 주파수가 샘플링의 정리를 만족시키지 않고 느린 경우는 원래의 신호 주파수 성분에 마치 높은 주파수가 겹쳐 있는 것 같은 A/D 변환 결과가 얻어지고 만다. 이와 같은 현상을 에일리어싱(aliasing)이라 부르고 있다. 그러면 샘플링의 정리를 만족시키지 않고 느린 샘플링 주파수로 A/D변환을 실행한 경우, 어떻게 될까? 에일리어싱을 방지하고 A/D 변환을 하는 경우에는 A/D 변환에 입력하는 아날로그 신호의 높은 주파수 성분을 커트하고 나서 입력할 필요가 있다. 이 A/D 컨버터의 전단에 설치하는 로패스 필터를 안티 에일리어싱 필터(anti-aliasing filter)라 부른다. 간단한 곳에서는 C와 R만으로 구성되는 로패스 필터를 사용해도 된다. iii. 샘플 홀드 회로 A/D 변환 실행중에 입력전압이 변동하게 되면 A/D 변환 데이터가 부정의 값으로 되어 버리므로 A/D 변환의 개시부터 종료까지는 입력전압을 같은 전압으로 유지해 둘 필요가 있다. 여기서 필요하게 되는 것이 샘플 홀드(sample & hold) 회로이다. 샘플홀드 회로는 통상 샘플 상태에 있고, 버퍼 앰프로서 동작하고 있지만, A/D 변환이 개시됨과 동시에 그 시점의 전압을 유지한다. 그리고, A/D 변환이 종료하면 다시 샘플 상태로 되돌아가며, 버퍼 앰프로 동작한다. 최근에는 A/D 컨버터 칩에 샘플 홀드 회로를 내장하고 있는 것이 많으며, 샘플 홀드 회로를 외부에 부착하는 것은 적어지고 있다. 다채널의 A/D 변환 시스템에 있어서는 복수의 입력신호를 멀티플렉서로 전환하여, 하나의 A/D 변환기로 다채널의 신호를 취급한다. 그렇게 하면 여하튼, 채널간에 위상차가 생기고 만다. 이와 같은 문제를 해결하는 경우는 멀티플렉서 전단에 채널 수만큼 샘플 홀드 회로를 외부에 설치하는 경우도 있다. iv. A/D 컨버터 우리주변의 사건은 아날로그의 사상이 많다는 것은 이미 설명했는데, 이들 사상을 컴퓨터에 받아들여 분석사려고 하면 어떤 수법을 사용하여 아날로그 데이터를 디지털 데이터로 변환하지 않으면 않된다. 그래서, 등장한 것이 A/D 변환이다. A/D 변환이란, 연속적으로 변환하는 아날로그 데이터량을 일정시간 간격으로 이산적인 디지털 데이터 량으로 변화시키는 수법을 말한다. 아날로그 데이터를 A/D 컨버터를 사용하여 디지털화하느 것을 양자화 한다고도 한다. A/D 변환을 할 때에 중요한 것은 입력신호의 성질(dynamic range, 입력 레인지, 주파수 범위 등)을 고려하여, A/D 변환을 한다는 것이다. 이 성질을 무시하고 A/D 변환을 해 버리면 아날로그 신호와 디지털 신호간에 인과성이 없어져 무엇을 계측하고 있는지를 알 수 없게 되는 경우가 일어난다. v. DSP A/D 컨버터에 의해 디지털화된 데이터는 퍼스널 컴퓨터 등에 입력되어 계산 처리된다. 계산처리는 리얼타임으로 실시되며, 디스플레이 상에서 모니터하면서 파일링을 한다는 식으로 처리가 행해진다. 여기서 문제가 되는 것이 퍼스널 컴퓨터의 처리 속도에 대한 문제이다. 통상 신호처리에 사용되는 계산 알고리즘은 복잡한 것이 많기 때문에 퍼스널 컴퓨터가 리얼타임으로 처리를 할 수 없게 되어버리는 경우가 있다. 그와 같은 문제를 해결하기 위해 등장한 것이 DSP라 부르는 전용의 칩이다. DSP는 종래의 CPU에 비해 계산 처리속도가 대폭 향샹되어 있다. DSP의 특징으로는 내부 버스의 폭이 넓고, 1클록으로 1명령 이상의 실행이 가능하며, 승가산(sum of products) 연산처리를 아주 고속으로 할 수 있다는 점 등을 들 수 있다. 신호처리 전용의 칩이라 할 수 있을 것이다. DSP의 문제점으로는 통상적인 CPU에 비해 개발환경이 특수하고, 칩 메이커에 따라 각각 개발 환경이 다르다는 점 등을 들 수 있다.DSP가 리얼타임 신호처리의 핵심 디바이스임에는 틀림없다. 그러나 신호처리에 꼭 DSP와 같은 전용 칩이 필요한가 하면 그렇지 않다. 최근 퍼스널 컴퓨터의 처리속도의 향상은 놀라울 정도이다. 전용 칩의 신세를 지지 않아도 손쉽게 신호처리를 할 수 있게 된 것이다. vi. D/A 컨버터 DSP에서 계산 처리된 결과를 이용하여 외부 기기를 컨트롤하려는 경우가 종종 생기게 된다. 그러나 때는 A/D 변환과는 반대로 퍼스널 컴퓨너내의 디지털 데이터를 아날로그 전압이나 전류로 변환하여 외부 기기를 컨트롤하게 된다. 이를 위한 수법을 D/A 변환이라 부른다. D/A 컨버터의동작은 입력된 디지털 코드를 아날로그 전압이나 전류로 출력하는 것이다.A/D 컨버트의 샘플링 속도에 대응하는 파라미터로 세트링 타임이라는 것이있다. 세트링 타임이란, 입력에 디지털 모드가 세트되고나서 아날로그 전압이 출력되기까지의 시간을 나타내는 것으로, D/A 컨버터 선택시의 가장 중요한 파라미터이다. vii. 스무징 필터 D/A 변환후의 데이터는 계단 형상의 데이터이므로, 불필요한 주파수 성분을 함유하고 있다.이 주파수 성분을 스프리어스 노이즈(spurious noise:위조 잡음)라 부른다. 스푸리어스 노이즈를 제거하기 위해서는 안티 에일리어싱 필터와 동등한 로패스 필터를 D/A 컨버터의 출력에 설치할 필요가 있다. 이 필터를 스무징 필터(smoothing filter)라 부르며, 필터의 차단주파수는 안티 에일리어싱 필터와 동일하게 하는 것이 일반적이다. viii. 파워 엠프 D/A 변환된 아날로그 데이터는 최종적으로 외부 기기를 컨트롤하는데 사용되는데 이를테면 스피커나 모터 등을 들 수 있다. 이들 기기를 컨트롤하기 위해서는 전력 증폭을 할 필요가 있다. 이를테면 모터를 제어하는 경우는 PWM(Pulse Width Modulation) 방식 등이 흔히 사용된다. PWM 제어는 직류 모터 등의 회전속도 제어에 많이 사용되는 수법으로, 모터를 저속으로 회전시키거나 할 때에 회전이 안정되고, 전체의 소비전력이 낮게 억제된다는 등의 잇점이 있다. 3. 디지털 신호의 특징 그러면 디지털 신호처리의 잇점이란 어떤 것일까. 그것은 소프트웨어의 변경만으로 시스템의 처리 내용을 변경할 수 잇으므로 유연한 시스템을 구축할 수 잇다는 점, 설계부터 시공까지 아날로그 회로와 같은 섬세한 부분이 없다는 점, 설계대로 성능이 엳어진다는 점 등을 들 수 있다. 게다가 중요한 것은 퍼스널 컴퓨터의 고속화와 저가격화가 디지털 신호처리에 따라서는 바람직하다는 것이다. 종래는 비싼 전용기를 사용하여 디지털 신호처리를 하지 않으면 않되었지만, 비싼 전용기는 높은 성능을 가지고 있는 반면 기기 간의 데이터 호환성이 없거나, 데이터를 가공하기 어렵다고 하는 불리한 점도 많이 있다. 그러나, 퍼스널 컴퓨터를 사용할 수 있으면 저가격으로, 또한 높은 안정성, 그 외에도 호환성이 높은 시스템을 구축할 수 있다. 4. A/D 컨버터 관계 용어 *분해능 :분해능이란, A/D 또는 D/A 컨버터에 허용되는 풀 스케일(최대 입력전압)을 어느 정도 미세하게 분해할 수 있는가를 나타내는 값이다. n비트의 A/D, D/A 컨버터는 1/2n의 분해능을 가지고 있다. *유효비트 :A/D 컨버트의 분해능은 세밀할수록 A/D 컨버터의 정밀도는 높아지지만, 분해능=정밀도의 관계에 있다고는 단정할 수 없다. 실제로는 주변회로를 포함한 노이즈 등의 문제에 따라 정밀도는 분해능까지 높아지지 않는다.유효 비트란, 시스템 전체의 비트 정밀도를 가르킨다. *다이내믹 레인지 :분해능이 낮은 A/D 컨버터를 사용하여 A/D변환을 하는 경우, 큰 진폭의 입력신호를 취급하는 경우는 문제가 없지만, 취급 신호 레벨이 낮아지면 A/D 변환을 할 수 없게 될 위험성이 있다. 그러나 신호처리 시스템의 입력신호 진폭은 미소신호부터 큰 신호까지 변화하는 경우가 많다. 즉 이것을 넓은 다이내믹 게인지(dynamic range)가 요구된다고 말한다. *오프셋오차 : A/D컨버터는 입력이 0V일때 당연히 출력도 0V에 대응한 디지털 코드로 되지 않으면 안된다. 그러나 실제로는 주변회로나 온도 등의 영향으로 오차가 발생한다. 이것을 오프셋 오차라 부르고 있다. *이득 오차 :원래, A/D 컨버터의 0 스케일과 풀스케일을 연결하는 직선은 A/D컨버터 출력값의 이상적인 직선과 일치하지 않으면 안된다. 그러나, 실제로는 오프셋 전압과 마찬가지로, 주변회로나 온도의 영향으로 이상적인 직선과 편차를 일으키게 된다. 이것을 이득 오차라 부르고 있다. *양자화 오차 :A/D컨버터는 아날로그 전압을 일정시간(샘플링 주기)으로 잘라내어, 잘라낸 시점에서 그 전압을 사사오입하여 디지털 코드로 출력하는 식으로 동작한다. 따라서 엄밀한 의미로, 정확한 전압값과 오차가 발생한다. 이 오차를 양자화 오차라 부른다. 5. 신호처리는 DSP인가, 퍼스널 컴퓨터인가 지금까지 신호처리라고 하면 DSP로 하는 것으로 생각해 왔다. 그러나 현재의 퍼스널 컴퓨터의 처리 능력은 대단히 향상되고 있다. 그래서 신호처리는 어느 쪽에서 하는 것이 바람직한지, 이에 대해 생각해 보기로 한다. 먼저, 프로그램 개발 환경에서 생각해 보면 퍼스널 컴퓨터용으로 많은 언어처리 소프트웨어나 디버거(debugger)가 준비되어 있고, 게다가 수십만원대 이하의 저가격이다. 이에 대하여 DSP에서는 모두가 전용 소프트웨어로 되기 때문에 수백만원 정도가 되는 겨우가 허다하다. 성능적인 면에서는 DSP의 경우 연산처리에 관해서는 뛰어나지만, 그 이외의 처리에서는 별로 나을 것이 없다. 신호처리를 응용한 제품 개발로 되면 연산 처리만 빠르다고 해서 모든 것이 시원하게 해결되는 것이 아니다는 것은 말할 필요도 없다. 특히 최근의 멀티미디어 정보를 취급하기 위해서는 화면 표시 능력이 중요하다. 그 때문에 연산처리만 DSP가 담당하고, 그 외는 범용 CPU가 담당하는 시스템이 많이 있는 것 같다. 만일, 퍼스널 컴퓨터의 연산처리 능력으로 충분히 대응할수 있는 응용 분야라면 그 분야에서 퍼스널 컴퓨터 이용은 결정적이다. DSP는 한층 고속의 응용 분야를 지향해야 할 것이다.
지금까지 DSP 등의 특수한 프로세서를 사용하지 않으면 실현하기 어려웠던 디지털 신호처리가 퍼스널 컴퓨터의 처리속도 향상과 C언어 프로그래밍의 보급 등으로 아주 가까운 존재로 변하고 있다. 디지털 신호처리라 하면 처음부터 매우 난해한 것으로 생각하고, 피해 통과하려는 경향이 있는 것 같은데, 완성된 프로그램을 사용하여 필요한 처리를 하게 하는 것은 통상적인 소프트웨어(이를테면 워드 프로세서 등)와 다를 바 없다. 본고에서는 아날로그와 디지털의 차이를 알아보고, 아울러 그 특징과 기술에 대해서 알아 본다. 1. 아날로그와 디지털 아날로그 신호라든가 디지털 신호라는 용어는 흔히듣는 말이지만. 도대체 이 두 신호는 어디가 다른 것일까? 전기의 세계에서는 전자회로가 지시하는 신호를 정해진 상태에 대응시켜 생각하는데, 여기서 그생각하는 방법이 아날로그와 디지털에서는 크게 다른 것이다. 아날로그 신호란 호로가 지시하는 전아이나 전류가 모든 정보에 대응시켜 생각하는데 비해. 디지털 회로에서는 '0'과 '1'이라는 두 종류의 논리에 대응한 전압의 조합이 정보로 표현된다. 그러므로, 아날로그 신호에서는 미소한 잡음 등의 혼입도 정보에 영향을 주기 때문에 고도한 회로기술이 요구되는 경우가 적지 않다. 그러나, 디지털 신호의 경우는 약간의 잡음이 혼입되도 정보에는 영향을 주지 않느다. 그러므로 디지털 신호쪽이 정보의 가공이나 보존 등을 간단히 할 수 있다고 하는 잇점이 있다. 아날로그 신호의 경우는 노이즈를 제거하려고 하면 원래 파형의 정보에까지 영향을 미칠지도 모르지만, 디지털 신호의 경우는 파형정형 처리를 하는 정도로, 원래 파형의 정보에 영햐을 주지 않고 간단하게 노이즈를 제거하여 정보를 전달할 수 있다는 것을 이해할 수 있으리라 생각한다. 여기서 최근 전자 디바이스(부품)의 처리 속도의 향상에는 주목할 만한 것이 있는데, 종래에는 아날로그로 처리하지 않으면 안되었던 것도 디지털로 처리할 수 있게 되고있다. 이러한 잇점을 최대로 활용한 것이 이제부터 해설하는 디지털 신호처리인 것이다. 이 정도 설명하면 "앞으로 아날로그 기술은 필요없게 되는 것이 아닌가?" 하는 생각을 하는 사람도 있을지 모를지만 그러한 일은 없다. 우리 주변에서 흔히 대하는 사건은 대부분이 아날로그 그 사상이므로, 디지털 회로와 접속하기 위해서는 여하튼 아날로그 기술을 피해서 통과할 수는 없다. 그러므로 필요가 없어지는 것이 아니라, 디지털 기술의 진화에 수반하여 보다 고도한 아날로그 기술이 요구되는 것이다. 2. 디지털 신호 디지털 신호라는 말은 대부분 들은 적이 있을 것으로 생각한다. 그러면 디지털로 신호를 처리한다는 것은 도대체 어떻게 하는 것일까? 디지털 신호처리의 기본적인 흐름을 설명하겠다. i. 시그날 컨디셔너 자연계의 물리 현상을 계측하여 컴퓨터 등으로 분석하려는 경우, 대상이 되는 물리 현상을 전용의 센서를 사용하여 전기신호로 변환하지 않으면 안된다. 그러나 이 신호는 아주 미약한 전압의 신호이거나, 센서의 입출력 관계가 비선형인 경우도 있는 것이 대부분이다. 게다가 셋서에 따라서는 전압 출력형이 아니라, 전류 출력형의 센서도 있다. 그러므로 후처리를 고려한 크기으 전압신호로 변환할 필요가 있다. 이를테면 센서 출력전압이 미소 신호의 경우는 프로앰프를 사용하여 최적의 크기로 증폭하고, 과대한 신호의 경우는 감쇠기를 사용하여 감쇠시킨다. 센서의 출력이 전류신호인 경우는 전압신호로 변환하지 않으면 안된다. 이러한 신호의 컨디션을 갖추는 것이 시그널 컨디셔너(signal conditioner)이다. 후처리에서 사용하는 전압으로서는 +-10V, +-5V가 일반적이다. 그 외에 비디오 신호 등의 고속신호를 취급하는 경우는 +-1V, +-0.5V 등이 사용된다. ii. 안티 에일리어싱 필터 아날로그 데이터를 디지털 데이터로 변환할 때는 일정 간격마다 데이터를 변환해 간다. 이 변환시간을 T라 하면 1/T(시간)를 샘플링 주파수를 고속으로 하면 할수록 원래의 아날로그 데이터에 가까운 형태의 데이터를 얻을 수 있다. 그러나, 샘플링 주파수를 너무 빠르게 하면 데이터 수가 방대한 수로 되어 버리기 때문에, 후처리에 시간이 너무 많이 걸린다고 하는 문제점이 발생한다. 한편, 샘플링 주파수가 너무 느리면 원래 파형의 데이터를 잃어버리게 된다. 그러므로, A/D 변환을 하여 퍼스널 컴퓨터에 데이터를 수납하려고 할 때에는 입력의 신호정보를 잃지 않고, 게다가 데이터 수가 가급적 적은 것이 바람직하다고 할 수 있다. 이 기준을 정의한 것이 "샘플링의 정리"라 부르는 것이다. 샘플링의 정의는 다음과 같다. "취급하는 신호의 주파수를 f(Hz0, 샘플링 주기를 t(s)라고 한 경우, 원래 신호 파형의 성분을 손상시키지 않기 위 해서는 t <= 1/2f를 만족시키지 않으면 안된다. 그러면 샘플링의 정리를 만족시키지 않고 느린 샘플링 주파수로 A/D 변환을 실행한 경우, 어떻게 될까? 샘플링 주파수가 샘플링의 정리를 만족시키지 않고 느린 경우는 원래의 신호 주파수 성분에 마치 높은 주파수가 겹쳐 있는 것 같은 A/D 변환 결과가 얻어지고 만다. 이와 같은 현상을 에일리어싱(aliasing)이라 부르고 있다. 그러면 샘플링의 정리를 만족시키지 않고 느린 샘플링 주파수로 A/D변환을 실행한 경우, 어떻게 될까? 에일리어싱을 방지하고 A/D 변환을 하는 경우에는 A/D 변환에 입력하는 아날로그 신호의 높은 주파수 성분을 커트하고 나서 입력할 필요가 있다. 이 A/D 컨버터의 전단에 설치하는 로패스 필터를 안티 에일리어싱 필터(anti-aliasing filter)라 부른다. 간단한 곳에서는 C와 R만으로 구성되는 로패스 필터를 사용해도 된다. iii. 샘플 홀드 회로 A/D 변환 실행중에 입력전압이 변동하게 되면 A/D 변환 데이터가 부정의 값으로 되어 버리므로 A/D 변환의 개시부터 종료까지는 입력전압을 같은 전압으로 유지해 둘 필요가 있다. 여기서 필요하게 되는 것이 샘플 홀드(sample & hold) 회로이다. 샘플홀드 회로는 통상 샘플 상태에 있고, 버퍼 앰프로서 동작하고 있지만, A/D 변환이 개시됨과 동시에 그 시점의 전압을 유지한다. 그리고, A/D 변환이 종료하면 다시 샘플 상태로 되돌아가며, 버퍼 앰프로 동작한다. 최근에는 A/D 컨버터 칩에 샘플 홀드 회로를 내장하고 있는 것이 많으며, 샘플 홀드 회로를 외부에 부착하는 것은 적어지고 있다. 다채널의 A/D 변환 시스템에 있어서는 복수의 입력신호를 멀티플렉서로 전환하여, 하나의 A/D 변환기로 다채널의 신호를 취급한다. 그렇게 하면 여하튼, 채널간에 위상차가 생기고 만다. 이와 같은 문제를 해결하는 경우는 멀티플렉서 전단에 채널 수만큼 샘플 홀드 회로를 외부에 설치하는 경우도 있다. iv. A/D 컨버터 우리주변의 사건은 아날로그의 사상이 많다는 것은 이미 설명했는데, 이들 사상을 컴퓨터에 받아들여 분석사려고 하면 어떤 수법을 사용하여 아날로그 데이터를 디지털 데이터로 변환하지 않으면 않된다. 그래서, 등장한 것이 A/D 변환이다. A/D 변환이란, 연속적으로 변환하는 아날로그 데이터량을 일정시간 간격으로 이산적인 디지털 데이터 량으로 변화시키는 수법을 말한다. 아날로그 데이터를 A/D 컨버터를 사용하여 디지털화하느 것을 양자화 한다고도 한다. A/D 변환을 할 때에 중요한 것은 입력신호의 성질(dynamic range, 입력 레인지, 주파수 범위 등)을 고려하여, A/D 변환을 한다는 것이다. 이 성질을 무시하고 A/D 변환을 해 버리면 아날로그 신호와 디지털 신호간에 인과성이 없어져 무엇을 계측하고 있는지를 알 수 없게 되는 경우가 일어난다. v. DSP A/D 컨버터에 의해 디지털화된 데이터는 퍼스널 컴퓨터 등에 입력되어 계산 처리된다. 계산처리는 리얼타임으로 실시되며, 디스플레이 상에서 모니터하면서 파일링을 한다는 식으로 처리가 행해진다. 여기서 문제가 되는 것이 퍼스널 컴퓨터의 처리 속도에 대한 문제이다. 통상 신호처리에 사용되는 계산 알고리즘은 복잡한 것이 많기 때문에 퍼스널 컴퓨터가 리얼타임으로 처리를 할 수 없게 되어버리는 경우가 있다. 그와 같은 문제를 해결하기 위해 등장한 것이 DSP라 부르는 전용의 칩이다. DSP는 종래의 CPU에 비해 계산 처리속도가 대폭 향샹되어 있다. DSP의 특징으로는 내부 버스의 폭이 넓고, 1클록으로 1명령 이상의 실행이 가능하며, 승가산(sum of products) 연산처리를 아주 고속으로 할 수 있다는 점 등을 들 수 있다. 신호처리 전용의 칩이라 할 수 있을 것이다. DSP의 문제점으로는 통상적인 CPU에 비해 개발환경이 특수하고, 칩 메이커에 따라 각각 개발 환경이 다르다는 점 등을 들 수 있다.DSP가 리얼타임 신호처리의 핵심 디바이스임에는 틀림없다. 그러나 신호처리에 꼭 DSP와 같은 전용 칩이 필요한가 하면 그렇지 않다. 최근 퍼스널 컴퓨터의 처리속도의 향상은 놀라울 정도이다. 전용 칩의 신세를 지지 않아도 손쉽게 신호처리를 할 수 있게 된 것이다. vi. D/A 컨버터 DSP에서 계산 처리된 결과를 이용하여 외부 기기를 컨트롤하려는 경우가 종종 생기게 된다. 그러나 때는 A/D 변환과는 반대로 퍼스널 컴퓨너내의 디지털 데이터를 아날로그 전압이나 전류로 변환하여 외부 기기를 컨트롤하게 된다. 이를 위한 수법을 D/A 변환이라 부른다. D/A 컨버터의동작은 입력된 디지털 코드를 아날로그 전압이나 전류로 출력하는 것이다.A/D 컨버트의 샘플링 속도에 대응하는 파라미터로 세트링 타임이라는 것이있다. 세트링 타임이란, 입력에 디지털 모드가 세트되고나서 아날로그 전압이 출력되기까지의 시간을 나타내는 것으로, D/A 컨버터 선택시의 가장 중요한 파라미터이다. vii. 스무징 필터 D/A 변환후의 데이터는 계단 형상의 데이터이므로, 불필요한 주파수 성분을 함유하고 있다.이 주파수 성분을 스프리어스 노이즈(spurious noise:위조 잡음)라 부른다. 스푸리어스 노이즈를 제거하기 위해서는 안티 에일리어싱 필터와 동등한 로패스 필터를 D/A 컨버터의 출력에 설치할 필요가 있다. 이 필터를 스무징 필터(smoothing filter)라 부르며, 필터의 차단주파수는 안티 에일리어싱 필터와 동일하게 하는 것이 일반적이다. viii. 파워 엠프 D/A 변환된 아날로그 데이터는 최종적으로 외부 기기를 컨트롤하는데 사용되는데 이를테면 스피커나 모터 등을 들 수 있다. 이들 기기를 컨트롤하기 위해서는 전력 증폭을 할 필요가 있다. 이를테면 모터를 제어하는 경우는 PWM(Pulse Width Modulation) 방식 등이 흔히 사용된다. PWM 제어는 직류 모터 등의 회전속도 제어에 많이 사용되는 수법으로, 모터를 저속으로 회전시키거나 할 때에 회전이 안정되고, 전체의 소비전력이 낮게 억제된다는 등의 잇점이 있다. 3. 디지털 신호의 특징 그러면 디지털 신호처리의 잇점이란 어떤 것일까. 그것은 소프트웨어의 변경만으로 시스템의 처리 내용을 변경할 수 잇으므로 유연한 시스템을 구축할 수 잇다는 점, 설계부터 시공까지 아날로그 회로와 같은 섬세한 부분이 없다는 점, 설계대로 성능이 엳어진다는 점 등을 들 수 있다. 게다가 중요한 것은 퍼스널 컴퓨터의 고속화와 저가격화가 디지털 신호처리에 따라서는 바람직하다는 것이다. 종래는 비싼 전용기를 사용하여 디지털 신호처리를 하지 않으면 않되었지만, 비싼 전용기는 높은 성능을 가지고 있는 반면 기기 간의 데이터 호환성이 없거나, 데이터를 가공하기 어렵다고 하는 불리한 점도 많이 있다. 그러나, 퍼스널 컴퓨터를 사용할 수 있으면 저가격으로, 또한 높은 안정성, 그 외에도 호환성이 높은 시스템을 구축할 수 있다. 4. A/D 컨버터 관계 용어 *분해능 :분해능이란, A/D 또는 D/A 컨버터에 허용되는 풀 스케일(최대 입력전압)을 어느 정도 미세하게 분해할 수 있는가를 나타내는 값이다. n비트의 A/D, D/A 컨버터는 1/2n의 분해능을 가지고 있다. *유효비트 :A/D 컨버트의 분해능은 세밀할수록 A/D 컨버터의 정밀도는 높아지지만, 분해능=정밀도의 관계에 있다고는 단정할 수 없다. 실제로는 주변회로를 포함한 노이즈 등의 문제에 따라 정밀도는 분해능까지 높아지지 않는다.유효 비트란, 시스템 전체의 비트 정밀도를 가르킨다. *다이내믹 레인지 :분해능이 낮은 A/D 컨버터를 사용하여 A/D변환을 하는 경우, 큰 진폭의 입력신호를 취급하는 경우는 문제가 없지만, 취급 신호 레벨이 낮아지면 A/D 변환을 할 수 없게 될 위험성이 있다. 그러나 신호처리 시스템의 입력신호 진폭은 미소신호부터 큰 신호까지 변화하는 경우가 많다. 즉 이것을 넓은 다이내믹 게인지(dynamic range)가 요구된다고 말한다. *오프셋오차 : A/D컨버터는 입력이 0V일때 당연히 출력도 0V에 대응한 디지털 코드로 되지 않으면 안된다. 그러나 실제로는 주변회로나 온도 등의 영향으로 오차가 발생한다. 이것을 오프셋 오차라 부르고 있다. *이득 오차 :원래, A/D 컨버터의 0 스케일과 풀스케일을 연결하는 직선은 A/D컨버터 출력값의 이상적인 직선과 일치하지 않으면 안된다. 그러나, 실제로는 오프셋 전압과 마찬가지로, 주변회로나 온도의 영향으로 이상적인 직선과 편차를 일으키게 된다. 이것을 이득 오차라 부르고 있다. *양자화 오차 :A/D컨버터는 아날로그 전압을 일정시간(샘플링 주기)으로 잘라내어, 잘라낸 시점에서 그 전압을 사사오입하여 디지털 코드로 출력하는 식으로 동작한다. 따라서 엄밀한 의미로, 정확한 전압값과 오차가 발생한다. 이 오차를 양자화 오차라 부른다. 5. 신호처리는 DSP인가, 퍼스널 컴퓨터인가 지금까지 신호처리라고 하면 DSP로 하는 것으로 생각해 왔다. 그러나 현재의 퍼스널 컴퓨터의 처리 능력은 대단히 향상되고 있다. 그래서 신호처리는 어느 쪽에서 하는 것이 바람직한지, 이에 대해 생각해 보기로 한다. 먼저, 프로그램 개발 환경에서 생각해 보면 퍼스널 컴퓨터용으로 많은 언어처리 소프트웨어나 디버거(debugger)가 준비되어 있고, 게다가 수십만원대 이하의 저가격이다. 이에 대하여 DSP에서는 모두가 전용 소프트웨어로 되기 때문에 수백만원 정도가 되는 겨우가 허다하다. 성능적인 면에서는 DSP의 경우 연산처리에 관해서는 뛰어나지만, 그 이외의 처리에서는 별로 나을 것이 없다. 신호처리를 응용한 제품 개발로 되면 연산 처리만 빠르다고 해서 모든 것이 시원하게 해결되는 것이 아니다는 것은 말할 필요도 없다. 특히 최근의 멀티미디어 정보를 취급하기 위해서는 화면 표시 능력이 중요하다. 그 때문에 연산처리만 DSP가 담당하고, 그 외는 범용 CPU가 담당하는 시스템이 많이 있는 것 같다. 만일, 퍼스널 컴퓨터의 연산처리 능력으로 충분히 대응할수 있는 응용 분야라면 그 분야에서 퍼스널 컴퓨터 이용은 결정적이다. DSP는 한층 고속의 응용 분야를 지향해야 할 것이다.
다음검색