이번 포스트는 앞서 소개한 TI의 C2000용 DSP 라이브러리 4종 중 SGEN 폴더에 들어 있는 Signal Generator Library 에 대해서 간단하게 살펴보겠습니다.
SGEN (Signal Generator Library)
SGEN은 실시간 신호 생성 용도로 사용되는 라이브러리로 "Sin(정형파) / Ramp(톱니파) / Trapezoidal(사다리꼴파) / Profile(사용자정의 파형) " 4가지 파형을 생성할 수 있습니다. 정수형 데이터를 사용하기 때문에, FPU 유무 상관없이 모든 TMS320F28x 계열 프로세서에서 사용할 수 있습니다.
그리고, Sin 신호 생성에는 Look-up 테이블 참조 방식의 연산방식을 사용하기 때문에 연산속도 또한 아주 빠릅니다. Look-up 테이블 방식을 사용하는 것으로 발생하는 오차를 Linear Interpolation(선형보간) 기법을 사용해서 줄여주는 코드도 포함되어 있습니다. 또한 modulo 연산 카운터 방식을 사용하기 때문에 신호 생성시 발생하는 카운터 오버플로우 문제없이 정확하게 주파수를 제어 할 수 있습니다. 주파수외 신호의 Gain과 Offset도 임으로 조정 가능합니다.
라이브러리 폴더에 들어가보면, 2016-10-25 현재에는 V101 버전 하나만 있는 것을 볼 수 있습니다. 버전 폴더 안으로 들어가면, 다시 여러가지 폴더로 구분되어 있는데, 각 폴더마다 라이브러리 사용에 필요한 소스, 헤더, 예제, 라이브러리 파일들이 들어 있습니다.
라이브러리 사용을 위해서 가장 먼저 해야할 일은 항상 해당 라이브러리의 가이드 문서를 살펴보시는 것 입니다. ControlSUITE 를 기본경로에 설치하셨다면, 다음과 같은 경로에서 문서를 찾아 볼 수 있습니다. controlSUITE 를 설치하시지 않는 분들도 문서를 보실 수 있도록 해당 문서를 첨부 했습니다.
가이드 문서 경로 : C:\ti\controlSUITE\libs\dsp\SGEN\v101\doc
Signal Generator Library 사용자 가이드 PDF 파일:
위의 사용자 가이드에 TI의 Signal Generator Library 가 제공하는 기능과 사용법이 아주 자세하기 설명되어 있습니다. 여기서는 간단하게 해당 라이브러리에 어떠한 연산기능들이 있는지 간단히 살펴 보겠습니다. 본인이 필요로하는 연산 기능이 있는지 잘 살펴보세요.
Standard THD Sin Generator
- SGENT_1: Single Channel SIN Generator (Table look-up)
- SGENT_2: Dual Channel SIN Generator (Table look-up)
- SGENT_3: 3Φ SIN Generator (Table look-up)
- SGENT_3D: Dual 3Φ SIN Generator (Table look-up)
Low THD Sin Generator
- SGENTI_1: Single Channel SIN Generator (Table look-up and Linear Interpolation)
- SGENTI_2: Dual Channel SIN Generator (Table look-up and Linear Interpolation)
- SGENTI_3: 3Φ SIN Generator (Table look-up and Linear interpolation)
- SGENTI_3D: Dual 3Φ SIN Generator (Table look-up and Linear Interpolation)
High precision Sin Generator
- SGENHP_1: High Precision Single SIN Generator (Table look-up and Linear Interpolation)
- SGENHP_2: High Precision Dual SIN Generator (Table look-up and Linear Interpolation)
Other Generator
- RMPGEN: Ramp Generator
- TZDLGEN: Trapezoidal generator
- PROFILE: Profile generator
Sin Generator 연산은 Standard THD / Low THD / High precision 3가지 버전으로 구분되어 있습니다. THD는 Total Harmonic Distortion의 약어로 원신호 대비 출력신호의 왜곡율을 나타냅니다. THD 는 낮을 수록 원신호에 가까운 깨끗한 신호가 입니다. 그리고 각 버전 별로 Single Channel / Dual Channel / 3Φ / Dual 3Φ 로 또 나뉘어 집니다. 말그대로 1상 / 2상 / 3상 / 6상 의 sine 신호를 생성할 수 있습니다. (High precision 는 3Φ / Dual 3Φ 출력 안됨)
Standard THD Sin Generator는 Look-up 테이블 연산 방식에서 보간법을 사용하지 않고 그대로 출력하는 방식입니다. 16bit modulo 카운터를 를 사용하지만, 상위 8bit만을 Index로 사용합니다. 연산속도가 빠르긴 하지만, 그만큼 원신호 대비 출력신호의 오차가 제법 생깁니다. 오차에 대한 자세한 내용은 라이브러리 사용자 가이드를 살펴보세요.
Low THD Sin Generator는 Look-up 테이블 연산 방식에서 보간법을 사용하여 출력하는 방식입니다. 보간방식은 선형 보간(Linear Interpolation)법을 사용합니다. 16bit modulo 카운터를 를 사용하며, 상위 8bit를 Index로 사용하고 하위 8bit를 Look-up 테이블 보간을 위해서 사용합니다. Standard THD Sin Generator 비하면, 연산시간이 좀더 걸리지만, 원신호 대비 오차율은 많이 줄어 듭니다.
High precision Sin Generator는 Look-up 테이블 연산 방식에서 보간법을 사용하여 출력하는 방식입니다. 보간방식도 선형 보간(Linear Interpolation)법을 사용합니다. 32bit modulo 카운터를 를 사용하며, 상위 8bit를 Index로 사용하고 이어지는 하위 15bit를 Look-up 테이블 보간을 위해서 사용합니다. 따라서 좀더 정밀한 주파수 출력이 가능합니다. Low THD Sin Generator 비하면, 연산시간이 좀더 걸리지만, 원신호 대비 오차율은 더 많이 줄어 듭니다.
그밖에 연산(Other Generator)은 Ramp / Trapezoidal / Profile 3가지 신호를 생성할 수 있습니다. Ramp Generator는 아래 그림과 같이 증감 방향과 파형의 Frequency / Gain / Offset 를 조절할 수 있습니다.
Trapezoidal Generator는 아래 그림과 같이 사다리꼴 모양의 파형을 생성하고, 파형의 Frequency / Gain / Offset 를 조절할 수 있습니다.
Profile Generator는 앞서 Trapezoidal Generator와 유사하지만, 아래 그림과 같이 신호의 상태 시간을 좀더 세밀하게 설정해서 조절할 수 있습니다. 마찬가지로 Gain과 Offset 조절 가능합니다.
다음 포스팅에서는 마지막으로 VCU 라이브러리에 대해서 살펴보겠습니다.
'기술자료실 > 디지털신호처리' 카테고리의 다른 글
TI DSP (C2000 계열, MCU)위한 디지털 신호처리 라이브러리 살펴보기 4편 (0) | 2016.10.25 |
---|---|
TI DSP (C2000 계열, MCU)위한 디지털 신호처리 라이브러리 살펴보기 3편 (0) | 2016.10.17 |
TI DSP (C2000 계열, MCU)위한 디지털 신호처리 라이브러리 살펴보기 2편 (0) | 2016.10.14 |
TI DSP (C2000 계열, MCU)위한 디지털 신호처리 라이브러리 살펴보기 1편 (0) | 2016.10.13 |
TMS320F28377D의 FFT 연산능력 알아보기 (0) | 2015.09.02 |
[디지털 필터링&FFT 강좌] 푸리에 트랜스폼의 정리 (4) | 2010.01.19 |
댓글을 달아 주세요