FrankC

Understanding Multi-Record Acquisition Mode

Blog Post created by FrankC Employee on Oct 16, 2018

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:

  1. 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.
  2. Exact values can be obtained via the Soft Front Panel (SFP), which takes into account the overhead.
  3. 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).

 

Examples:

  • DGT mode; maximum memory, no external clock, no binary decimation
  • DGT mode; maximum memory, no external clock, maximum binary decimation (25)
  • DDC mode; maximum memory, no external clock, minimum DDC decimation (22)
  • DDC mode; maximum memory, no external clock, maximum DDC decimation (25)

Note: M9709A & M9710A don’t support DDC mode, and M9709A doesn’t support binary decimation.

 

M9203A-SR2 / M9703B-SR2

Mode

Memory/Channel
(Bytes)

Decimation

Sample Rate (Sa/s)

Bandwidth
(Hz)

Bytes/
Sample

Maximum Time (Secs)

DGT

2,147,483,648

N/A

1,600,000,000

N/A

2

0.67108864

DGT

2,147,483,648

32

50,000,000

N/A

2

21.47483648

DDC

2,147,483,648

4

400,000,000

320,000,000

4

1.34217728

DDC

2,147,483,648

32

50,000,000

40,000,000

8

5.36870912

M9703B-SR1

Mode

Memory/Channel
(Bytes)

Decimation

Sample Rate (Sa/s)

Bandwidth
(Hz)

Bytes/
Sample

Maximum Time (Secs)

DGT

2,147,483,648

N/A

1,000,000,000

N/A

2

1.07374182

DGT

2,147,483,648

32

31,250,000

N/A

2

34.35973837

DDC

2,147,483,648

4

250,000,000

200,000,000

4

2.14748365

DDC

2,147,483,648

32

31,250,000

25,000,000

8

8.58993459

M9709A

Mode

Memory/Channel
(Bytes)

Decimation

Sample Rate
(Sa/s)

Bandwidth
(Hz)

Bytes/
Sample

Maximum Time (Secs)

DGT

536,870,912

N/A

1,000,000,000

N/A

1

0.53687091

M9710A

Mode

Memory/Channel
(Bits)

Decimation

Sample Rate
(Sa/s)

Bandwidth
(Hz)

Bits/
Sample

Maximum Time (Secs)

DGT

17,179,869,184

N/A

5,000,000,000

N/A

10

0.34359738

DGT

17,179,869,184

32

156,250,000

N/A

10

10.99511628

 

 

 

Maximum Number of Records

 

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:

  1. If number of records = maximum possible, then what’s the largest record size I can use?
  2. If record size = ‘x’, then how many records can I store?

 

 

Number of Records = Maximum Possible:

  • If the record size is defined by time:
    • Size = Max Acquisition Time / Max Number of Records
  • If the record size is defined by number of samples:
    • Size = Integer [Memory per Channel / (Max Number of Records * Memory per Sample)]

 

Examples:

 

M9203A-SR2 / M9703B-SR2

Maximum Records =

131,072

Mode

Memory/Channel
(Bytes)

Decimation

Sample Rate (Sa/s)

Bandwidth
(Hz)

Bytes/
Sample

Maximum Time (Secs)

Record Size (Secs)

DGT

134,217,728

N/A

1,600,000,000

N/A

2

0.04194304

0.00000032

DGT

536,870,912

N/A

1,600,000,000

N/A

2

0.16777216

0.00000128

DGT

2,147,483,648

N/A

1,600,000,000

N/A

2

0.67108864

0.00000512

DGT

134,217,728

32

50,000,000

N/A

2

1.34217728

0.00001024

DGT

536,870,912

32

50,000,000

N/A

2

5.36870912

0.00004096

DGT

2,147,483,648

32

50,000,000

N/A

2

21.47483648

0.00016384

DDC

134,217,728

4

400,000,000

320,000,000

4

0.08388608

0.00000064

DDC

536,870,912

4

400,000,000

320,000,000

4

0.33554432

