Understanding Multi-Record Acquisition Mode

In an earlier blog we looked at maximum acquisition time for a single record. This blog looks at the relationship between sample rate, record size, and memory size in multi-record acquisition mode. It’s split into several sections:

Maximum acquisition time

Maximum number of records

Fully utilizing available memory

Calculating required memory for a specific application

Some points to note:

These calculations use ideal values – multi-record mode has a small overhead that varies according to the configuration, and this isn’t taken into account. As such, these calculations have a small margin of error.

Exact values can be obtained via the Soft Front Panel (SFP), which takes into account the overhead.

This blog doesn’t explain how to set up or use multi-record mode. That information can be found in the “Data Acquisition” section of the user manual.

Maximum Acquisition Time

Maximum acquisition time is calculated as:

Time = Memory per Channel / (Sample Rate * Memory per Sample)

This is the same formula we used to calculate maximum acquisition time in single record mode – refer to the earlier blog for full details. The difference in multi-record mode is that the maximum decimation ratio, for both DGT and DDC modes, is 25 (32).

There’s a limit to the number of records that can be stored in acquisition memory in multi-record mode, so it’s important to consider this when choosing the record size, or the memory option. Those calculations are explained later in this blog, but the record limits are as follows:

M9203A, M9703B, and M9710A can store a maximum of 217 (131,072) records/channel

M9709A can store a maximum of 216 (65,536) records/channel

Fully Utilizing Available Memory

Let’s look at this from 2 perspectives:

If number of records = maximum possible, then what’s the largest record size I can use?

Note: 200 microseconds and 10,000 samples were chosen so that all results are below the maximum record limit.

M9203A-SR2 / M9703B-SR2

Record Size (Secs) =

0.00020000

Mode

Memory/Channel (Bytes)

Decimation

Sample Rate (Sa/s)

Bandwidth (Hz)

Bytes/ Sample

Maximum Time (Secs)

Number of Records

DGT

134,217,728

N/A

1,600,000,000

N/A

2

0.04194304

209

DGT

536,870,912

N/A

1,600,000,000

N/A

2

0.16777216

838

DGT

2,147,483,648

N/A

1,600,000,000

N/A

2

0.67108864

3355

DGT

134,217,728

32

50,000,000

N/A

2

1.34217728

6710

DGT

536,870,912

32

50,000,000

N/A

2

5.36870912

26843

DGT

2,147,483,648

32

50,000,000

N/A

2

21.47483648

107374

DDC

134,217,728

4

400,000,000

320,000,000

4

0.08388608

419

DDC

536,870,912

4

400,000,000

320,000,000

4

0.33554432

1677

DDC

2,147,483,648

4

400,000,000

320,000,000

4

1.34217728

6710

DDC

134,217,728

32

50,000,000

40,000,000

8

0.33554432

1677

DDC

536,870,912

32

50,000,000

40,000,000

8

1.34217728

6710

DDC

2,147,483,648

32

50,000,000

40,000,000

8

5.36870912

26843

M9203A-SR2 / M9703B-SR2

Record Size (Sa) =

10,000

Mode

Memory/Channel (Bytes)

Decimation

Sample Rate (Sa/s)

Bandwidth (Hz)

Bytes/ Sample

Maximum Time (Secs)

Number of Records

DGT

134,217,728

N/A

1,600,000,000

N/A

2

0.04194304

6710

DGT

536,870,912

N/A

1,600,000,000

N/A

2

0.16777216

26843

DGT

2,147,483,648

N/A

1,600,000,000

N/A

2

0.67108864

107374

DGT

134,217,728

32

50,000,000

N/A

2

1.34217728

6710

DGT

536,870,912

32

50,000,000

N/A

2

5.36870912

26843

DGT

2,147,483,648

32

50,000,000

N/A

2

21.47483648

107374

DDC

134,217,728

4

400,000,000

320,000,000

4

0.08388608

3355

DDC

536,870,912

4

400,000,000

320,000,000

4

0.33554432

13421

DDC

2,147,483,648

4

400,000,000

320,000,000

4

1.34217728

53687

DDC

134,217,728

32

50,000,000

40,000,000

8

0.33554432

1677

DDC

536,870,912

32

50,000,000

40,000,000

8

1.34217728

6710

DDC

2,147,483,648

32

50,000,000

40,000,000

8

5.36870912

26843

Calculating Required Memory

The previous section looked at fully utilizing available memory, but how do we calculate the minimum memory requirement for an application? i.e. Why purchase the maximum memory option if it’s not needed?