Arbtool 1.01 enclosed (CSV or multicycle generator to RIGOL ARB/RAF) - Page 1
Forum section: electronics / testgear

author: alank2
author_rank: Super Contributor
timestamp: October 13, 2015, 08:13:16 pm
content: Hi Everyone,I had this in another thread, but probably no one was seeing it because it started as a question.It will create a raw file (ARB, RAF) compatible with allEXCEPTthe DG1000Z series which I think has a header on it.Use 16384 for the points (memory) setting for built in gens in the DS1000Z/DS2000 scopes. Use 4096 for the DG1022.It can convert a raw CSV/TXT file to the ARB/RAF includingscalingthe voltages using the amplitude and offset settings. It will calculate and display the valid range of voltages. Voltages outside of this range will rail at the highest or lowest 14 bit value. It will automaticallyup/down converta CSV file to the number of points you specify. For example, the supplied file.csv test file only has 16 points in it. When you convert it, it will be up converted to the value in the points field. There is an interpolation check box that can enable interpolation between points in this case that will create a straight line between them, turning it off will create a stair type effect. There is a small graph window that shows what the waveform looks like.There is also a tab that generates waveforms, you can make a sine/square/ramp/pulse/noise type of waveform. The arbitrary waveform is supposed to be one cycle, but this allows you to specify the number of cycles you want so you can multiply your generator frequency. If you put 5 cycles then when you specify 1 MHz on the waveform generator, it will generate 5 MHz.I found that Rigol will tick a sample with 0x8000 if that sample is editable, so the tool will now create these editable points where it can. If you import a CSV file that has 100 points, each point will be marked editable. If you generate a square, ramp, or pulse in the generate waveform tab, it will mark those with editable points as well.This is version 1.01.It will not talk to a scope directly. It will generate an ARB or RAF file that you can copy to a USB stick and load on the signal gen.Good luck!

author: none
author_rank: Contributor
timestamp: October 04, 2016, 07:48:55 am
content: Thanks for sharing. I haven't yet tested your software but maybe this is a good place to share the conversion program and file format info I gathered in 2014 for the DS1000Z-S:https://github.com/gnbl/csv2arb(C and Python sources as well as win32 binary). Looks like I had not completely figured out how the scope interpolates between points, though.

author: nickwest
author_rank: Newbie
timestamp: March 04, 2022, 01:08:23 am
content: This looks like just the tool I need, but my MSO5074 doesn't like the .ARB file that I generated. Has anyone tried this tool with the MSO5074? Is there a magic number for the points (memory) setting that I should try?

author: nickwest
author_rank: Newbie
timestamp: March 04, 2022, 01:17:08 am
content: I've tried the supplied file.csv, and I've tried reducing the points (memory) setting to 4096. Every .CSV I have tried displays OK in Arbtool, but when I try the output on the Rigol scope still says it is an "invalid file type."

author: thm_w
author_rank: Super Contributor
timestamp: March 04, 2022, 01:21:21 am
content: Quote from: nickwest on March 04, 2022, 01:08:23 amYou probably need to add the header:https://www.eevblog.com/forum/blog/new-rigol-scope/msg2568447/#msg2568447This might be relevant:https://gist.github.com/idt12312/a9d9a600a100b7d0ad121114d1d4cf5dAlso there are two gen channels, although I'd think it should accept a file with just one channel input.

author: norsci
author_rank: Newbie
timestamp: March 07, 2022, 05:52:36 am
content: I wanted to post in case it helps others looking for an answer. I have a Rigol MSO5074 oscilloscope and a Rigol DG1022Z function generator. I use ARB files regularly and have found them relatively easy to work with, once you know the file format.If you have the oscilloscope to hand, the easiest way to get an example file is to set up the GENI or GENII output, choose ARB as the function type, then load the waveform from one of the channels (note, the channel does not need to actually hold a useful signal) and save the waveform to an ARB file. If you save the file to a USB stick then you can transfer it to a PC and inspect the file format.The ARB file is a text file format, CSV delimited, and the header contains the following fixed content:Code:X-axis,WaveGen-ARBsecond,voltThe following rows contain the time in seconds, plus the voltage. The file can be as long as required.Now, there are some details/limitations that need to be acknowledged:While the file defines the voltage, the actual output voltage values can be specified using controls on the device, e.g. the upper and lower voltage levels.Likewise, while the file defines the time, the actual output time period can be specified using the control on the device, e.g. the frequency or the period of the output waveform.I'll just finish with the first few dozen lines from a sample file that is confirmed as working on both of the devices mentioned above. Best of luck with it!Code:X-axis,WaveGen-ARBsecond,volt0,2.304734752.2125851845296E-05,2.302885754.42517036905921E-05,2.302146256.63775555358881E-05,2.302885758.85034073811842E-05,2.3039950.00011062925922648,2.302885750.000132755111071776,2.3039950.000154880962917072,2.3039950.000177006814762368,2.30473450.000199132666607664,2.30436450.00022125851845296,2.302885750.000243384370298256,2.305104250.000265510222143552,2.308062250.000287636073988849,2.30621350.000309761925834145,2.305843750.000331887777679441,2.30325550.000354013629524737,2.30473450.000376139481370033,2.307322750.000398265333215329,2.3091720.000420391185060625,2.308062750.000442517036905921,2.3088020.000464642888751217,2.30991150.000486768740596513,2.308062250.000508894592441809,2.306953250.000531020444287105,2.30806250.000553146296132401,2.30473450.000575272147977697,2.30621350.000597397999822993,2.3084320.000619523851668289,2.305104250.000641649703513585,2.30806250.000663775555358881,2.305104250.000685901407204177,2.304364750.000708027259049473,2.3047345