직교 변수 최적화 알고리즘으로 통신 시스템 성능 향상
이 글에서는 직교 입력 벡터를 가진 2차원 공간에서 최적 조정점을 찾는 알고리즘을 다룹니다. 측정된 데이터 포인트를 기반으로 교차하는 원들의 방정식을 풉니다.
몇 가지 핵심 시스템 성능 지표는 진폭과 위상에 해당하는 직교 입력 파라미터에 의해 결정됩니다. 두 예로 직교 변조기의 캐리어 피드스루와 사이드밴드 억제가 있습니다. 이 파라미터들은 변조기의 직교 베이스밴드 입력 간 DC 오프셋 밸런스와 진폭/위상 밸런스를 최적화함으로써 개선됩니다.
이 2차원 공간에서 이 파라미터들의 최적 조정을 찾는 것은 사소한 작업이 아니므로, 이 글에서는 측정된 데이터 포인트를 기반으로 교차하는 원들의 방정식을 풀고 최소 4번 반복으로 최적점을 찾는 Python 알고리즘을 논의합니다. 예시로 Texas Instruments(TI) AFE7070 집적 DAC와 직교 변조기 캐리어 피드스루 파라미터를 사용했습니다.
스퓨리어스 방출 최적화
통신 시스템은 스퓨리어스 방출을 최소화하려 노력합니다. 이러한 스퓨리어스 방출 중 일부는 직교 입력 신호 불일치에서 기인합니다. 예를 들어 DC 오프셋 불일치와 진폭/위상 불균형은 아날로그 직교 변조기에서 각각 캐리어 피드스루와 사이드밴드 억제 파라미터에 영향을 줍니다. 입력 변수를 최적 세트포인트로 조정하면 스퓨리어스 출력을 최소화합니다.
그림 1은 측정된 파라미터를 최적점 [x0,y0]에서 실제 평면 상의 점까지 벡터의 크기(r)로 나타냅니다. 파라미터 값은 [0,1] 단위 원으로 바운드됩니다. 0은 완전한 상쇄 또는 무신호, 1은 상쇄 없음 또는 최대 신호. 데시벨 스케일에서는 [-inf,0]으로 바운드. 반지름 r의 원은 동일한 크기를 달성하는 모든 가능한 x,y 점을 나타냅니다.

그림 1. 최적점에서 실제 점까지의 벡터
식 (1)은 가장 간단한 형태의 함수입니다:
(1)
상수 [a0,b0]는 최대 결과를 1 미만으로 유지하기 위한 시스템 의존적 정규화 인자입니다. 기술적으로 식 (1)은 타원을 설명하지만, 이 분석에서는 a0 = b0로 가정해 진정한 원이 되게 합니다.
목표는 측정 파라미터(r)를 가능한 한 빨리 최소화하는 최적점 [x0,y0]을 찾는 것입니다. 통계적으로 변하는 입력 파라미터로 그 점을 효율적으로 찾는 것은 어렵습니다. 전통적인 시행착오 접근은 연속 시도로 최적점을 좁히지만, 수렴 시간이 중요할 때 너무 많은 반복이 필요해 새로운 방법이 필요합니다.
교차하는 원들
이상적으로 정확히 3번의 측정 반복으로 교차하는 원들을 사용해 최적점을 결정합니다. 임의 입력점 [x1,y1]에서의 첫 측정 결과는 반지름 r1의 원 A로 표현되는 최적점에 대한 무한한 가능성을 정의합니다. 두 번째 데이터 포인트를 추가하면 또 다른 무한 데이터셋인 원 B가 생기지만, 두 원의 교차는 해를 두 점으로 좁힙니다. 세 번째 데이터 포인트와 해당 원 C가 세 번째 곡선을 제공하며, 세 곡선이 한 점에서 만나는 교차점이 최적점입니다. 그림 2는 확정적 최적점으로 귀결되는 교차 원들의 진행을 보여줍니다.

그림 2. 교차하는 원들이 공통 교차점을 드러냄
이 기법으로 정확히 3번 반복 만에 최적점을 찾습니다. 4번째 반복으로 최적점을 측정해 확인하고 문서화합니다.
그림 3은 x-y 평면에서 경험적으로 알려진 경계 정보를 사용해 한 반복을 제거하는 기법을 보여줍니다. 초기 점을 경계점 중 하나로 선택해 첫 곡선(A)이 90도 호가 되게 합니다. 두 번째 점을 x 또는 y 방향으로 이동해 첫 번째 호 위에 선택합니다.

