샘플 바이너리 데이터그램
샘플 데이터그램에는 각 "핑" 신호의 샘플 데이터가 저장됩니다. 이 데이터그램은 DataType 파라미터에 따라 다른 유형의 데이터가 저장되기 때문에 크기가 다를 수 있습니다.
설명
struct SampleDatagram
		{
		DatagramHeaderDgHeader; // "RAW3"
		char ChannelID[128]; // Channel identification string
		short Datatype;
				// Bit0 = Power
				// Bit1 = Angle
				// Bit2 = ComplexFloat16
				// Bit3 = ComplexFloat32
				// Bit8-10: Number of Complex per Samples
		char Spare[2];
		long Offset; // First sample number
		long Count; // Number of samples
		byte Samples[]; // Received sample values
		};
설명
이 구조에서 "//" 문자에 이어 나오는 정보는 해당 라인의 주석입니다.
Samples[] 값의 수는 Count 및 Datatype의 값에 따라 달라집니다.
예를 들어 DataType의 십진수 값이 1032라고 하면 Samples[]에는 ComplexFloat32 샘플이 저장되며, 각 샘플은 4개의 복소수(트랜스듀서 사분면 4개당 1개씩)로 구성됩니다. 이 경우 Samples[]은 32비트 부동 소수점의 4*2*Count 값으로 구성됩니다. 이는 샘플마다 4개의 복소수가 각각 실수 영역 1개와 허수 영역 1개로 구성되기 때문입니다. 샘플 값 S(i,n)은 다음과 같이 정렬됩니다.
Real(S(1,1)), Imag(S(1,1)),
Real(S(2,1)), Imag(S(2,1)),
Real(S(3,1)), Imag(S(3,1)),
Real(S(4,1)), Imag(S(4,1)),
Real(S(1,2)), Imag(S(1,2)), ...