# Understanding Multi-Record Acquisition Mode

Blog Post created by FrankC 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