주요 콘텐츠

MATLABSimulink의 고정소수점 데이터

Simulink의 고정소수점 데이터

Simulink®fixdt 함수를 사용하여 고정소수점 데이터형을 지정할 수 있습니다. fixdt 함수는 Simulink.NumericType 객체를 만듭니다.

고정소수점 데이터형 및 스케일링 표기법

Simulink 데이터형 이름은 128자 미만의 유효한 MATLAB® 식별자여야 합니다. 데이터형 이름은 컨테이너 데이터형, 숫자 인코딩 및 스케일링에 대한 정보를 제공합니다.

다음 표에는 Simulink 제품에서 고정소수점 값의 데이터형과 스케일링을 나타내기 위해 표시되는 다양한 기호에 대한 핵심 내용이 나와 있습니다.

기호

설명

컨테이너 데이터형

ufix

부호 없는 고정소수점 데이터형

ufix8은 부호 없는 8비트 고정소수점 데이터형입니다.

sfix

부호 있는 고정소수점 데이터형

sfix128은 부호 있는 128비트 고정소수점 데이터형입니다.

fltu

부호 없는 고정소수점 데이터형(ufix)의 스케일링된 double형 재정의

fltu32ufix32의 스케일링된 double형 재정의입니다.

flts

부호 있는 고정소수점 데이터형(sfix)의 스케일링된 double형 재정의

flts64sfix64의 스케일링된 double형 재정의입니다.

숫자 인코딩

e

10^

125e8125*(10^(8))과 같음

n

음수

n31-31과 같음

p

소수점

1p51.5와 같음

p20.2와 같음

스케일링 인코딩

S

기울기

ufix16_S5_B7Slope5이고 Bias7인 부호 없는 16비트 고정소수점 데이터형입니다.

B

편향

ufix16_S5_B7Slope5이고 Bias7인 부호 없는 16비트 고정소수점 데이터형입니다.

E

고정 지수(2^)

음수 고정 지수는 소수부 길이를 나타냄

sfix32_En31은 소수부 길이가 31인 부호 있는 32비트 고정소수점 데이터형입니다.

F

기울기 조정 인자

ufix16_F1p5_En50SlopeAdjustmentFactor1.5이고 FixedExponent-50인 부호 없는 16비트 고정소수점 데이터형입니다.

C,c,D 또는 d

편향에 대한 압축 인코딩

참고

이 문자형 벡터를 slDataTypeAndScale 함수에 전달하면 유효한 fixdt 데이터형이 반환됩니다.

사용 가능한 예 없음. 이전 버전과의 호환성 목적으로만 제공됩니다.

T 또는 t

기울기에 대한 압축 인코딩

참고

이 문자형 벡터를 slDataTypeAndScale에 전달하면 유효한 fixdt 데이터형이 반환됩니다.

사용 가능한 예 없음. 이전 버전과의 호환성 목적으로만 제공됩니다.

MATLAB의 고정소수점 데이터

MATLAB의 숫자 또는 변수에 고정소수점 데이터형을 할당하려면 fi (Fixed-Point Designer) 생성자를 사용하십시오. 결과 고정소수점 값을 fi 객체라고 합니다. 예를 들어, 다음은 디스플레이에 표시된 특성을 갖는 fi 객체 ab를 만들며, 이러한 특성은 변수가 생성될 때 사용자가 지정할 수 있습니다. FractionLength 속성을 지정하지 않으면 지정된 워드 길이에 대해 "최적 정밀도"로 자동 설정되어 값의 최상위 비트를 유지합니다. WordLength 속성이 지정되지 않은 경우에는 디폴트 값으로 16비트가 지정됩니다.

a = fi(pi)
a = 

              3.1416015625

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13
b = fi(0.1)
b = 

        0.0999984741210938

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 18

작업 공간에서 고정소수점 데이터 읽기

From Workspace 블록을 사용하면 MATLAB 작업 공간의 고정소수점 데이터를 Simulink 모델로 읽어올 수 있습니다. 이를 수행하려면 데이터가 values 필드에 fi 객체가 있는 구조체 형식이어야 합니다. 배열 형식에서 From Workspace 블록은 배정밀도 실수 데이터만 받습니다.

고정소수점 데이터를 작업 공간에 쓰기

To Workspace 블록을 통해 모델에서 MATLAB 작업 공간으로 배열 형식 또는 구조체 형식으로 고정소수점 출력을 쓸 수 있습니다. To Workspace 블록을 사용하여 작업 공간에 구조체 형식으로 작성된 고정소수점 데이터는 From Workspace 블록을 사용하여 구조체 형식으로 Simulink 모델로 다시 읽어올 수 있습니다.

스케일링된 double형

스케일링된 double형은 부동소수점 숫자와 고정소수점 숫자 간의 하이브리드형입니다. Fixed-Point Designer™는 스케일링된 double형을 double형으로 저장하며, 스케일링, 부호, 워드 길이 정보는 유지됩니다. 예를 들어, 고정소수점 데이터형 sfix16_En14에 대한 스토리지 컨테이너는 int16입니다. 상응하는 스케일링된 double형 데이터형의 스토리지 컨테이너 flts16_En14는 부동소수점 double입니다. Fixed-Point Designer는 저장된 부동소수점 double형에 스케일링 정보를 적용하여 실제 값을 얻습니다. 값을 double형으로 저장하면 오버플로 문제와 정밀도 문제가 거의 항상 해결됩니다.

참고 항목

함수