0.00000256

DDC

2,147,483,648

4

400,000,000

320,000,000

4

1.34217728

0.00001024

DDC

134,217,728

32

50,000,000

40,000,000

8

0.33554432

0.00000256

DDC

536,870,912

32

50,000,000

40,000,000

8

1.34217728

0.00001024

DDC

2,147,483,648

32

50,000,000

40,000,000

8

5.36870912

0.00004096

M9203A-SR2 / M9703B-SR2

Maximum Records =

131,072

Mode

Memory/Channel
(Bytes)

Decimation

Sample Rate (Sa/s)

Bandwidth
(Hz)

Bytes/
Sample

Maximum Time (Secs)

Record Size (Samples)

DGT

134,217,728

N/A

1,600,000,000

N/A

2

0.04194304

512

DGT

536,870,912

N/A

1,600,000,000

N/A

2

0.16777216

2,048

DGT

2,147,483,648

N/A

1,600,000,000

N/A

2

0.67108864

8,192

DGT

134,217,728

32

50,000,000

N/A

2

1.34217728

512

DGT

536,870,912

32

50,000,000

N/A

2

5.36870912

2,048

DGT

2,147,483,648

32

50,000,000

N/A

2

21.47483648

8,192

DDC

134,217,728

4

400,000,000

320,000,000

4

0.08388608

256

DDC

536,870,912

4

400,000,000

320,000,000

4

0.33554432

1,024

DDC

2,147,483,648

4

400,000,000

320,000,000

4

1.34217728

4,096

DDC

134,217,728

32

50,000,000

40,000,000

8

0.33554432

128

DDC

536,870,912

32

50,000,000

40,000,000

8

1.34217728

512

DDC

2,147,483,648

32

50,000,000

40,000,000

8

5.36870912

2,048

 

 

Record Size = ‘x’:

  • If the record size is defined by time:
    • Records = Integer (Max Acquisition Time / Record Size)
  • If the record size is defined by number of samples:
    • Records = Integer [Memory per Channel / (Samples per Record * Memory per Sample)]

 

Examples:

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?

 

As before, let’s look at this from 2 perspectives:

  1. Record size is defined by time.
  2. Record size is defined by number of samples.

 

 

Record Size Defined By Time:

  • Required acquisition time is calculated as:
    • Required Time (Secs) = Record Size (Secs) * Number of Records
  • Required memory can then be calculated as:
    • Memory per Channel = Required Time (Secs) * Sample Rate * Memory per Sample

 

Examples:

Record Size (Secs) =

0.0000625

M9203A-SR2 / M9703B-SR2

Number Of Records =

5,000

Required Time (Secs)

Mode

Decimation

Sample Rate (Sa/s)

Bytes/
Sample

Memory/Channel (Bytes)

Memory Option

0.31250000

DGT

N/A

1,600,000,000

2

1,000,000,000

1 GB/Ch

0.31250000

DGT

32

50,000,000

2

31,250,000

128 MB/Ch

0.31250000

DDC

4

400,000,000

4

500,000,000

512 MB/Ch

0.31250000

DDC

32

50,000,000

8

125,000,000

128 MB/Ch

 

 

Record Size Defined By Number of Samples:

  • Required number of samples is calculated as:
    • Required Samples = Record Size (Sa) * Number of Records
  • Required memory can then be calculated as:
    • Memory per Channel = Required Samples * Memory per Sample

 

Examples:

 

M9203A-SR2 / M9703B-SR2

Record Size (Sa)

Number of Records

Required Samples

Mode

Decimation

Bytes/
Sample

Memory/Channel (Bytes)

Memory Option

10,000

5,000

50,000,000

DGT

N/A

2

100,000,000

128 MB/Ch

10,000

5,000

50,000,000

DGT

32

2

100,000,000

128 MB/Ch

10,000

10,000

100,000,000

DDC

4

4

400,000,000

512 MB/Ch

10,000

10,000

100,000,000

DDC

32

8

800,000,000

1 GB/Ch

Outcomes