Main Content

스케일링

고정소수점 숫자의 동적 범위는 이에 상응하는 워드 크기를 갖는 부동소수점 숫자보다 훨씬 더 작습니다. 오버플로 조건이 발생하지 않도록 방지하고 양자화 오차를 최소화하려면 고정소수점 숫자를 스케일링해야 합니다.

Fixed-Point Designer™를 사용하면, 이진 소수점으로 정의된 스케일링을 갖는 고정소수점 데이터형을 선택하거나 필요에 맞는 임의의 선형 스케일링을 선택할 수 있습니다. 이 섹션에서는 고정소수점 데이터형에 사용할 수 있는 스케일링 옵션에 대해 설명합니다.

고정소수점 숫자는 기울기 및 편향의 일반 인코딩 체계로 표현할 수 있습니다.

real-world value=(slope×integer)+bias

여기서 기울기는 다음과 같이 표현될 수 있습니다.

slope=slope adjustment factor × 2fixed exponent

정수를 저장된 정수라고도 합니다. 이는 원시 이진수이고, 이때 이진 소수점은 워드의 맨 오른쪽에 있는 것으로 간주됩니다. Fixed-Point Designer 문서에서는 고정 지수의 음수를 종종 소수부 길이라고 합니다.

기울기와 편향을 함께 써서 고정소수점 숫자의 스케일링을 표현합니다. 어떤 숫자의 편향이 0이면 기울기만 스케일링에 영향을 줍니다. 이진 소수점 위치로만 스케일링되는 고정소수점 숫자는 편향 0, 기울기 조정 인자 1의 기울기 편향으로 표현되는 숫자와 동일합니다. 이를 이진 소수점 스케일링 또는 2의 거듭제곱 스케일링이라고 합니다.

real-world value=2fixed exponent×integer

또는

real-world value=2-fraction length×integer

이진 소수점 스케일링

이진 소수점 스케일링 또는 2의 거듭제곱 스케일링에서는 고정소수점 워드 내에서 이진 소수점을 움직입니다. 이 스케일링 모드의 이점은 프로세서 산술 연산 횟수가 최소화된다는 것입니다.

이진 소수점 스케일링에서, 일반적인 기울기 및 편향 공식의 성분은 다음과 같은 값을 갖습니다.

  • bias = 0

  • slope adjustment factor = 1

  • slope = slope adjustment factor × 2fixed exponent = 2fixed exponent

양자화된 실제 숫자의 스케일링은 기울기 S(2의 거듭제곱으로 제한됨)로 정의됩니다. 2의 거듭제곱 지수의 음수를 소수부 길이라고 합니다. 소수부 길이는 이진 소수점의 오른쪽에 있는 비트 수입니다. 이진 소수점 스케일링에서는 고정소수점 데이터형을 다음과 같이 지정하십시오.

  • 부호 있는 데이터형 — fixdt(1,WordLength,FractionLength)

  • 부호 없는 데이터형 — fixdt(0,WordLength,FractionLength)

정수는 고정소수점 데이터형의 특수한 경우입니다. 정수는 기울기 1, 편향 0(또는 소수부 길이 0)인 자명한 스케일링을 사용합니다. 정수를 다음으로 지정하십시오.

  • 부호 있는 정수 — fixdt(1,WordLength,0)

  • 부호 없는 정수 — fixdt(0,WordLength,0)

기울기 및 편향 스케일링

기울기와 편향으로 스케일링할 경우 양자화된 실제 숫자의 기울기 S와 편향 B는 어떠한 값도 취할 수 있습니다. 기울기는 양수여야 합니다. 기울기와 편향을 사용할 때는 고정소수점 데이터형을 다음과 같이 지정하십시오.

  • fixdt(Signed,WordLength,Slope,Bias)

스케일링을 지정하지 않음

스케일링을 지정하지 않은 고정소수점 데이터형은 다음과 같이 지정하십시오.

  • fixdt(Signed,WordLength)

Simulink® 신호, 파라미터, 상태에는 반드시 스케일링이 지정되어야 합니다. 스케일링이 지정되어 있지 않으면, 자동 최적 정밀도 스케일링 같은 다른 메커니즘을 사용하여 Simulink에서 사용될 스케일링을 결정해야 합니다.

관련 항목