이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
Abs
입력의 절댓값 출력
라이브러리:
Simulink /
Math Operations
HDL Coder /
HDL Floating Point Operations
HDL Coder /
Math Operations
설명
Abs 블록은 입력의 절댓값을 출력합니다.
부호 있는 정수 데이터형의 경우 가장 큰 음수 값의 절댓값은 이 데이터형으로 표현할 수 없습니다. 이 경우, 정수 오버플로 시 포화 체크박스에서 블록의 동작을 제어합니다.
선택 옵션 | 블록의 동작 | 결과 |
---|---|---|
이 체크박스 선택함 | 정수 데이터형의 가장 큰 양수 값으로 포화됨 |
|
이 체크박스 선택하지 않음 | 정수 데이터형의 가장 큰 음수 값으로 래핑됨 |
|
Abs 블록은 영점교차 검출을 지원합니다. 그러나 대화 상자에서 영점교차 검출 활성화를 선택하면, 블록은 고정소수점 툴에서 시뮬레이션 최솟값이나 최댓값을 보고하지 않습니다. 고정소수점 툴을 사용하여 모델을 분석하려면 먼저 모델의 모든 Abs 블록에서 영점교차 검출을 비활성화하십시오.
예제
질량-스프링-댐퍼 시스템에서 스틱-슬립 마찰과 강제 정지 모델링하기
이 예제에서는 스틱 슬립 운동의 강제 정지와 마찰 변화를 질량-스프링-댐퍼 모델에 통합할 수 있는 한 가지 방법을 보여줍니다.
정확한 영점교차 검출
이 예제에서는 Simulink®에서 영점교차가 어떻게 작동하는지 보여줍니다. 이 모델에서는 3개의 변위된 사인파가 Absolute Value 블록과 Saturation 블록에 입력됩니다. 정확히 t = 5에서 Switch 블록의 출력이 Absolute Value 블록에서 Saturation 블록으로 변경됩니다. Simulink의 영점교차는 Switch 블록이 출력을 변경하는 정확한 시점을 자동으로 감지하고 솔버는 이 이벤트가 발생한 정확한 시간으로 스텝을 이동합니다. 스코프에서 출력을 검토하여 이러한 동작을 확인할 수 있습니다.
포트
입력
Port_1 — 입력 신호
스칼라 | 벡터
절댓값 블록에 대한 입력 신호입니다.
데이터형: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
출력
Port_1 — 절댓값 출력 신호
스칼라 | 벡터
입력 신호의 절댓값입니다.
데이터형: half
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
파라미터
기본
영점교차 검출 활성화 — 영점교차 검출 활성화
on
(디폴트 값) | off
영점교차 검출을 활성화하도록 선택합니다. 자세한 내용은 Zero-Crossing Detection 항목을 참조하십시오.
프로그래밍 방식의 사용법
블록 파라미터: ZeroCross |
유형: 문자형 벡터 | string형 |
값: 'off' | 'on' |
디폴트 값: 'on' |
샘플 시간(상속된 경우 -1) — 샘플 간의 간격
-1
(디폴트 값) | 스칼라 | 벡터
샘플 간의 시간 간격을 지정합니다. 샘플 시간을 상속하려면 이 파라미터를 -1
로 설정하십시오. 자세한 내용은 샘플 시간 지정하기 항목을 참조하십시오.
종속성
이 파라미터는 -1
이외의 값으로 설정한 경우에만 표시됩니다. 자세한 내용은 Blocks for Which Sample Time Is Not Recommended 항목을 참조하십시오.
프로그래밍 방식의 사용법
블록 파라미터: SampleTime |
유형: string형 스칼라 또는 문자형 벡터 |
디폴트 값: "-1" |
신호 특성
데이터형 도우미를 사용하면 데이터 특성을 쉽게 설정할 수 있습니다. 데이터형 도우미를 사용하려면 을 클릭하십시오. 자세한 내용은 Specify Data Types Using Data Type Assistant 항목을 참조하십시오.
출력 최솟값 — 범위 검사를 위한 최소 출력값
[]
(디폴트 값) | 스칼라
Simulink®에서 검사하는 출력 범위의 하한 값입니다.
Simulink는 이 최솟값을 사용하여 다음 작업을 수행합니다.
일부 블록에 대해 파라미터 범위 검사(Specify Minimum and Maximum Values for Block Parameters 참조).
시뮬레이션 범위 검사(Specify Signal Ranges 및 Enable Simulation Range Checking 참조).
고정소수점 데이터형의 자동 스케일링.
모델에서 생성한 코드 최적화. 이 최적화 작업은 알고리즘의 코드를 제거하고, SIL 또는 외부 모드 같은 일부 시뮬레이션 모드의 결과에 영향을 줄 수 있습니다. 자세한 내용은 Optimize using the specified minimum and maximum values (Embedded Coder) 항목을 참조하십시오.
참고
출력 최솟값은 실제 출력 신호를 포화시키거나 자르지 않습니다. 대신 Saturation 블록을 사용하십시오.
프로그래밍 방식의 사용법
블록 파라미터: OutMin |
유형: 문자형 벡터 |
값: '[ ]' | 스칼라 |
디폴트 값: '[ ]' |
출력 최댓값 — 범위 검사를 위한 최대 출력값
[]
(디폴트 값) | 스칼라
Simulink에서 검사하는 출력 범위의 상한 값입니다.
Simulink는 이 최댓값을 사용하여 다음 작업을 수행합니다.
일부 블록에 대해 파라미터 범위 검사(Specify Minimum and Maximum Values for Block Parameters 참조).
시뮬레이션 범위 검사(Specify Signal Ranges 및 Enable Simulation Range Checking 참조).
고정소수점 데이터형의 자동 스케일링.
모델에서 생성한 코드 최적화. 이 최적화 작업은 알고리즘의 코드를 제거하고, SIL 또는 외부 모드 같은 일부 시뮬레이션 모드의 결과에 영향을 줄 수 있습니다. 자세한 내용은 Optimize using the specified minimum and maximum values (Embedded Coder) 항목을 참조하십시오.
참고
출력 최댓값은 실제 출력 신호를 포화시키거나 자르지 않습니다. 대신 Saturation 블록을 사용하십시오.
프로그래밍 방식의 사용법
블록 파라미터: OutMax |
유형: 문자형 벡터 |
값: '[ ]' | 스칼라 |
디폴트 값: '[ ]' |
출력 데이터형 — 출력 데이터형 지정
상속: 입력과 동일
(디폴트 값) | 상속: 내부 규칙을 통해 상속
| 상속: 역전파를 통해 상속
| double
| single
| half
| int8
| int32
| uint32
| int64
| uint64
| fixdt(1,16,2^0,0)
| <데이터형 표현식>
| ...
출력의 데이터형을 선택합니다. 유형은 상속되거나 직접 지정되거나 Simulink.NumericType
과 같은 데이터형 객체로 표현될 수 있습니다.
종속성
입력값이 단정밀도보다 작은 부동소수점 데이터형인 경우 상속: 내부 규칙을 통해 상속
출력 데이터형은 Inherit floating-point output type smaller than single precision 구성 파라미터의 설정에 따라 다릅니다. 데이터형을 인코딩하는 데 필요한 비트 수가 단정밀도 데이터형을 인코딩하는 데 필요한 32비트보다 작으면 데이터형은 단정밀도보다 작습니다. 예를 들어, half
형과 int16
형은 단정밀도보다 작습니다.
프로그래밍 방식의 사용법
블록 파라미터: OutDataTypeStr |
유형: 문자형 벡터 |
값: 'Inherit: Same as input' | 'Inherit: Inherit via internal rule' | 'Inherit: Inherit via back propagation' | 'single' | 'half' | 'int8' | 'uint8' | int16 | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | fixdt(1,16,0) | fixdt(1,16,2^0,0) | fixdt(1,16,2^0,0) | '<data type expression>' |
디폴트 값: 'Inherit: Same as input' |
고정소수점 툴에 의해 변경되지 않도록 출력 데이터형 설정 잠금 — 고정소수점 툴에 의해 출력 데이터형이 재정의되지 않도록 방지하는 옵션
off
(디폴트 값) | on
블록에 지정한 출력 데이터형이 고정소수점 툴에 의해 재정의되지 않도록 방지하려면 이 파라미터를 선택합니다. 자세한 내용은 Use Lock Output Data Type Setting (Fixed-Point Designer) 항목을 참조하십시오.
프로그래밍 방식의 사용법
블록 파라미터: LockScale |
유형: 문자형 벡터 |
값: 'off' | 'on' |
디폴트 값: 'off' |
정수 반올림 모드 — 고정소수점 연산의 반올림 모드
내림(Floor)
(디폴트 값) | 올림(Ceiling)
| 수렴(Convergent)
| 최근접(Nearest)
| 반올림(Round)
| 최대단순(Simplest)
| 0 방향(Zero)
고정소수점 연산의 반올림 모드를 지정합니다. 자세한 내용은 반올림 (Fixed-Point Designer) 항목을 참조하십시오.
블록 파라미터는 표현 가능한 가장 가까운 값으로 항상 반올림됩니다. 블록 파라미터의 반올림 동작을 제어하려면 마스크 필드에 MATLAB® 반올림 함수를 사용하여 표현식을 입력하십시오.
프로그래밍 방식의 사용법
블록 파라미터: RndMeth |
유형: 문자형 벡터 |
값: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
디폴트 값: 'Floor' |
정수 오버플로 시 포화 — 정수 오버플로가 발생한 경우의 동작 선택
off
(디폴트 값) | on
이 체크박스를 선택하는 경우 출력이나 결과뿐만 아니라 블록의 모든 내부 연산에 포화가 적용됩니다. 일반적으로 코드 생성 프로세스는 오버플로가 발생할 가능성이 없는 경우를 감지할 수 있습니다. 이 경우, 코드 생성기는 포화 코드를 생성하지 않습니다.
동작 | 이 동작을 수행한 이유 | 발생하는 문제 | 예 |
---|---|---|---|
이 체크박스를 선택합니다. | 모델에 오버플로가 발생할 가능성이 있어 생성된 코드에서 포화 보호를 명시적으로 지정하려고 합니다. | 오버플로 시 데이터형이 표현할 수 있는 최댓값으로 포화됩니다. | 숫자 130은 부호 있는 8비트 정수에 맞지 않으며 127로 포화됩니다. |
이 체크박스를 선택하지 않습니다. | 생성된 코드의 효율성을 최적화하려고 합니다. | 오버플로 시 데이터형이 표현할 수 있는 적절한 값으로 래핑됩니다. | 숫자 130은 부호 있는 8비트 정수에 맞지 않으므로 -126으로 래핑됩니다. |
프로그래밍 방식의 사용법
블록 파라미터: SaturateOnIntegerOverflow |
유형: 문자형 벡터 |
값: 'off' | 'on' |
디폴트 값: 'off' |
블록 특성
데이터형 |
|
직접 피드스루 |
|
다차원 신호 |
|
가변 크기 신호 |
|
영점교차 검출 |
|
확장 기능
C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
HDL 코드 생성
HDL Coder™를 사용하여 FPGA 및 ASIC 설계를 위한 VHDL, Verilog 및 SystemVerilog 코드를 생성할 수 있습니다.
HDL Coder™는 HDL 구현과 합성된 논리에 영향을 주는 추가 구성 옵션을 제공합니다.
이 블록에는 하나의 디폴트 HDL 아키텍처가 있습니다.
일반 | |
---|---|
ConstrainedOutputPipeline | 기존 지연을 설계 내부로 이동하여 출력에 배치하는 레지스터 개수입니다. 분산된 파이프라이닝은 이러한 레지스터를 다시 분산하지 않습니다. 디폴트 값은 |
InputPipeline | 생성된 코드에 삽입할 입력 파이프라인 단계의 개수입니다. 분산 파이프라이닝과 제약이 있는 출력 파이프라이닝은 이러한 레지스터를 이동할 수 있습니다. 디폴트 값은 |
OutputPipeline | 생성된 코드에 삽입할 출력 파이프라인 단계의 개수입니다. 분산 파이프라이닝과 제약이 있는 출력 파이프라이닝은 이러한 레지스터를 이동할 수 있습니다. 디폴트 값은 |
네이티브 부동소수점 | |
---|---|
LatencyStrategy | 부동소수점 연산자인 경우 설계 내 블록을 |
이 블록은 Native Floating Point
모드의 부동소수점 데이터형을 가진 복소 신호를 위한 코드 생성을 지원합니다.
고정소수점 데이터형을 사용하는 복소 신호가 있는 블록에 대한 코드 생성은 지원하지 않습니다. 복소수의 크기를 계산하려면 대신 Complex to Magnitude-Angle (DSP HDL Toolbox) 블록을 사용하십시오.
PLC 코드 생성
Simulink® PLC Coder™를 사용하여 Structured Text 코드를 생성할 수 있습니다.
고정소수점 변환
Fixed-Point Designer™를 사용하여 고정소수점 시스템을 설계하고 시뮬레이션할 수 있습니다.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)