그림 3. 2-반복 솔루션
두 번째 점도 여전히 경계 가장자리에 있으므로 그 곡선은 180도 미만의 호가 됩니다. 이 두 곡선의 교차는 단일 최적점을 제공합니다. 이 접근으로 단 2번 반복 만에 최적점을 찾고 3번으로 확인합니다.
연속 원 근사
최적 해는 수학적 방정식의 정확도에 의존합니다. 실제 측정 상황에서는 여러 가정이나 오차가 결과에 영향을 줍니다. 측정된 신호는 매우 작으며, 잡음과 측정 공차가 오차를 도입합니다. 완벽한 원 대신 타원을 사용하면 불확실성이 생깁니다. 여러 방정식을 풀기 위한 스케일링 인자 가정도 불확실성을 더합니다. 이러한 오차와 가정은 곡선의 퍼지(fuzziness)로 이어집니다.
그림 4는 퍼지 곡선이 정확한 교차점을 보장하지 않고 대신 수렴 영역을 정의함을 보여줍니다.

그림 4. 연속 원 교차 근사
각 추가 데이터 포인트는 이전 반복의 데이터를 사용합니다. 연속 원들은 시스템의 최소 임계값 내에 있는 솔루션 영역으로 수렴합니다.
측정 예시
이 예시는 AFE7070 DAC를 사용해 캐리어 피드스루 파라미터를 최적화합니다. AFE7070은 DAC와 변조기가 통합돼 편리한 플랫폼입니다. 변조기 직교 입력의 DC 오프셋 불균형이 캐리어 피드스루 성능을 결정합니다. AFE7070은 직교 입력의 DC 레벨을 미세 제어하는 내부 디지털 튜닝 기능을 가지며, 해상도는 마이크로볼트 단위입니다.
예시의 x,y 파라미터는 직교 입력의 DC 레벨을 제어하는 정수 디지털 스텝 값입니다. 장치의 이전 통계적 샘플링으로 입력 변수의 x,y 경계와 계산에 사용된 스텝 테이블을 제공했습니다. 스텝 테이블은 측정된 캐리어 피드스루(dBm)를 델타-x(또는 델타-y) 인자로 '변환'해줍니다.
높은(나쁜) 측정값은 설정이 크게 벗어나 더 큰 델타가 필요함을 의미. 낮은 값은 세트포인트가 가까워 작은 보정만 필요함을 의미. 이 '숙제'는 초기 추측점이 너무 멀리 있지 않게 하고 반복 시간을 최소화하기 위해 필요합니다.
그림 5는 4번 반복 이하로 최적 입력 변수를 찾는 Python 알고리즘을 보여줍니다.

그림 5. Python 최적화 알고리즘
"Get_r"과 "GetCFi" 함수는 장치별 측정입니다. 최적화 알고리즘 시연에 불필요해 생략했습니다. 실제 적용에서는 이 함수들이 시스템의 장치 파라미터 프로그래밍과 측정에 해당합니다.
결론
AFE7070 DAC에서 대부분의 경우 이 알고리즘은 3번 반복 내, 1.7초 이내에 캐리어 피드스루를 최적화합니다(주로 스펙트럼 분석기 안정화와 스윕 시간에 의해 결정). 이전 단계적 방법은 거의 20번 반복과 20초 이상 소요. 이 알고리즘은 기존 접근 대비 10배 이상 속도 향상을 나타냅니다. 이득과 위상의 직교 입력 변수에 의존하는 다른 통신 시스템 파라미터도 이 알고리즘으로 효율적으로 최적 해를 찾을 수 있습니다.
업계 기사는 업계 파트너가 All About Circuits 독자들에게 유용한 소식, 메시지, 기술을 공유할 수 있는 콘텐츠 형태입니다. 모든 업계 기사는 엄격한 편집 가이드라인을 준수하며, 표현된 견해는 파트너의 것이며 All About Circuits나 필진의 의견과 반드시 일치하지는 않습니다.