Languages
RF 시스템 모델링을 하는데, 외부입력에 따라 주파수가 변하는 sine 파형 발진기를 모델링하고 싶습니다. 일반적으로 임의의 주기파형을 생성하는 가변주파수 발진기를 XMODEL의 primitive들을 활용해 모델링할 수 있나요?
예. 'integ_mod'
primitive를 활용하면 임의의 주기파형을 생성하는 가변주파수 발진기를 간단하게 모델링할 수 있습니다. 이 'integ_mod'
primitive는, 그 파라메터들이 모두 기본값을 가질때 입력신호의 시간적분의 modulo 1 연산결과를 출력합니다. 이 primitive에 대한 보다 상세한 설명은 XMODEL Reference Manual을 참고하세요.
이 'integ_mod'
primitive가 유용한 이유는, 입력신호가 원하는 주파수 값을 가질때, 0에서 1까지의 구간을 반복하는 해당 주파수로 주기신호를 생성하기 때문입니다. 이제 이 신호를 0에서 1까지의 구간에서 원하는 주기파형을 표현하는 수학함수의 입력으로 쓰면, 원하는 주파수에서 발진하는 임의의 주기파형을 생성할 수 있게 됩니다.
예를 들어, 삼각파형을 생성하는 가변주파수 발진기의 모델을 아래와 같습니다. 삼각파형을 표현하기 위해, 그 파형을 (0, 0), (0.5, 1), (1, 0)의 세개의 점을 연결하는 piecewise linear 함수로 표현하는 'pwl_func'
primitive를 사용하였습니다.
그리고 입력신호 'freq'
가 10M 값을 가질때의 시뮬레이션 파형은 아래와 같습니다. 'integ_mod'
primitive의 출력인 'base'
신호는 설명한대로 0에서 1까지의 구간을 주기적으로 반복하는 신호이고, 이를 위에 설명한 'pwl_func'
primitive의 입력으로 사용하면, 10MHz의 주파수에서 원하는 삼각파형을 주기적으로 생성할 수 있습니다.
sine파형을 생성하는 가변주파수 발진기 모델도 비슷하게 만들수 있습니다. 아래 예제에서는 scale
과 sin_func
primitive를 사용해서 주기 1을 가진 sine 함수인 sin(2πx)
을 표현했습니다.
이 모델의 입력신호 'freq'
가 10M 값을 가질때의 시뮬레이션 파형은 아래와 같습니다.
Please login or Register to submit your answer