시뮬레이션 데이터 인스펙터에서 시뮬레이션 데이터 보기
시뮬레이션 데이터 인스펙터를 사용하여 시뮬레이션 중에 기록하는 데이터 등 전체 설계 절차 전체 중에 생성하는 데이터를 시각화할 수 있습니다. 또한 테스트 데이터와 기록된 기타 데이터를 시뮬레이션 데이터 인스펙터로 가져와 기록된 시뮬레이션 데이터와 함께 검사하고 분석할 수도 있습니다. 시뮬레이션 데이터 인스펙터로 데이터 가져오기에 대한 자세한 내용은 Import Data from Workspace or File into Simulation Data Inspector 항목을 참조하십시오.
Simulink® 모델에서 기록하는 시뮬레이션 데이터는 시뮬레이션 데이터 인스펙터에 기록됩니다. 시뮬레이션 데이터 인스펙터는 다양한 유형의 플롯을 제공하며, 이를 사용하여 데이터에 대한 복잡한 시각화를 쉽게 만들 수 있습니다. 자세한 내용은 Create Plots Using the Simulation Data Inspector 항목을 참조하십시오.
기록된 데이터를 표시합니다
모델을 시뮬레이션할 때 다양한 유형의 기록된 데이터가 자동으로 시뮬레이션 데이터 인스펙터로 스트리밍됩니다. 시뮬레이션 데이터 인스펙터로 스트리밍되는 데이터는 시뮬레이션 이후에도 사용할 수 있습니다. 다른 유형의 기록된 시뮬레이션 데이터는 시뮬레이션이 일시 중지, 중지 또는 완료된 경우에만 시뮬레이션 데이터 인스펙터에 나타납니다. 이러한 유형의 기록된 데이터를 보려면 구성 파라미터 대화 상자를 열고 데이터 가져오기/내보내기 창에서 기록된 작업 공간 데이터를 시뮬레이션 데이터 인스펙터에 레코딩을 선택합니다. 시뮬레이션 데이터 기록에 대한 자세한 내용은 시뮬레이션 데이터 저장하기 항목을 참조하십시오.
시뮬레이션 데이터 유형 | 시뮬레이션 중과 시뮬레이션 후에 볼 수 있는 데이터 | 시뮬레이션이 일시 중지, 중지 또는 완료된 후에만 볼 수 있는 데이터 |
---|---|---|
출력 |
| 기록된 작업 공간 데이터를 시뮬레이션 데이터 인스펙터에 레코딩 파라미터가 선택된 경우 |
신호 데이터 | 다음 기법 중 하나를 사용하여 기록된 신호 데이터:
| 기록된 작업 공간 데이터를 시뮬레이션 데이터 인스펙터에 레코딩 파라미터가 선택된 경우, 다음을 사용하여 기록된 신호 데이터:
|
상태 |
| 기록된 작업 공간 데이터를 시뮬레이션 데이터 인스펙터에 레코딩 파라미터가 선택된 경우 |
데이터 저장소 | 모든 데이터 저장소 데이터 | 해당 없음 |
참고
Structure
형식이나 Array
형식을 사용하여 상태와 출력을 기록할 때는 데이터를 시뮬레이션 데이터 인스펙터에 기록하는 시간도 기록해야 합니다.
시뮬레이션 데이터 인스펙터는 사용 가능한 데이터를 검사 창의 테이블에 표시합니다. 신호를 플로팅하려면 신호 옆에 있는 체크박스를 선택하십시오. 레이아웃을 수정하고 다양한 시각화를 추가하여 시뮬레이션 데이터를 분석할 수 있습니다.
시뮬레이션 데이터 인스펙터는 아카이브를 사용하여 들어오는 시뮬레이션 데이터를 관리합니다. 기본적으로 새 시뮬레이션을 시작할 때 이전 실행이 아카이브로 이동합니다. 아카이브의 신호를 플로팅하거나 관심 실행을 다시 작업 영역으로 끌어서 놓을 수 있습니다.
복소수 데이터 보기
complexSignal
모델은 두 가지 복소 신호를 기록합니다. Complex Square Wave
신호는 Outport 블록을 사용하여 기록됩니다. Complex Sine Wave
신호는 신호 기록을 사용하여 기록됩니다. 모델을 엽니다.
mdl = "complexSignal";
open_system(mdl)
모델을 시뮬레이션합니다. 그런 다음 시뮬레이션 데이터 인스펙터에서 시뮬레이션 데이터를 플로팅합니다.
out = sim(mdl); Simulink.sdi.plot(out);
시뮬레이션 데이터 인스펙터의 속성 창을 사용하여 복소 신호를 시각화하는 방법을 제어할 수 있습니다. 다음 복소 신호 형식 옵션 중에서 선택할 수 있습니다.
Magnitude
Magnitude-Phase
Phase
Real-Imaginary
신호 테이블에서 Complex Square Wave
신호를 선택합니다. 그런 다음 복소 신호 형식 드롭다운 메뉴에서 Real-Imaginary
를 선택합니다. Magnitude-Phase
또는 Real-Imaginary
를 복소 신호 형식으로 선택하는 경우 시뮬레이션 데이터 인스펙터는 신호의 두 성분을 모두 플로팅합니다. Real-Imaginary
형식 신호의 경우 선 색은 신호의 실수부 색을 지정하며, 허수부는 선 색의 음영을 바꾼 색입니다.
신호 기록을 사용하여 데이터를 기록할 때 모델의 신호에 대해 Instrumentation Properties 항목을 사용하여 신호의 디폴트 복소 신호 형식을 변경할 수도 있습니다. Complex Sine Wave
신호의 계측 속성에 액세스하려면 신호의 기록 배지를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다. 복소 신호 형식 드롭다운 메뉴에서 Magnitude-Phase
를 선택합니다.
모델을 다시 시뮬레이션하여 시뮬레이션 데이터 인스펙터에서 Magnitude-Phase
형식을 사용하여 Complex Sine Wave
신호를 시각화합니다.
out = sim(mdl);
String형 데이터 보기
시뮬레이션 데이터 인스펙터에서 신호 데이터와 함께 string형 데이터를 기록하고 볼 수 있습니다. 모델 stringData
에서 Sine Wave 블록의 값은 스위치가 출력에 Positive
문자열을 보낼지 아니면 Negative
문자열을 보낼지 제어합니다. 모델을 엽니다.
mdl = "stringData";
open_system(mdl)
모델을 시뮬레이션합니다.
out = sim(mdl);
시뮬레이션 데이터 인스펙터를 엽니다.
Simulink.sdi.view
신호 테이블에서 Sine Wave
신호와 Switch
신호를 선택하여 결과를 플로팅합니다. String형 신호는 그래픽 보기 영역의 하단에 표시됩니다.
데이터 커서 표시/숨기기 를 선택하여 string형 신호 값이 사인 신호의 값과 어떻게 대응하는지 검사합니다.
플롯에 여러 string형 신호를 플로팅할 때 신호는 시뮬레이션되거나 가져온 순서대로 쌓이고 가장 최근 신호가 맨 위에 배치됩니다. 예를 들어, 스위치를 제어하는 사인파의 위상을 변경합니다. 그런 다음 모델을 다시 시뮬레이션합니다. 시뮬레이션 데이터 인스펙터에서 두 실행의 모든 신호를 선택하여 두 시뮬레이션 결과를 하나의 플롯에 시각화합니다. 두 실행을 더 쉽게 구분할 수 있도록 선 색을 변경할 수 있습니다. 두 번째 실행의 string형 데이터는 첫 번째 실행의 string형 데이터 위에 쌓입니다.
다차원 데이터 보기
시뮬레이션 데이터 인스펙터에서 다차원 신호 데이터를 보고 분석할 수 있습니다. 다차원 신호 값을 갖는 신호를 보려면 배열 플롯을 사용하십시오. 모델 MultiDim
에는 6개의 Sine Wave 블록이 포함되며, 각 블록은 이전 사인파에서 하나씩 수직으로 변위되고 Mux 블록에 연결됩니다. Mux
블록의 출력은 Outport 블록을 사용하여 시뮬레이션 데이터 인스펙터에 기록됩니다.
모델을 시뮬레이션합니다. 그런 다음 시뮬레이션 데이터 인스펙터를 엽니다.
mdl = "MultiDim";
sim(mdl);
Simulink.sdi.view
배열 플롯에 데이터를 플로팅하려면 시각화 및 레이아웃 을 클릭합니다. 그런 다음 배열을 선택합니다. 다차원 샘플 값을 갖는 신호를 배열 플롯에 플로팅하면 줄기 플롯에는 주어진 시간에 각 샘플의 값이 표시됩니다. 시간은 플롯의 오른쪽 위 코너에 표시됩니다. 신호의 차원은 신호 이름 옆에 있는 괄호 안에 표시됩니다. 예를 들어, 다차원 신호
MultiDimSig
에는 6개의 채널이 포함되므로 데이터의 배열 플롯에는 6개의 마커가 있습니다.
또한 다차원 신호의 표현을 다차원 샘플 값을 갖는 단일 신호에서, 채널이라고 하는 스칼라 샘플 값을 갖는 신호 세트로 변환할 수도 있습니다. 채널로 변환한 후에는 시간 플롯, XY 플롯, 맵 또는 스파크라인을 사용하여 데이터를 플로팅할 수 있습니다. 배열 플롯에서 다차원 신호 플로팅과 시간 플롯에서 개별 채널 플로팅 간의 차이를 확인하려면 시뮬레이션을 다시 실행하십시오.
sim(mdl);
두 번째 실행의 다차원 신호를 채널로 변환하려면 시뮬레이션 데이터 인스펙터에서 신호 이름 옆에 있는 괄호 안에 표시되는 신호의 차원을 클릭합니다. 그런 다음 채널로 변환을 선택합니다.
시각화 및 레이아웃 메뉴에서
2x1
레이아웃을 선택합니다. 하단 서브플롯에서 첫 번째 실행의 다차원 샘플 값을 갖는 신호를 배열 플롯에 플로팅합니다. 상단 서브플롯에서는 두 번째 실행의 채널을 시간 플롯에 플로팅합니다. 특정 시간에 각 채널의 값을 보려면 시간 플롯에 커서를 추가합니다. 커서 1개를 서브플롯에 추가하려면 데이터 커서 표시/숨기기 옆에 있는 화살표를 클릭합니다. 그런 다음 커서 1개를 선택합니다.
커서를 끌어서 놓으면 배열 플롯의 샘플 값이 변경됩니다. 시간을 따라 커서를 이동하면 배열 플롯에서 각 샘플 값의 표시가 해당 특정 시간의 해당 요소 값을 표시하도록 변경됩니다. 이 경우 두 실행에는 동일한 데이터가 포함되므로 배열 플롯의 값은 시간 플롯에서 대응되는 각 채널에 대해 커서가 표시하는 값과 일치합니다. 예를 들어, 커서가 3.6
초에 위치하면 배열 플롯의 오른쪽 위 코너에 표시되는 시간도 3.6
이며 배열 플롯의 첫 번째 샘플 값은 시간 플롯의 MultiDimSig(1)
신호에 대해 커서가 표시하는 값과 같습니다.
데이터를 재생하여 시간 경과에 따른 배열 플롯의 값 변화를 확인할 수도 있습니다. 재생 컨트롤 표시/숨기기 를 클릭합니다. 그런 다음 재생
을 클릭합니다.
프레임 기반 데이터 등 다차원 신호 데이터의 검사 및 분석에 대한 자세한 내용은 Analyze Multidimensional Signal Data 항목을 참조하십시오.
프레임 기반 데이터 보기
일부 애플리케이션은 신호의 여러 샘플을 프레임으로 버퍼링하여 프레임의 각 샘플을 개별적으로 처리하는 대신 단일 계산으로 처리합니다. 프레임 기반 신호를 사용하여 작업할 때는 프레임별로 데이터를 분석하거나 버퍼링을 제거하고 프레임 없이 신호를 분석할 수 있습니다.
데이터를 점 단위가 아닌 프레임 단위로 처리하면 일부 애플리케이션에 필요한 성능 향상이 가능합니다. 프레임 기반 신호를 샘플 기반 신호로 기록하면 시뮬레이션 이후에 시뮬레이션 데이터 인스펙터에서 프레임을 변환할 수 있습니다. 시뮬레이션 데이터 인스펙터에서 프레임 기반 데이터 보기에 대한 자세한 내용은 View Multidimensional Signals Using the Array Plot 항목을 참조하십시오.
이벤트 기반 데이터 보기
이벤트 데이터를 시뮬레이션 데이터 인스펙터에 기록하거나 가져올 수 있습니다. 이 예제에서 모델 SimpleMessagesModel
은 신호 기록을 사용하여 신호 데이터와 메시지 데이터를 기록합니다. 이 모델에 대한 자세한 내용은 Animate and Understand Sending and Receiving Messages 항목을 참조하십시오.
mdl = "SimpleMessagesModel";
open_system(mdl)
모델을 시뮬레이션합니다. 시뮬레이션 중:
Sine Wave 블록이 사인파 신호를 생성합니다.
Send 블록은
0.1
초마다 사인파 신호의 값을 메시지로 변환하여 Queue 블록으로 보냅니다.Queue 블록이 Receive 블록으로 메시지를 보냅니다.
Receive 블록이 복원된 사인파 신호를 생성합니다.
out = sim(mdl);
데이터를 시뮬레이션 데이터 인스펙터에서 플로팅합니다. 시뮬레이션 데이터 인스펙터는 메시지 데이터를 줄기 플롯으로 표시하며, 여기서 줄기의 값은 주어진 시뮬레이션 시간의 메시지 페이로드로 사용된 사인파의 샘플입니다.
Simulink.sdi.plot(out);