이번 Article에서는 Gain, Range 및 Quantization(양자화)란 무엇이며, 이들 간의 관계를 설명드립니다.
그림 1에선 양자화 오류가 발생 시 데이터에서 어떻게 나타나는지 보여드립니다.
그림 1. 양자화 오류로 인해 비트 노이즈 혹은 Fuzziness(퍼짐 현상)이 있는 데이터
이 현상은 신호가 적절한 양의 디지털 비트(Bit)로 디지털화되지 않기 때문에 발생합니다. 이는 너무 적은 픽셀로 찍은 디지털 사진과 비슷합니다. 이 문제는 Gain을 사용하여 신호를 더 많은 비트로 양자화하여 해결할 수 있습니다.
목차는 다음과 같습니다. :
1. Gain(이득 or 증폭 계수)이란?, 2. 신호 이득 방법, 3. 신호 이득의 이유 및 양자화에 대한 설명, 4. 양자화 오류와 이를 줄이는 방법, 5. 입력 신호 증폭, 6. Simcenter Testlab에서 Range 확인하는 방법, 7. Simcenter 테스트랩: 범위 설정 방법
1. Gain(이득 or 증폭 계수)이란?,
Gain는 입력 신호의 크기와 출력 신호의 크기 사이의 관계를 나타냅니다(방정식 1).
방정식 1 : Gain(증폭 계수)
아래 그림 2에서 빨간색 곡선은 5V 사인파이고, 이 신호에 Gain 2를 적용하면 녹색 곡선(10V 사인파)이 생성됩니다.
그림 2. 좌측: 5V 신호(
빨간색). 우측: 10V 신호(
녹색) 그래프
신호가 Gain(증폭 계수) 만큼 증폭되면, 신호 출력 신호보다 더 큰 진폭을 갖습니다.
Gain은 Linear Factor(선형 계수) 또는 데시벨(Decibel _ dB)로 표시될 수 있습니다:
- 선형 계수 : 신호에 Gain Factor를 곱합니다.
예) Gain이 100이면 신호에 100을 곱한 것입니다. 다시 말해 1V인 입력 신호를 선형 계수 100만큼 증폭한다면, 100V의 선형 이득으로 앰프에서 나옵니다.
- dB : 데시벨(비율)의 이득은 단순히 이득 계수를 표현하는 다른 방법입니다.
예) Gain이 10dB 이면 20dB의 수신 신호가 30dB로 출력됩니다. dB 계수는 수신 신호에 추가됩니다(dB 단위). 이를 선형 계수로 비교하자면, 전압 신호에 대한 10dB 이득은 3.16을 곱한 것을 의미합니다.
2. 신호 이득 방법
신호는 앰프(Amp_Amplifier의 약자)를 사용하여 얻을 수 있습니다. 증폭기(Amplifier)는 전자 신호를 증폭시키는 전자 부품이며, 다양한 모양, 크기 및 유형이 있지만 모두 이득의 특성을 나타냅니다.
다음은 소형 트랜지스터 앰프와 대형 기타 앰프의 두 가지 예입니다(그림 3).
그림 3. 좌측 : 소형 트랜지스터 앰프. 우측 : Fender Champion 20 Combo Guitar Amplifier
Simcenter SCADAS 데이터 수집 하드웨어에는 조정 가능한 아날로그 Gain Amplifier가 내장되어 있습니다. 일반적으로 아날로그 신호를 디지털화하기 전에 얻는 것이 합리적입니다.
3. 신호 이득의 이유 및 양자화에 대한 설명
신호를 얻으면 양자화 오류를 줄이고 데이터 수집 시스템의 비트 사용을 최대화하는 데 도움이 됩니다.
압력, 온도 및 가속도와 같은 실생활의 양을 측정할 때 변환기(혹은 센서)는 이러한 실생활의 양을 전압 신호로 변환합니다. 이 전압 신호는 아날로그이지만 신호 처리 중에 디지털화됩니다. 아날로그에서 디지털로 변환하는 동안 아날로그 신호의 진폭은 이산 레벨로 분할됩니다. 이를 양자화라고 합니다(그림 4).
그림 4. 아날로그 신호 양자화 그래프_ 원신호(회색), 이산화된 신호(빨간색)
위의 그림 4와 같이 신호는 이산화 레벨(Discrete Level)로 분할됩니다. 각 포인트의 아날로그 값은 가장 가까운 양자화 레벨에 배치됩니다.
아날로그 진폭 값과 디지털 진폭 값의 차이는 양자화 오류 또는 양자화 왜곡입니다. 이는 아래 그림 5에 설명되어 있습니다.
그림 5. 원신호(
회색)과 양자화된 신호(
빨간색) 비교 그래프
그림 5를 기준으로, 디지털 비트가 2.0과 2.1에 해당하는 레벨을 가지고 있고 아날로그 신호 진폭 값이 2.03이면 디지털화된 신호는 2.0 레벨에 놓이게 됩니다. 그리고 원 신호와 디지털화된 신호 간의 차이인 0.03는 양자화 오차 혹은 오류입니다. 자세한 설명은 다음 Chapter에서 설명드립니다.
4. 양자화 오류와 이를 줄이는 방법은?
앞서 설명드린 바와 양자화 오류는 같이 아날로그 신호의 진폭을 디지털화 중 발생하는 오차로 원 신호와 디지털화된 신호 간의 차이입니다. (그림 6)
그림 6. 양자화 오류와 Bin size(=Step Size) 그래프
이러한 양자화 오류를 줄이는 방법은 Bin Size를 줄여야 합니다. Bin Size는 시스템의 Range와 비트 수에 대한 함수입니다(방정식 2 참조).
방정식 2. Bin size와 Bit수의 상관 관계
비트 수는 데이터 수집 시스템에 대해 고정되어 있습니다. SCADAS HW는 24Bit ADC(Analog to Digital Converter)를 사용하고 있으며, 이는 User manual에서 확인하실 수 있습니다. 그리고 Range는 신호에서 읽고 있는 전압 범위입니다. 예를 들어 하기 그래프들 중 왼쪽 그래프의 범위는 ±10V이고, 오른쪽 그래프의 범위는 ±0.01V입니다(그림 7).
그림 7. 좌측 : Range가 ±10V인 그래프, 우측 : Range가 ±0.01V인 그래프
16비트가 있는 ±10V 시스템(현재 SCADAS 하드웨어는 24비트 시스템임)의 예를 들어 보겠습니다.
최대 전압 범위(±10V)에서는 신호를 양자화하기 위한 65536개의 이산화 레벨(2^16)이 있습니다. 그러나 1.25V에서는 신호를 양자화하는 데 사용할 수 있는 빈이 8192개뿐입니다. 아래 그림 8을 참조하십시오.
그림 8. Bin의 개수와 전압 범위간의 상관 그래프
위의 그림 8과 같이 신호를 양자화하는 데 사용할 수 있는 Bin의 개수는 전압 범위에 따라 달라집니다.
그리고 데이터 수집 시스템의 최대 Range는 고정되어 있습니다. 최대 Range는 모듈에 따라 다르며 자세한 정보는 User manual 혹은 Factsheet에서 확인하실 수 있습니다. 또한 일부 모듈에서는 신호의 범위에 더 가깝게 범위를 줄일 수 있습니다. 전압 Range를 신호 Range보다 최소한으로 크게 설정하면 양자화 오류를 최소화할 수 있습니다.
따라서 데이터 수집 시스템의 최대 범위가 10V 및 16비트인 경우 Bins size는 1.53x10^-4가 됩니다.(방정식 3)
방정식 3. 16 bit 시스템의 Bin Size 크기
참고 : 24비트의 Simcenter SCADAS는 16,777,216개의 Discrete Level을 가지고 있으며, 이는 65,536개의 개별 레벨을 가진 16비트 시스템보다 훨씬 많습니다.
Bin size를 줄이고 원래 신호(그림 4의 회색 신호)를 재처리할 때 어떤 일이 발생하는지 살펴보겠습니다(그림 9 참고).
그림 9. 아날로그 신호 양자화 그래프_ 원신호(
회색), 이산화된 신호(
빨간색)_Smaller Bin size
그림 4와 그림 9를 비교하면, 빈 크기가 작을수록 양자화 오류가 줄어듦을 확인할 수 있습니다. 또한 빈 크기가 작을수록 아날로그에서 디지털로 신호가 더 잘 변환됩니다.
훨씬 더 극단적인 경우를 예로 들겠습니다. ±0.001V 신호와 16비트 시스템의 경우 신호를 이산화하는 레벨은 6개뿐입니다(그림 10).
그림 10. 아날로그 신호(회색), Discrete level 6개로 이산화된 신호(보라색) 그래프
그림 10을 참고하시면, 입력 신호 범위가 최대 신호 범위보다 현저히 작을 경우 큰 양자화 오류가 발생할 수 있습니다. 따라서 신호 레벨이 데이터 수집의 최대 범위보다 현저히 낮으면 대량의 양자화 오류가 발생할 위험이 있습니다.
5. 입력 신호 증폭
입력 신호 범위가 하드웨어의 전압 범위보다 현저히 낮은 경우 어떻게 해야 할까요?
신호가 시스템의 전체 범위에 근접하도록 입력 신호에 Gain(증폭 계수)를 적용할 수 있습니다.
예를 들어, 데이터 수집 시스템의 최대 범위가 ±10V이고 신호가 ±0.1V인 경우 시스템은 Gain 100을 적용하여 신호를 10V로 증폭할 수 있습니다. 아래 차트(그림 11)를 참조하여 다양한 입력 신호 레벨(최대 범위 ±10V로 가정)에 적용되는 Gain의 값을 확인할 수 있습니다.
그림 11. Range와 Gain 값의 상관 관계 차트
그림 11에서 보이듯이, 신호가 얼마나 작은지에 따라 시스템은 Range 사용을 극대화하기 위해 신호를 적절하게 얻습니다.
그림 10에서 0.001V 사인파가 읽혔던 것과 동일한 예를 살펴보겠습니다.
그림 10의 사인파에 10000의 이득 계수를 추가하여 진폭을 10V로 증폭합니다. 이제 시스템의 전체 범위가 사용되므로 신호를 이산화 레벨의 개수 65536개입니다(그림 11).
그림 12. 증폭된 Sine 신호 (
보라색)와 이산화 레벨 그래프
전체 범위를 사용하면 Bin을 최대로 많이 사용할 수 있고, 이로써 신호를 적절하게 디지털화할 수 있습니다.
이러한 Gain은 Simcenter Testlab(구 LMS Testlab)에서 화면에 표시되기 전에 적용이 됩니다.
다시 말해 적절한 범위를 적용한 후 신호 그래프를 보면 화면에서는 여전히 0.001V 사인파로 표시됩니다. 데이터 수집 시스템에 표시되는 신호는 Gain으로 구분되므로 원래 레벨로 표시됩니다.
또한 신호를 양자화하기 위해 전체 이산 레벨을 사용할 수 있습니다(그림 12).
그림 13. 최대 Bin 수로 이산화된 원 신호(
보라색) 그래프
그림 13에선 전체 범위를 사용하면 신호를 이산화할 수 있는 최대 빈 수를 사용할 수 있습니다.
따라서 신호 레벨이 변경되지 않더라도 최대 범위 및 사용 가능한 비트를 최대한 사용하기 위해 백그라운드에서 Gain이 적용됩니다.
6. Simcenter Testlab에서 Range 확인하는 방법 : 범위가 적절한지 확인하는 방법
Simcenter Testlab은 Range/Gain이 적절하게 설정 되었는지 여부를 나타냅니다. Gain 설정 워크북의 왼쪽 아래에는 그림 14과 같이 Range 표시 막대가 있습니다.
그림 14. Simcenter Testlab에서의 Range 표시바(White, Green, Orange, Red)
막대가 흰색이면 신호에 비해 Range가 너무 크다는 것을 의미합니다. 반면 다양한 녹색 색조는 범위가 적절하게 설정되었음을 나타냅니다. 그리고 주황색은 신호가 Range 한계에 가깝다는 것을 나타고, 빨간색은 과부하(Overload)를 나타냅니다.
Overload에 대한 자세한 내용은 링크를 참조하시기 바랍니다. :
과부하.
이러한 Range 표시 바를 통해 시스템을 최대한 활용할 수 있습니다.
7. Simcenter 테스트랩: 범위 설정 방법
막대가 흰색이면 신호에 비해 Range가 너무 크기 때문에 Range를 줄여야 합니다.
반면 막대가 빨간색 또는 주황색이면 신호가 Range 한계에 가깝거나 과부하가 되었기 때문에 범위를 늘려야 합니다(그림 15).
그림 15. Simcenter Testlab에서의 Range 표시바(White, Orange, Red)
그림 16에 있는 버튼 Start ranging, Hold level 그리고 Set ranges을 순서대로 클릭하여 Auto ranging을 설정할 수 있습니다. 테스트 대상체가 원하는 측정 조건에서 실행되는 동안에 Auto ranging이 수행됩니다.
그림 16. Auto Ranging 순서
이렇게 하면 Gain 값이 최적으로 설정되어 양자화 오류가 최소화됩니다.
참고: Auto Ranging 시 시스템의 전체 Range를 사용하는 것이 중요합니다. 시스템의 전체 Range를 사용하지 않고 과부하가 발생하면 시스템 Gain이 한 번만 변경됩니다. 그러나 Gain 값이 한번 변경되는 것은 다른 과부하를 피하기에는 충분하지 않을 수 있습니다. 그래서 전체 Range를 사용하는 경우 신호 범위를 수용할 수 있도록 Gain을 최대한 낮게 조정해야 합니다. 그래야 과부하를 방지하고, 양자화 오류를 최소화할 수 있습니다.
그 방법으로는 그림 16에서 "More" 버튼을 눌러 Range checking 창을 엽니다.
이후 하단 왼쪽에 있는 "자동 범위 조정 시 전체 범위 사용" 체크 박스를 클릭합니다 (그림 17 참조).
그림 17. Range checking 창
시스템의 Range는 실제로 변경되지 않으며 신호에 적용되는 Gain만 변경됩니다. Gain은 신호를 시스템의 최대 범위 내에 맞도록 증폭합니다.
Gain, Range 그리고 Quantization과 관련해서 더 자세한 정보들은 하기 링크를 참고하시면 됩니다.
Direct YouTube link: https://youtu.be/uOQBMgUGQXk