Author Topic: Owon AG1012F Arbitrary Waveform Generator  (Read 44933 times)

0 Members and 2 Guests are viewing this topic.

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #25 on: January 30, 2015, 07:21:14 am »
Sweep Mode - Part 1
---------------

On this post I'd like to explore the Sweep mode.

First, let's review the Owon specs and some of Owon's instructions verbatim from the manual:


Sweep (specs)
---------------------------------------------------------------------------
Type                     Linear, Logarithmic
Carrier Waveforms       Sine, Square, Ramp
Direction                  Up / Down
Sweep Time          1 ms to 500 s ± 0.1%
Source             Source, External or Manual

Note: I believe the above line should read:

Trigger Source         Internal, External or Manual

External Trigger Input (specs)
---------------------------------------------------------------------------
Level             TTL-compatible
Slope             Rising or falling (selectable)
Pulse Width          >100 ns
Trigger Delay          0.0 ns - 60 s

Note: I haven't found a way to change the Slope or the Trigger Delay. When I tried the external trigger In Sweep mode the sweep starts when the Slope is falling.

Some of the instructions from the manual
---------------------------------------------------------------------------

To Generate Sweep

Sweep function is only used for CH1. In the frequency sweep mode, the generator "steps" from the start frequency to the stop frequency at the sweep rate you specify. Sweep can be generated by Sine, Square or Ramp Waveforms.

Internal means using the internal source. External means using the Ext Trig/Burst/Fsk In connector in the rear panel to input the external signal. Manual means choosing manual trigger; in Sweep interface, press the knob on the front panel to trigger a Sweep.

             ------------------------------------------------------------------------

With the above in mind I'd like to start with some examples using the manual & external triggers. The basic settings and connections are the same as used in previous posts. Other settings can be read from the AG1012F & SDS7102 images.


Attachment #0 - #1   - Setup example used in the manual

#0 - This is the AG1012F Manual's figure that explains how to read the display during Sweep mode. Notice that there is a function to go to page 2. The manual doesn't have an illustration of page 2, so I captured an equivalent image to illustrate what it looks like.

#1 - This the image of page 2 I captured. Notice that that there are only two active functions, F1 at the top allows you to select the source (Internal, External, or Manual), F2 - F4 are not used, and F5 at the bottom is used to return to page 1. So it doesn't make sense to have a page 2 since on page 1, instead of the function to go to page 2, they could have included the function to set the source. I suspect that the currently unused F2 - F4 may have been part of an unfinished or discarded setup for the trigger slope and possibly trigger delay. Or maybe Owon plans to activate them with a future firmware release.


Attachments #2 - #6   - These illustrate some quirks I've observed while trying different setups.

#2 - This shows the dimension at the top of the graph displaying something it shouldn't. Although it's supposed to display the Sweep Time, as described on #0, it displays the Sta_Freq or StopFreq when you press either one of these function keys. It continues to display one of these values until you subsequently press Sweep Time. So instead of displaying a specific parameter, it's instead behaving as a clone of the Current Parameter at the top of the screen. This is not a biggie, but is an annoying bug if you forget the Sweep Time you are using.

#3 - #4 - These show the AG1012F output when the trigger source is either manual or external while waiting for the trigger to occur. #3 applies to the setup shown on #0, #4 applies to the same setup except that the Sweep Type is Log. Although I can't say that this behavior is misrepresented in the manual or the specs, since as far as I can tell it isn't mentioned at all one way or the other, my opinion is that it would be better and would make more sense if the output was 0V when the unit is supposed to be idle waiting for a trigger. As it stands, for linear sweep you get a constant output of the Start frequency, and for logarithmic sweep you get a constant output of the Stop frequency. I think this could be at the very least annoying in some applications, for example, you may want to check room acoustics by feeding the AWG's output to an audio system. However, before you actually start the sweep you'll be listening to a constant tone while waiting for the trigger. Then, once the sweep is complete, the constant tone will return while waiting for the next trigger.

#5 - #6 - These show the AG1012F output just before a manual or external trigger (first 250ms), during the sweep (next 1s), and after the sweep (last 250ms). #5 is a linear sweep and #6 a is a log sweep, the setup in both cases is like shown on #0. The DSO is in single trigger mode and the trigger is set to pulse. The pulse width is set to correspond to the first few cycles of the sweep.


Attachments #7 - #8   - These are an expanded view of the signal at the center of the screen of #5 and #6. Number #5 is a linear sweep, so at the center of the screen (500ms from the trigger) the frequency should be (100+1000)/2 = 550Hz. The cursor measure on #7 yields 565Hz which is close enough so I'm happy with it as far as accuracy. Number #6 is a logarithmic sweep, so at the center of the screen (500ms from the trigger) the frequency should be 316.2Hz (the calculation I used is in the attached txt file). The cursor measure on #8 yields 318.5Hz which is close enough so I'm also happy with it as far as accuracy.


For the next few examples I'm using CH2 of the AG1012F to generate a 2Vpeak 100 microseconds pulse every 100ms which I have connected to the Ext Trig/Burst/Fsk connector and to CH2 of the DSO. So this will be used to trigger the AG1012F Sweep as well as the DSO via CH2.


#9 - #13   - These illustrate that the Sweep Time, with some setups, is not accurate. So far I've only observed this behavior with linear sweep when certain low start and stop frequencies are used.

#9 - This shows the CH2 settings

#10 - This shows the CH1 settings

#11 - This is the SDS7102 image while viewing #9 and #10. The CH1 settings are an example of the settings that cause an inaccurate Sweep Time. The sweep is triggered by the CH2 pulse on the left and should end 100ms later. However, it ends less than 70ms later in this case. From that point up to the next trigger pulse the signal is a constant 100Hz (the start frequency) which as discussed earlier is what the AG1012F does when waiting for a trigger if setup for linear sweep.

#12 - This shows the CH1 settings, which are the same as #10 above except that the Start Freq was increased to 200Hz.

#13 - This is the SDS7102 image while viewing #9 and #12. Notice that after this small frequency change the Sweep Time is now accurate.



This is all for today on Sweep Mode, there still some more testing I want to do. So far, I'm not very impressed with the performance of this mode. I can't say that it's all bad or useless, but it feels like a project that was started with good intentions but never quite finished!
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #26 on: January 31, 2015, 07:15:22 am »
Sweep Mode - Part 2
---------------

On this post I'd like to continue to explore the Sweep mode.

For a review of the Owon specs and some of Owon's instructions verbatim from the manual check the previous post.

For the next few examples I'm using CH2 of the AG1012F to generate a 2Vpeak 20 microseconds pulse every 20ms which I have connected to the Ext Trig/Burst/Fsk connector and to CH2 of the DSO. So this will be used to trigger the AG1012F Sweep as well as the DSO via CH2.

The following are sweep examples using the different carrier waveforms allowed (sine, square, & ramp), the two sweep directions (up / down), and the two sweep types (linear & logarithmic). I decided to use a 20ms sweep time, a 200Hz start frequency, and a 2kHz stop frequency for better visibility of the waveform's individual cycles when viewing the entire sweep on the DSO.

Attachment #1 - This shows the Ch2 settings.


Attachment #2 - This shows the basic Ch1 settings, in this case for carrier sine, type linear, and direction up.


Attachments #3 - #6  - These show the different types and directions using a sine carrier.

#3 - This SDS7102 image shows carrier sine, type linear, and direction up.

#4 - This SDS7102 image shows carrier sine, type linear, and direction down.

#5 - This SDS7102 image shows carrier sine, type log, and direction up.

#6 - This SDS7102 image shows carrier sine, type log, and direction down.


Attachments #7 - #10  - These show the different types and directions using a square carrier. Although according to Owon you can change the settings of the carrier by pressing the appropriate waveform button, in the case of Square carrier, changing the duty cycle doesn't affect the waveform used for the sweep. When #7 - #10 were captured I had the duty cycle set to 20% in the square waveform setup screen, but as can be seen in the images the waveform used for the sweep output always stays at 50%.

#7 - This SDS7102 image shows carrier square, type linear, and direction up.

#8 - This SDS7102 image shows carrier square, type linear, and direction down.

#9 - This SDS7102 image shows carrier square, type log, and direction up.

#10 - This SDS7102 image shows carrier square, type log, and direction down.


Attachments #11 - #14  - These show the different types and directions using a ramp carrier. In contrast to the square wave, changing the ramp symmetry in the ramp waveform setup screen does change the waveform used for the sweep accordingly. When #11 - #14 were captured I had the symmetry set to 100% for the direction up captures and to 0% for the direction down captures. As can be seen in the images the waveform used for the sweep output properly reflects these symmetry changes.

#11 - This SDS7102 image shows carrier ramp, type linear, and direction up.

#12 - This SDS7102 image shows carrier ramp, type linear, and direction down.

#13 - This SDS7102 image shows carrier ramp, type log, and direction up.

#14 - This SDS7102 image shows carrier ramp, type log, and direction down.


Unfortunately the Sweep Mode doesn't allow arbitrary waveforms. Since the few competing AWGs I've looked at in the web offer this ability, I consider this omission by Owon a missing feature.


Attachment #15 - For this example I'm going to leave everything connected and setup as I had it for #3, the only difference is that I'm going to change the sweep trigger to "internal". So although the DSO is still triggered by the pulses on Ch2, these pulses are no longer synchronized with the sweep although they are happening at the same rate as the sweep time. As a result, the sweep waveform is slowly drifting across the screen and I'm going to try to catch the beginning of the sweep between the pulses just to illustrate what's happening.


Attachments #16 - #18 -  For the last example I'm going to leave everything as above except that I'm going to change the AG1012F setup to what I used on the last post to cause an inaccurate Sweep Time. The only difference is that in this case I'm going to be using internal trigger. What I want to see is whether the internal trigger waits the full 100ms before re-triggering the sweep, or if the sweep is re-triggered immediately after it ends even though it ends 30ms before it should.

#16 - This shows the Ch2 settings.

#17 - This shows the Ch1 settings.

#18 - This is the SDS7102 image while viewing #16 and #17. Remember that the waveform on Ch2, although triggering the DSO, is there just for reference to show the 100ms time span.



This is all for Sweep Mode! Coming up next .... Burst.
 

Offline BFX

  • Frequent Contributor
  • **
  • Posts: 376
  • Country: sk
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #27 on: January 31, 2015, 11:50:43 pm »
Thank you TomC it's very good and precise information. :-+
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #28 on: February 01, 2015, 03:12:41 am »
Thank you TomC it's very good and precise information. :-+

Hi BFX,

Glad you like the thread! :)

If there is anything specific or any issues you want me to look at and post about regarding this AWG please let me know.
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #29 on: February 02, 2015, 06:39:34 am »
N-Cycle Burst Part 1
------------------

On this post I'd like to explore the N-Cycle Burst.

First, let's review the Owon specs and some of Owon's instructions, definitions, & notes verbatim from the manual:


Burst (specs)
---------------------------------------------------------------------------
Waveforms          Sine, Square, Ramp, Pulse, Arbitrary
Types             Count (1 to 1,000,000 periods), infinite, gated
Start Phase          -360° - +360°
Internal Period       (10 ms - 500 s) ± 1%
Gated Source          External Trigger
Trigger Sources       Source, External or Manual

Note: I believe some of the above lines contain errors and should read:

Types             Count (1 to 50,000 periods), infinite, gated
Trigger Source         Internal, External or Manual


External Trigger Input (specs)
---------------------------------------------------------------------------
Level             TTL-compatible
Slope             Rising or falling (selectable)
Pulse Width          >100 ns
Trigger Delay          0.0 ns - 60 s

Note: I haven't found a way to change the Slope or the Trigger Delay. When I tried the external trigger for N-Cycle Burst the sweep starts when the Slope is falling.

Some of the instructions & notes from the manual
---------------------------------------------------------------------------

To Generate Burst

Burst function is only used for CH1. Burst can last for certain times of waveform cycle (N-Cycle Burst), or to be controlled by external gated signals (Gated Burst). Burst can apply to Sine, Square, Ramp, Pulse and Arbitrary waveforms (Noise can not be used).

Set N-Cycle Burst

Start Phase (if current waveform is Pulse, skip this step), define the Start and the Stop Point in a waveform. The phase varies from -360° to +360°. For an Arbitrary Waveform, 0° is the first waveform point.

Set the number of Waveform Cycle in an N-Cycle (from 1 to 50,000). If you choose Infinite, then a continuous waveform will be generated which will not stop until a trigger event happens (the knob on the front panel is pressed).

Note:
- If needed, Burst Period will increase to cater to the specific number of cycles.
- For an infinite-cycle Burst, External or Manual Trigger is needed to activate burst.


Internal means using the internal source. External means using the Ext Trig/Burst/Fsk In connector in the rear panel to input the external signal. Manual means choosing manual trigger; in N-Cycle Burst interface, press the knob on the front panel to output a burst signal.

Term Explanation
----------------------------------------------------------------------------

Burst:
Output Waveforms with set cycle times. Generally it is called BURST function within every Signal Generator.

N-Cycle Burst:
N-Cycle has specific number of waveform cycles, and every burst is activated by a trigger event.

Gated Burst:
Gated burst use external source to control burst as when to be activated.


             ------------------------------------------------------------------------

With the above in mind I'd like to start with some examples using the internal trigger. The basic settings and connections are the same as used in previous posts. Other settings can be read from the AG1012F & SDS7102 images.


Attachment #0 - This is the AG1012F Manual's figure that explains how to read the display during N-Cycle burst.


Attachment #1 - This shows the basic N-Cycle Burst setup I'm using for the next 5 images. The only difference is that each image will use a different signal shape. Notice that for these examples I set the Start phase to 180°. What I want to see is whether the AG1012F correctly picks the starting point that corresponds to 180° for each signal shape. The DSO is triggered on CH1 using an appropriate slope and holdoff to trigger on the first cycle of the burst.

#1 - This is the SDS7102 image while viewing #1 with the shape set to sine. Here there is no doubt that the phase is correct.

#2 - This is the SDS7102 image while viewing #1 with the shape set to square. Although I have the Duty cycle set to 20%, as was the case for sweep, the AG1012F doesn't change the output waveform and always uses 50% duty cycle. So considering that the duty cycle is 50%, 180° happens at the same instant as the positive to negative transition. Since Owon picked the negative end for 0°, it seems reasonable to pick the positive end for 180°.

#3 - This is the SDS7102 image while viewing #1 with the shape set to ramp. Here I have the ramp set to 100% Symmetry. Just like in the case of the square wave, it seems reasonable to pick the positive end for 180°.

#4 - This is the SDS7102 image while viewing #1 with the shape set to pulse. Although this signal shape is closely related to square, in this case the AG1012F does change the output waveform to match the duty cycle or pulse width setting. In this case I have the duty cycle set to 25%. So 180° happens sometime after the positive to negative transition.

#5 - This is the SDS7102 image while viewing #1 with the shape set to ARB. For the ARB I'm using the Besselj built-in arb from page 2 of Maths. This waveform has 3 cycles, the first cycle has the highest amplitude and the third one the lowest. The AG1012F says that 180° is just after the 180° mark of the second cycle. Although in a perfect world the waveform should have started at the 180° mark of the first cycle, the AG1012F is assuming that the waveform is just one cycle. So in my opinion, this isn't a malfunction, it is however a limitation that the user needs to keep in mind.


I'm not done with burst yet, so .... to be continued!
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #30 on: February 03, 2015, 06:38:52 am »
N-Cycle Burst Part 2
------------------

On this post I'd like to continue to explore the N-Cycle Burst.

First, the Owon specs and some of Owon's instructions, definitions, & notes verbatim from the manual can be found in the previous post.


I'd like to start with some examples of infinite burst. The basic settings and connections are the same as used in previous posts. Other settings can be read from the AG1012F & SDS7102 images.


Attachment #1 - This shows the basic N-Cycle Burst setup I'm using for the next 3 images.  The first thing I notice is that the graph still shows 2 cycles (the last N-Cycle setup I used), however, the 2 cycle dimension under the graph was blanked out. So the screen was partially updated to reflect the new setting but still kind of quirky.

The second thing I notice is that the AWG starts to output infinite cycles even though CH2, which I have connected to the Ext Trig/Burst/Fsk In connector in the rear is turned off. This was unexpected since on a note in the manual Owon states: "- For an infinite-cycle Burst, External or Manual Trigger is needed to activate burst."

To make sure CH2 is not doing something it shouldn't I disconnect the coax from the CH2 BNC. I try again by returning to "Cycles" and then switching back to "Infinite", the DSO shows infinite cycles pouring out again. So I decided to use single trigger to find how the beginning of this infinite waveform looks like. Since I have the Starting Phase set to 0°I'm hoping that at least it will start at the chosen phase. The next three images show what happened during the next 3 retries.


Attachments #2 - #4 - These are the SDS7102 images while viewing #1.

#2 - First retry.

#3 - Second retry.

#4 - Third retry.


After experimenting a bit more I discovered that there is a way to get around this quirky behavior. First you have to change the setup to Cycles and to Internal trigger as shown on #5, then you can change the setting to "Infinite". The resulting screen is just like #1 above because when you change from Cycles to Infinite the AG1012F automatically switches to "External". However, in this case, the infinite cycles don't start until a trigger signal is applied to the Ext Trig/Burst/Fsk In connector in the rear.


Attachment #5 - This shows the preliminary setup before switching to "Infinite" cycles. This step is required to make the AG1012F behave correctly when set to infinite cycles.


Attachment #6 - This shows the Ch2 setup. The Ch2 output is initially turned off. After switching from the setup in #5 to the setup in #1 I set the DSO to single trigger and let it wait in "ready" state. Both DSO channels are enabled so that I can capture both AG1012F channels when I finally turn on its Ch2 output.


Attachment #7 - This shows the SDS7102 image when I turn on the AG1012F CH2 output.

As can be seen, here the phase is correct and the infinite cycles don't start prematurely. As in sweep, notice that the trigger happens at the fall of the slope. Again, contrary to the specs, there is no provision for selecting the slope or a trigger delay.

The instructions for generating burst in the Owon manual state that: "If you choose Infinite, then a continuous waveform will be generated which will not stop until a trigger event happens (the knob on the front panel is pressed)."

Although this statement is a little ambiguous, it seems to indicate that the infinite cycles can be stopped with a trigger. However, do they mean that the knob on the front panel is the only type of trigger event that can do this? Or is the statement within the parenthesis an example of one of the trigger events that can do this? In my opinion, it would make sense to implement this feature so that it can be started or stopped either via the front panel Knob or via a trigger signal applied through the Ext Trig/Burst/Fsk In connector in the rear. So the last attachment (#8) shows what actually happens when the 2nd trigger pulse is applied to the connector in the rear.


Attachment #8 - This shows the SDS7102 image when I turn on the AG1012F CH2 output as well as when the 2nd trigger is received.


I'm not done with burst yet, so .... to be continued!
« Last Edit: February 03, 2015, 06:42:11 am by TomC »
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #31 on: February 04, 2015, 07:11:07 am »
N-Cycle Burst Part 3
------------------

On this post I'd like to continue to explore the N-Cycle Burst.

First, the Owon specs and some of Owon's instructions, definitions, & notes verbatim from the manual can be found on post 29


I'd like to start with some examples using Manual Trigger. The basic settings and connections are the same as used in previous posts. Other settings can be read from the AG1012F & SDS7102 images.

Attachment #1 -  This shows the N-Cycle setup I'm using for the next image. The DSO is set to normal trigger and waiting in the ready state. If everything works OK, when I press the AG1012F front panel knob I should get 1 burst that starts at 0° and ends at 0°, after that the DSO should go back to ready state and wait for the next trigger.


Attachment #2 -  This shows the SDS7102 image right after I pressed the front panel knob. I have no issues with this, everything seems to work as advertised.


Attachment #3 -  This shows the basic N-Cycle Burst setup I'm using for the next 3 images. As in the last post when we change to "Infinite" the graph still shows the 2 cycles from the previous setting although the 2 cycle dimension under the graph is blanked out. So those quirks persist when using manual trigger. However, in contrast to external trigger, the AWG doesn't start to output infinite cycles prematurely.

If everything works OK, when I press the AG1012F front panel knob I should get infinite cycles that start at 0°. When I press the front panel knob a second time the infinite cycles should end at 0°. To check the beginning of the infinite cycles the DSO is set to single trigger, so we should be able to see the first cycle starting at 0°. To check the end of the infinite cycles the DSO is set to trigger on a pulse narrower than 5ms. If the infinite cycles end at phase 0° or phase 180° the DSO shouldn't trigger, but if it ends elsewhere the DSO will trigger and show us the short pulse. To cover all bases I'll try this with both positive and negative pulses.


Attachments #4 - #6 - These are the SDS7102 images while viewing #3 after pressing the front panel knob.

#4 - This shows the SDS7102 image right after I pressed the front panel knob the first time.

#5 - This shows the SDS7102 image right after I repeatedly pressed the front panel knob with the DSO trigger set to negative pulse < 4.10ms.

#6 - This shows the SDS7102 image right after I repeatedly pressed the front panel knob with the DSO trigger set to positive pulse < 4.10ms.


Attachment #7 -  After seeing the results I decided to try one more time with a setup just as #3 but with the phase set to 90°.


Attachment #8 -  This shows the SDS7102 image right after I repeatedly pressed the front panel knob with the DSO trigger set to negative pulse < 4.10ms. In this case the burst phase was set to 90°.

These quirks are not a biggie, but one of the instructions in the manual states: "Start Phase (if current waveform is Pulse, skip this step), define the Start and the Stop Point in a waveform."


I'm not done with burst yet, so .... to be continued!
« Last Edit: February 04, 2015, 07:17:40 am by TomC »
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #32 on: February 05, 2015, 05:26:51 am »
Gated Burst
------------------

On this post I'd like to explore the Gated Burst.

First, let's review the Owon specs and some of Owon's instructions & term explanations verbatim from the manual:


Burst (specs)
---------------------------------------------------------------------------
Waveforms          Sine, Square, Ramp, Pulse, Arbitrary
Types             Count (1 to 1,000,000 periods), infinite, gated
Start Phase          -360° - +360°
Internal Period       (10 ms - 500 s) ± 1%
Gated Source          External Trigger
Trigger Sources       Source, External or Manual

Note: I believe some of the above lines contain errors and should read:

Types             Count (1 to 50,000 periods), infinite, gated
Trigger Source         Internal, External or Manual


External Trigger Input (specs)
---------------------------------------------------------------------------
Level             TTL-compatible
Slope             Rising or falling (selectable)
Pulse Width          >100 ns
Trigger Delay          0.0 ns - 60 s

Note: I haven't found a way to change the Slope or the Trigger Delay. When I tried the external trigger for N-Cycle Burst the sweep starts when the Slope is falling.


Some of the instructions from the manual
---------------------------------------------------------------------------

To Generate Burst

Burst function is only used for CH1. Burst can last for certain times of waveform cycle (N-Cycle Burst), or to be controlled by external gated signals (Gated Burst). Burst can apply to Sine, Square, Ramp, Pulse and Arbitrary waveforms (Noise can not be used).

Set the Gated Burst

Start Phase, define the Start and the Stop Point in a waveform. The phase varies from -360° to +360°. For an Arbitrary Waveform, 0° is the first waveform point.

Press F5 to switch between Positive/Negative. Set the Polarity for the Gated Signal.


Term Explanation
----------------------------------------------------------------------------

Burst:
Output Waveforms with set cycle times. Generally it is called BURST function within every Signal Generator.

N-Cycle Burst:
N-Cycle has specific number of waveform cycles, and every burst is activated by a trigger event.

Gated Burst:
Gated burst use external source to control burst as when to be activated.


             ------------------------------------------------------------------------

With the above in mind let's first review a quirk that has to do with what I was doing just before trying gated burst. The basic settings and connections are the same as used in previous posts. Other settings can be read from the AG1012F & SDS7102 images.


Attachment #0 -  This is the AG1012F Manual's figure that explains how to read the display during gated burst.

For the following examples I'm going to use the AG1012F's CH2 as the external source of the gate signal and the trigger for the DSO. I want the positive pulse to be slightly wider than the period of 2 burst cycles, so I chose 22ms since the burst frequency is set to 100Hz. The idea is to see how many cycles of the burst get through the gate. Since the phase setting is supposed to pick both the starting and ending phase, it would seem logical that 3 cycles would consistently make it through the gate.


Attachment #1 -  This is the CH2 setup.


Attachment #2 -  This is the CH1 setup I was using just before switching to gated burst.


Attachment #3 -  This is the CH1 setup after I switched to gated burst. The polarity is set to negative.


Attachment #4 -  This is the SDS7102 image while viewing #3. Nada, Zilch.

For some reason, the combination of the "Infinite" & "Manual" settings on #2 prior to switching to gated burst causes this behavior. Gated burst started working once I went back to N-Cycle and changed either one of these settings prior to returning to gated burst. The buggy behavior is consistent, it occurs every time the setup is like #2 prior to switching to gated burst.


Attachments #5 - #8  - These are SDS7102 images while viewing #3 after getting around the Zilch bug.

The first thing I noticed is that the polarity of the gate as well as the graph representation on #3 is the opposite of what happens. Incredibly, it seems that Owon managed to switch the polarity.

The second thing I noticed is the number of cycles that manage to make it through the gate. The attachments show examples of four different configurations that randomly occurred for several minutes. However, after a while, it settled on the last configuration, which is what I had hoped it would do in the first place.

#5 - Configuration 1.

#6 - Configuration 2.

#7 - Configuration 3.

#8 - Configuration 4.


Attachment #9 -   This is the CH1 setup after switching the polarity to positive, which in its own quirky way really means "negative".


Attachment #10 -  This is the SDS7102 image while viewing #9. I didn't observe any instability in this case, but I wouldn't be surprised if it behaves differently next time I try it.

                    -----------------------------------------------------------------

OK, that's all for burst!

Needless to say that the number of bugs and quirks associated with this and other modes are disappointing! I think Owon can do better, and they should at least try to promptly rectify most of these issues with a firmware upgrade. I haven't contacted them yet, but perhaps by now they are already listening anyway!

However, as of now, when checking for an AG1012F firmware upgrade at their site you get the following message:

"The firmware onto your OWON device is in latest version, no need to upgrade, thanks. "

 

Offline Smokey

  • Super Contributor
  • ***
  • Posts: 2691
  • Country: us
  • Not An Expert
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #33 on: February 05, 2015, 05:39:35 am »
Impressive review dude!

It's this kind of stuff that gets manufacturers to send you gear for future reviews. 
 

Offline jwm_

  • Frequent Contributor
  • **
  • Posts: 319
  • Country: us
    • Not A Number
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #34 on: February 06, 2015, 01:38:03 am »
Excellent work. I have been inspired to buy a 1022F. Cheap dual channel AWGs and 4 channel scopes on the market. What a time to be alive.

I wonder if it is hackable to the 60MHz model in software, I'll upload pictures of the 1022 board to compare to your 1012 when i get it.

Thanks for the thorough review, you demonstrated features I probably would have never realized existed even if i had owned the generator. My current function generator is a fairly generic 3MHz analog deal.

Is it possible to take a thumb drive directly from a Rigol (1000Z) Scope with a dumped waveform and load it into the AWG without intermediate processing on a computer? That would be the bees knees.

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #35 on: February 06, 2015, 04:32:44 am »
Impressive review dude!

It's this kind of stuff that gets manufacturers to send you gear for future reviews.

Thanks Smokey!

I wouldn't mind doing a few of those if I could praise or criticize the way I see fit, but probably there would be an expectation that you color things a bit!
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #36 on: February 06, 2015, 04:58:06 am »
Excellent work. I have been inspired to buy a 1022F. Cheap dual channel AWGs and 4 channel scopes on the market. What a time to be alive.

I wonder if it is hackable to the 60MHz model in software, I'll upload pictures of the 1022 board to compare to your 1012 when i get it.

Thanks for the thorough review, you demonstrated features I probably would have never realized existed even if i had owned the generator. My current function generator is a fairly generic 3MHz analog deal.

Is it possible to take a thumb drive directly from a Rigol (1000Z) Scope with a dumped waveform and load it into the AWG without intermediate processing on a computer? That would be the bees knees.

Hi jwm_,

Glad you found the thread useful!

I think the AG1012F & 1022F may possibly share the same hardware, so a hack from 1012 to 1022 may be doable, but probably not worthwhile. However, as far as the 50MHz & 60MHz family members, I can see at least some hardware elements that wouldn't be suitable, for example the DACs. So I think a hack from a 1022 to a 2062 would involve quite a bit more than a firmware solution.

As for playing back files from a Rigol without further processing, I'm afraid that with the current firmware there is no chance of that. Even regular .bin files from the Owon SDS DSOs are incompatible. You have to create a specific type of file through an SDS DSO feature called "Cut Wave". This produces .ota files that can be placed in a thumb drive and played back by the AG series AWGs. I plan to cover all of this in detail in future posts!
 

Offline jwm_

  • Frequent Contributor
  • **
  • Posts: 319
  • Country: us
    • Not A Number
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #37 on: February 07, 2015, 12:48:37 am »
As for playing back files from a Rigol without further processing, I'm afraid that with the current firmware there is no chance of that. Even regular .bin files from the Owon SDS DSOs are incompatible. You have to create a specific type of file through an SDS DSO feature called "Cut Wave". This produces .ota files that can be placed in a thumb drive and played back by the AG series AWGs. I plan to cover all of this in detail in future posts!

That is too bad, as long as I can reverse engineer the formats (I know i can
get the rigol to spit out csv so that won't be an issue) then I can write a
tool to automate it some but still, would be nicer to not involve a
computer. I am a software guy by day and really hate having a computer on my
electronics workbench, I have a different workarea and another state of mind for
doing computer work.

Of course, being a software guy those UI bugs are going to grate on me. I
really want a true open source tool like this without being beholden to a
specific product to hack. It seems like a lot of the Atten,Owen,Siglent
tools are made by the same manufacturer and just customized with software,
at least for their scopes. I wonder if we could go to that manufacturer and
say we want to release our own branded version and how much to make us a
batch of blank units with programming specs to write our own OS.

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #38 on: February 07, 2015, 04:39:56 am »
That is too bad, as long as I can reverse engineer the formats (I know i can
get the rigol to spit out csv so that won't be an issue) then I can write a
tool to automate it some but still, would be nicer to not involve a
computer. I am a software guy by day and really hate having a computer on my
electronics workbench, I have a different workarea and another state of mind for
doing computer work.
I'm sure that with your qualifications you can easily figure out the format and write a conversion utility. I looked at it some myself because at first I thought that to use the Ultrawave PC software to edit "Cut Wave" .ota files I would need to convert them to .bin files externally. However, later on I found that there is a way to get the AG1012F to make the conversion. So that was a relief, since I haven't written anything in assembly or C, the only languages I tried to self learn way back, for at least a decade.

Anyway, I attached a couple files in case you want to take a crack at it. The 3cy.ota file was created with my Owon SDS7102 DSO while viewing a sine wave. The "Cut Wave" feature allows you to use cursors to identify the part of the signal you want to use for the ARB, so I set them as accurately as I could to span exactly 3 cycles of the sine wave. The AG1012F can play back the .ota file, but this is not the native format it uses when you create ARBs via its UI or via the Ultrawave PC software, in both of these cases the output files are .bin. The formats are different, so it's not a matter of changing the extension, and the Ultrawave software doesn't support the .ota format.

The 3cy.bin file is the equivalent of the 3cy.ota. I obtained this file by loading the .ota version into the AG1012F and going through the steps as if I was going to modify it, but instead I just saved it before making any changes. The .bin version can be edited with the Ultrawave software.

Of course, being a software guy those UI bugs are going to grate on me. I
really want a true open source tool like this without being beholden to a
specific product to hack. It seems like a lot of the Atten,Owen,Siglent
tools are made by the same manufacturer and just customized with software,
at least for their scopes. I wonder if we could go to that manufacturer and
say we want to release our own branded version and how much to make us a
batch of blank units with programming specs to write our own OS.

I'm not sure what kind of volume they would require for a custom order. You can try contacting them via their website:

http://www.owon.com.hk/main.asp

For me, this is just a hobby, I've been retired for 20 years and enjoy doing this just for leisure! :)
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #39 on: February 08, 2015, 08:11:26 am »
Save & Arb
------------------

On this post I'd like to explore the "Save" user interface and editable arbitrary (Arb) waveforms.

First, let's review the Owon specs and some of Owon's instructions verbatim from the manual:



Frequency Characteristic (specs)
---------------------------------------------------------------------------------------
Arbitrary                     1 µHz—10 MHz

Waveform Characteristic, Arbitrary (specs)
---------------------------------------------------------------------------------------
Waveform Length               AG1012F                 2 – 8k points
                              AG1022F

                              AG2052F                 2 - 1M points
                              AG2062F

Sample Rate                   AG1012F                 125 MSa/s
                              AG1022F

                              AG2052F                 250 MSa/s
                              AG2062F

Amplitude Accuracy            14 bits
Minimum Rise/Fall Time        35 ns (typical)
Jitter (RMS)                  6 ns + 30 ppm

Note: the next line is an additional spec from the OWON AG series product leaflet.

Non-volatile Memory           26 waveforms



Some of the instructions from the manual (here I only listed what I though may not be obvious)
---------------------------------------------------------------------------

The storage location is divided into the internal storage (FLASH) and the USB device storage (USBDEVICE). When a USB device is connected, the storage menu will show "USBDEVICE" and "FLASH". Otherwise, the storage menu will show "FLASH" only.

When the system needs the user to input a name, an input keyboard will appear. The length of file name is up to 15 characters.

How to Create a New Waveform:

   Set the number of waveform points

   Set the interpolation: On, the points will be connected with beelines; otherwise, the voltages between two
   consecutive points will not change, and the waveform looks like a step-up one.

   Edit the waveform points: set all the points to your needs.

   "Store", enter the file system.
   enter the desired storage path, choose Save, an input keyboard pops up, input the file name, and then choose
   DONE.

How to Edit a Stored Waveform:

   Choose Recall suppress.


Some of the instructions from the Owon SDS DSOs manual
---------------------------------------------------------------------------
Format U disk

The supported format of the USB disk: FAT32 file system, allocation unit size cannot exceed 4K, mass storage U disk is also supported. Once the USB disk cannot be recognized, you could format it into the supported format and try again.


             ------------------------------------------------------------------------

With the above in mind let's first review the "Save" user interface.  The basic settings and connections are the same as used in previous posts. Other settings can be read from the AG1012F & SDS7102 images.


Attachment #0 -  This is the top level of the "Save" user interface. The drive labeled FLASH is the internal storage. If you have a Thumb drive installed you will also see the drive labeled USBDEVICE. I sort of wish they would have labeled these something else since a Thumb drive is also commonly called a Flash drive and once in a while it confuses me, but no biggie, just a small gripe.

As can be seen, there are 2 pages of functions on this screen, however, the only one that does anything is "Next level". Pressing that will take you to a tree view of the highlighted drive. Remember the highlighted drive though, because the tree view doesn't remind you of the root.

The Thumb drive port is close to the function keys and if your drive is of standard physical size it gets in the way. I bought the drive on attachment #1 to get around that issue.


Attachment #1 -  Image of Kingston 8GB Micro USB Flash Drive DTMCK/8GB. manufacturer link:

http://www.kingston.com/us/usb/personal_business#dtmc

I think it would be a good idea to have a dedicated Thumb drive for your AWG. For one thing You may have to reformat it for it to work properly. The AG1012F manual doesn't mention this, but my new Micro drive was kind of flaky until I changed the allocation size to 4096. Also, if you are going to use the Thumb drive with an Owon SDS DSO, like I do, your Thumb drive must be FAT32 with an allocation size of 4096 or less.


Attachment #2 - #3 -  These are images of the tree view of the internal storage of my AG1012F. I would have hoped that at the top of the screen, instead of the little folder, it would identify the drive. Again, no big deal, just another little gripe.

In contrast to #0, all the functions are now active and can be used to navigate the tree, add additional folders, return to #0 (Up one level) if desired, or delete, rename, or copy the highlighted file. One annoying thing is the intense light green Owon uses for the highlight. On the actual unit it almost completely washes out the white letters used for the file name. Mercifully, the bar at the top of the screen also shows the highlighted name, and it is clearly readable.

#2 - Shows the first page of functions.

#3 - Shows the second page of functions.


Attachment #4 -  This an image of the tree view of my Micro Thumb drive. Again, the bar at the top of the screen doesn't remind you of this. Notice the scroll bar next to the functions, this appears when the drive contains more files than what fits on the screen. My thumb drive currently has 28 files.


Attachment #5 -  This is the AG1012F Manual's figure that explains how to read the display for arbitrary waveforms.

Pressing "Editable Wform" allows you to choose between creating a new waveform, selecting an existing waveform for output, or editing an existing waveform. On this post I want to go over a few examples of creating a waveform. To make things interesting I decided to see what it would take to create a credible sine wave.


Attachment #6 -  This is the plan for creating the sine wave. It's based on an article I found on the web that used a script to simulate DDS. So I'm using the voltage levels that the script generated for the sine wave data points. As can be seen the sketch describes a 2Vpp sine wave cycle with 17 data points.


Attachment #7 -  Once you choose to create a new waveform you get this screen. Here you enter the number of data points, in our case 17, and choose between interpolation on or off. First I'm going to try with interpolation off. After that you press Edit Points, and on the resulting screen, Attachment #8,  you enter each value one by one.


Attachment #8 -  This is the screen image after entering the voltage for each one of the 17 data points. Once this is done you can press "Store", navigate to the tree of the drive where you want to store the new waveform, press "Save", enter the desired file name on the pop up keyboard, and finally press "Done". If everything works well you will see a progress bar for a few seconds, and then your new file will be added to the tree.

I have ran into a couple of quirks that result in your file not being saved. When this happens, although you can still see the screen with the edited points, there is no way, at least that I know of, to go back and save your work again. For example, if by mistake you go through all the steps to save your file and press "Done" while at the top level (see Attachment #0) instead of the tree level, you just lost all of your hard work without any warning. The other case happens if you choose a file name that's already in use.


Attachment #9 -  This is the equivalent of Attachment #8, but done with interpolation on.


Attachment #10 -  This is the SDS7102 image while viewing #8 at 5MHz.


Attachment #11 -  This is the SDS7102 image while viewing #9 at 5Mhz.



                    -----------------------------------------------------------------

I'm not done with Arb yet, .... so, to be continued!
« Last Edit: March 01, 2015, 11:49:41 pm by TomC »
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #40 on: February 10, 2015, 11:19:44 pm »
Arb part 2
------------------

On this post I'd like to continue to explore the editable arbitrary (Arb) waveforms.

You can find the Owon specs and some of Owon's instructions verbatim from the manual on the previous post.

The basic settings and connections are the same as used in previous posts. Other settings can be read from the AG1012F & SDS7102 images.

             ------------------------------------------------------------------------

While experimenting with the creation of Arbs I ran into a quirk that has left a permanent file in my unit's internal storage. When I saved the file everything seemed to work correctly, however, when I attempted to play it back I got an error message. Since the file was unusable, I tried to delete it, but it won't delete. It seems to allow me to rename it, but when I delete the renamed file the original file (with the original name) pops up again. I've tried quite a few other maneuvers in an attempt to get rid of it, but to no avail! Other than the fact that this file refuses to go away, it doesn't cause any other problems. So I'll be putting this close to the top of my gripe list for Owon!


Attachment #1 -  This image shows the file that won't go away! One characteristic that sets it apart from other files is the three dots following the file name. The file name of other files created via the same process ends with .bin. Originally the size of the file was around 7.08kB, but after some of my attempts to erase it I managed to cause the size to change to 52B. This leads me to think that what I'm seeing may be some kind of phantom file that has a recorded name but that perhaps doesn't occupy physical space within the flash storage. As a last ditch effort, later on I'm going to add enough files to the internal storage to exceed its capacity. Don't know if that will cause the firmware to reclaim whatever this phantom file is occupying. Hopefully it doesn't cause the firmware to lock up something else!


Attachment #2 & #2A -  Since I didn't check it at the time, I've been curious about the harmonic distortion of the 17 point sine I discussed in the last post. So these two FFT images should help show how well it rates versus the distortion of the standard waveforms sine function covered in Post 4. As can be seen, it's pretty good, but there is a noticeable difference. So I decided to create sine Arbs with more data points to see if the distortion could be reduced to a level closer to the standard waveform.

Entering large numbers of data points through the UI is not a trivial task, neither is obtaining the data point values using a desktop calculator. So I devised a simple spreadsheet to automate the data point calculations, it allows the user to enter the # of degrees per data point, and it creates a list of 8192 data point values based on that. I attached copies of the spreadsheet, Sine Wave Design.ods/xslx, for any one that may want to use it.

While entering data points via the UI I tried to exploit an undocumented feature that I had noticed during my first impression assessment of the unit. When you turn on interpolation, it's possible to skip data points in certain multiples and the firmware automatically fills in appropriate values for the data points in between. So far I've seen this work when multiples of 10 or 100 are used, I've tried other multiples, for example 5, 20, or 50, and it didn't work. There is another quirk in this feature, it doesn't work the first time you skip data points. For example, if you decide to use a multiple of 10 you would be entering values at data points 1, 11, 21, 31, ...., etc. In this case you get the data points between 11 and 21, and 21 and 31, etc., filled in automatically. However, the data points between 1 and 11 are left at the same voltage level as data point 1. So to complete your Arb you'll also have to manually fill in these data points before you save the waveform.


Attachment #3 -  This shows a 361 point sine (1 point per degree) while I was entering the voltage for data point 211. The data point values were obtained using the spreadsheet, to speed things up I've only entered values for data points 1, 11, 21, etc. Notice that we have a smooth curve between data points except at the beginning of the waveform because the values for data points 2 - 10 were not filled in automatically by the firmware. So after I completed the waveform to data point 361 I went back and manually entered 2 - 10 with values from the spreadsheet. I also checked the values automatically filled in by the firmware against the values calculated with the spreadsheet. The calculated values and the automatically filled in values were within 2mV of each other.


Attachment #4 -  This shows the setup to output the completed #3 at close to 10MHz. I use a slightly lower frequency so I can use the rectangle window for the FFT. I attached a copy of this waveform (361p_sine_x10.bin) for any one that may want to try it.


Attachment #5 -  This shows the setup to output an Arb nearly identical to #4, however, this one was created by manually entering all 361 data point values from the spreadsheet. It was kind of tiring to make that many entries, but I wondered if the up to 2mV difference between some of the data point values would make a difference on the FFT. I attached a copy of this waveform (361p_sine_all.bin) for any one that may want to try it.



Attachment #6 -  This shows #4 on CH1 of the DSO and #5 on CH2.


Attachment #7 -  This shows the FFT for #4.


Attachment #8 -  This shows the FFT for #5.


In my opinion, the FFT for #4 looks slightly better than the FFT for #5. So the extra effort to manually enter all the data point values doesn't seem worthwhile to me. The automatic fill in feature is quirky, but I guess I can't gripe too much since it isn't even documented.

What I tried next is what got me into trouble, sometimes I wish I knew when to quit! Buoyed by the improvement obtained by adding extra data points, I decided to go an extra mile and create a 3601 point sine using multiples of 100. Everything went fine, I thought. However, when I tried to play it back I ended up with the permanent file of #1. I know I won't be happy until I try this again when I have time, but I'll make sure when I save it that it goes to my thumb drive. That way, if necessary, I can always do a format to erase everything!


                    -----------------------------------------------------------------

I'm not done with Arb yet, need to try some digital Arbs first .... so, to be continued!
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #41 on: February 11, 2015, 05:22:25 am »
As a last ditch effort, later on I'm going to add enough files to the internal storage to exceed its capacity. Don't know if that will cause the firmware to reclaim whatever this phantom file is occupying. Hopefully it doesn't cause the firmware to lock up something else!

Just tried this, the phantom file is still there :--. It takes quite a bit to fill up 128MB, so using Ultrawave I uploaded about 20 fake 6MB files. When the file that fills it up is uploaded the progress bar stops and the screen freezes. If you were outputting a waveform, that keeps on working, and you can press the standard waveform keys and change the output. However, to get out of the frozen screen I had to reboot.

Ran out of ideas for now!

If any one has any thoughts let me know!
« Last Edit: February 11, 2015, 05:33:55 am by TomC »
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #42 on: February 11, 2015, 06:59:30 am »
What I tried next is what got me into trouble, sometimes I wish I knew when to quit! Buoyed by the improvement obtained by adding extra data points, I decided to go an extra mile and create a 3601 point sine using multiples of 100. Everything went fine, I thought. However, when I tried to play it back I ended up with the permanent file of #1. I know I won't be happy until I try this again when I have time, but I'll make sure when I save it that it goes to my thumb drive. That way, if necessary, I can always do a format to erase everything!
I created the 3601 points sine again, this time successfully. I used multiples of 10 for the first 101 data points and multiples of 100 for the remaining data points. Then I went back and also manually entered the values for data points 2 - 10. So it took a little over 50 manual entries to create the file. There were no problems saving the file to the thumb drive and then playing it back. I also copied the file to the internal storage to see if it would cause trouble again. It worked fine! So I don't know what happened the first time.


The attachments show the AG2015 setup, the waveform image at the DSO, and the FFT. I also attached a copy of the ARB for any one that may want to use it. I can't say that there is a noticeable improvement compared to the 361 point sine, so I don't think I'll be using that many data points in the future.
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #43 on: February 12, 2015, 07:31:35 am »
Arb part 2a
------------------

On this post I'd like to add extra information related to post 40, editable arbitrary (Arb) waveforms part 2.

You can find the Owon specs and some of Owon's instructions verbatim from the manual on post 39.

The basic settings and connections are the same as used in previous posts. Other settings can be read from the AG1012F & SDS7102 images.

             ------------------------------------------------------------------------

After creating a number of sine wave Arbs I've been wondering if I may have been using an extra data point that wasn't necessary. In every case I assigned a voltage value of 0V to the data point corresponding to 0 degrees as well as to the data point corresponding to 360 degrees. I've basically done this based on an article about a DDS simulation I found on the web. This is where I got the sketch for the original 17 point sine wave I talked about on post 39. But I didn't verify the way that the AG1012F actually seams together the last data point of the Arb to its first data point. Do these two data points become one, and are superimposed unto each other? Or is there a space between them as there is for all the other data points?

To answer these questions I decided to create a 360 point Arb that I could compare to the 361 point Arb I talked about on post 40.


Attachment #1 -  This is the setup to output the 360 point Arb via CH1.


Attachment #2 -  This is the setup to output the 361 point Arb via CH2.


Attachment #3 -  This is the way the two waveforms look on the DSO at 500mV/div and 2ms/div. I can't tell the difference, but the waveform on Ch1 is the 360 point Arb, and the waveform on Ch2 is the 361 point Arb. The FFTs were also very similar so I didn't attach them.


Attachment #4 -  This is the way the two waveforms look on the DSO at 20mV/div and 20 microseconds/div. The area on the center of the screen shows what's happening during the transition from negative to positive, and finally I have my answer!


Attachment #5 -  This is the latest on the phantom file saga! :palm: Trying to get rid of the original phantom file I've managed to duplicate it, somehow, I think when I tried copy & paste and caused a screen freeze. |O So know I have two identical phantom files that get highlighted in tandem just like elusive entangled quantum particles! Somehow I also managed to change the file size back to its original value! It's driving me craa...azy! :-DD
« Last Edit: February 12, 2015, 07:41:01 am by TomC »
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #44 on: February 13, 2015, 07:32:54 am »
Arb part 2b (1081p_3Cy_sine)
-----------------------------

On this post I'd like to add extra information related to post 4 (Sinewave) and posts 39 - 43 (editable arbitrary (Arb) waveforms).

You can find the Owon specs and some of Owon's instructions verbatim from the manual on post 39.

The basic settings and connections are the same as used in previous posts. Other settings can be read from the AG1012F & SDS7102 images.

             ------------------------------------------------------------------------

On post 4 I discussed a 3 cycle sinewave Arb created using the SDS7102 cut waveform feature (3cy_1kHz.bin). The intent was to see if it could be used to extend the sinewave frequency range of the AG1012F to 25MHz. Although the results were usable, I've been wondering if creating a 1081 point 3 cycle Arb using the same procedure I used for the 361 point x10 Arb discussed on post 40 may produce better results. So for this post I'm going to create the new 3 cycle Arb and compare its performance to the 3cy_1kHz.bin Arb.


Attachment #1 -  This is the AG1012F CH1 setup to output the 1081p_3cy_sine Arb at around 10MHz.


Attachment #2 -  This is the AG1012F CH2 setup to output the 3cy_1kHz Arb at around 10MHz.


Attachment #3 -  This is the way #1 & #2 look like on the DSO. #1 is on Ch1 & #2 on Ch2.


Attachment #4 -  This is the FFT for #1 (1081p_3cy_sine)


Attachment #5 -  This is the FFT for #2 (3cy_1kHz)


In my opinion there is a noticeable improvement on the FFT of the new Arb (1081p_3cy_sine) compared to the FFT of the(3cy_1kHz) Arb I used before. It also compares favorably with the standard waveforms sine FFT at this frequency. So the next step is to see how the two Arbs perform at around 25MHz. To do this I changed the frequency  on #1 & #2 to 8.301MHz. The slightly lower frequency allows me to use the rectangle window for the FFTs.


Attachment #6 -  This is the way the waveforms look like on the DSO. #1 is on Ch1 & #2 on Ch2.


Attachment #7 -  This is the FFT for #1 (1081p_3cy_sine)


Attachment #8 -  This is the FFT for #2 (3cy_1kHz)


There is more harmonic distortion here for both waveforms, but I think that the FFT for the new Arb is cleaner. I also think that part of the problem is due to limitations of the AWG itself, even the time domain display shows some evidence of aliasing. OK, let's push the AWG to the limit by setting the output frequency close to 30MHz and see what happens. To do this I changed the frequency  on #1 & #2 to 9.9283MHz. Again, the slightly lower frequency allows me to use the rectangle window for the FFTs.


Attachment #9 -  This is the way the waveforms look like on the DSO. #1 is on Ch1 & #2 on Ch2.


Attachment #10 -  This is the FFT for #1 (1081p_3cy_sine)


Attachment #11 -  This is the FFT for #2 (3cy_1kHz)


Well, its not pretty! But I still like the new Arb's FFT better. I attached a copy of the new Arb (1081p_3cy_sine.bin.txt) for anyone that may want to use it. Just delete the .txt extension.
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #45 on: February 14, 2015, 06:04:49 am »
Arb part 3 (digital Arbs)
-------------------------

On this post I'd like to continue to explore the editable arbitrary (Arb) waveforms.

You can find the Owon specs and some of Owon's instructions verbatim from the manual on post 39.

The basic settings and connections are the same as used in previous posts. Other settings can be read from the AG1012F & SDS7102 images.

             ------------------------------------------------------------------------

On this post I want to create and try a digital Arb waveform example. For this example I'm going to assume logic levels of +2V for a 1 bit and 0V for a 0 bit. To simplify things and allow high frequency operation I'm going to limit the Arb to 10 data bits. Based on what we learned before regarding how the last data point is seamed to the first data point we are going to need a minimum of 11 data points for this Arb. The data stream I've chosen is: 1101001110, so the data points should be assigned the following values:

1 = 2V
2 = 2V
3 = 0V
4 = 2V
5 = 0V
6 = 0V
7 = 2V
8 = 2V
9 = 2V
10 = 0V
11 = 0V

I attached a copy of the file (11p_1101001110.bin.txt) for anyone that may want to use it. The file was created with interpolation turned off.

For this example I'm also going to assume that the logic circuit for which this Arb is intended also requires a clock signal and accepts the data at the raise of the clock. So I'm going to try to setup CH1 with the Arb and CH2 with a standard waveform 50% duty cycle square wave that can be used as the clock. I'm also going to use the AG1012F's phase deviation feature to try to center the raise of the clock at the center of the data bits.


Attachment #1 -  AG1012F CH1 setup to output the 11p_1101001110.bin digital Arb.


Attachment #2 -  AG1012F CH2 setup to output a 50% duty Cycle Square Wave.


Attachment #3 -  AG1012F Phase Deviation setup used to center the clock.


Attachment #4 -  DSO image of the above, triggered on positive edge using an appropriate holdoff.


Attachment #5 -  Expanded DSO image to get a better idea of the risetime.


At the above output frequencies the appropriate phase deviation is fairly easy to obtain and the signals look very clean and well defined. Next I want to push the instrument to a higher square wave output frequency (1MHz) to see how things play out at that point. So for the next few attachments the frequency of # 1 has been changed to 100kHz and the frequency of #2 to 1MHz


Attachment #6 -  AG1012F CH2 setup to output a 50% duty Cycle Pulse.


Attachment #7 -  AG1012F Phase Deviation setup used to center the clock.

At the new frequency I can no longer alter the phase deviation between the two signals if I use a square wave for the clock. However, if I change the CH2 setting to Pulse as shown on #6 I again gain control of the phase deviation. This is an unwelcome quirk, but at least at this point there is a way around it!


Attachment #8 -  DSO image of the above, triggered on positive edge using an appropriate holdoff.


Attachment #9 -  Expanded DSO image to get a better idea of the risetime.


At the above output frequencies the appropriate phase deviation is fairly easy to obtain provided I use pulse for CH2 and the signals still look quite good. Next I want to push the instrument to the square wave/pulse's output frequency limit (5MHz) to see how things play out at that point. So for the next few attachments the frequency of # 1 has been changed to 500kHz and the frequency of #6 to 5MHz


Attachment #10 -  AG1012F Phase Deviation setup used to center the clock. This is one of many possible settings that achieve the same deviation.


Attachment #11 -  DSO image of the above, triggered on positive edge using an appropriate holdoff.


Attachment #12 -  Expanded DSO image to get a better idea of the risetime.

At the new frequency I can barely alter the phase deviation between the two signals, there are two possible degrees of deviation. These don't always happen at the same phase deviation setting, the signals sort of jump around when you change the setting even just a degree, and they land at one of the two configurations. As it turns out one of these is suitable for this particular example, but this quirky behavior doesn't give you much flexibility. Perhaps I'm expecting too much when I'm pushing the instrument to the limits of it's capability.
« Last Edit: February 14, 2015, 06:10:57 am by TomC »
 

Offline jwm_

  • Frequent Contributor
  • **
  • Posts: 319
  • Country: us
    • Not A Number
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #46 on: February 15, 2015, 05:32:35 am »
My 1022F got here just in time for valentines day. Who could say no to an analog scope valentine?

http://youtu.be/IhSTCSL5KNM

This is the arb heart waveform on one channel and a sine on the other with the scope set to show the addition of the two channels.

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #47 on: February 15, 2015, 06:05:52 am »
My 1022F got here just in time for valentines day. Who could say no to an analog scope valentine?

http://youtu.be/IhSTCSL5KNM

This is the arb heart waveform on one channel and a sine on the other with the scope set to show the addition of the two channels.
Wow! :-+

That's a really lively Valentines Day display!
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #48 on: February 15, 2015, 06:11:20 am »
Phantom File
------------------

I now have 5 phantom files in my AG1012F's internal storage (FLASH), the last two were created on purpose while verifying that I had discovered how to consistently reproduce the bug. If you want your own phantom file, all you have to do is create a new Arb and save it to the internal storage (FLASH) after giving it a 15 character name. It doesn't matter how many points or whether they are interpolated or not, in fact, you don't even have to edit any of the points, all that matters is that the name uses the maximum number of characters Owon says you can use (15).

I haven't found a way to get rid of the 5 files in my unit, at this point I don't think there is a way to do it via the UI. However, while experimenting I learned a couple other details. First, if you save one of these files with a 15 character name to a folder, although the file by itself can't be deleted, it is possible to delete the whole folder and get rid of the file that way. Second, you can save files with a 15 character name to the thumb drive without running into this problem, however, the file name displayed is abbreviated by substituting a single caret (^) for some of the file name characters. However, when the file in the thumb drive is viewed under Windows it contains all 15 characters.


Attachment #1 -  One of my 5 phantom  files with an easily recognizable 15 character filename.


Attachment #2 -  A file saved with the same filename as it appears in the thumb drive tree.


Attachment #3 -  The files in the thumb drive as they appear under Windows.
 

Offline TomCTopic starter

  • Frequent Contributor
  • **
  • Posts: 670
  • Country: us
Re: Owon AG1012F Arbitrary Waveform Generator
« Reply #49 on: February 16, 2015, 05:40:37 am »
Arb part 4 (Editing existing Arbs)
-----------------------------------

On this post I'd like to continue to explore the editable arbitrary (Arb) waveforms. In particular, editing Arb waveforms that you have previously created.

You can find the Owon specs and some of Owon's instructions verbatim from the manual on post 39.

The basic settings and connections are the same as used in previous posts. Other settings can be read from the AG1012F & SDS7102 images.

             ------------------------------------------------------------------------

The Owon manual has very little information on the mechanics of editing existing Arb waveforms. The only specific information I could find reads as follows:

"How to Edit a Stored Waveform

(1) Enter the operation menu: Press ^^^ ->Editable Wform ->Edit Wform.
(2) Enter the storage path of the desired waveform file. Turn the knob or press </> direction key to select the
    desired waveform file.
(3) Choose Recall suppress."

Since there are no details on what the user should do after step (3), I think it's reasonable to assume that the process of editing the file is the same or very similar to the steps involved in creating a new file. And in some ways this is true, but I also ran into some quirky behavior, particularly when editing files created with interpolation ON, that can be rather puzzling.

As I see it, Arb file creation consists of the following major steps:

1 - Set the number of data points.

2 - Set the interpolation mode, ON or OFF.

3 - Set the voltage for each data point. During this step it's possible to revisit previously set data points and
    change their voltage as required. This process doesn't alter other data points that had been previously
    explicitly set by the user.

4 - Name and save the file.


However, when editing an existing Arb, there is no provision that allows steps 1 & 2 to be modified. On the other hand, step 3 works as described if the Arb being edited was originally created with interpolation turned OFF.

Otherwise, depending on the sequence of operations that the user uses to reach the data point that he plans to edit, a number of other data points may also end up being altered. On this post I plan to illustrate some different but consistent outcomes that occur as the result of editing the same data point. Personally, I don't find this quirky behavior desirable. However, if the user knows beforehand what to consistently expect, these quirks may be considered features by some.

To illustrate this behavior I'm going to use the 361p_sine_x10.bin Arb discussed in a previous post. When this file was created the following data point values were entered:

Data    Value   Sine wave
Point  in Volts  Degrees
-----  -------- ---------
  1      0.000    0.0000
 11      0.174   10.0000
 21      0.342   20.0000
 31      0.500   30.0000
 41      0.643   40.0000
 51      0.766   50.0000
 61      0.866   60.0000
 71      0.940   70.0000
 81      0.985   80.0000
 91      1.000   90.0000
101      0.985  100.0000
111      0.940  110.0000
121      0.866  120.0000
131      0.766  130.0000
141      0.643  140.0000
151      0.500  150.0000
161      0.342  160.0000
171      0.174  170.0000
181      0.000  180.0000
191     -0.174  190.0000
201     -0.342  200.0000
211     -0.500  210.0000
221     -0.643  220.0000
231     -0.766  230.0000
241     -0.866  240.0000
251     -0.940  250.0000
261     -0.985  260.0000
271     -1.000  270.0000
281     -0.985  280.0000
291     -0.940  290.0000
301     -0.866  300.0000
311     -0.766  310.0000
321     -0.643  320.0000
331     -0.500  330.0000
341     -0.342  340.0000
351     -0.174  350.0000
361      0.000  360.0000

Then the following data points were revisited to enter the values missed by the undocumented interpolation automatic fill-in feature:

  2      0.017    1.0000
  3      0.035    2.0000
  4      0.052    3.0000
  5      0.070    4.0000
  6      0.087    5.0000
  7      0.105    6.0000
  8      0.122    7.0000
  9      0.139    8.0000
 10      0.156    9.0000

Now let's say that I want to edit the waveform to add a 0V negative spike at 90 degrees. To make the spike easily visible on the graph I'm going to try to edit three data points, 90, 91, and 92, and change their voltage value to 0.5V, 0V, and 0.5V.


Attachment #1 -  This is the initial edit screen for 361p_sine_x10.bin. From here I need to get to the data points I need to edit and there is more than one way to do so. The quickest and most direct way would be to enter 90 via the keyboard and press X1.


Attachment #2 -  This is what the graph looks like after entering 0.5V at data point 90. Obviously, this is not what I expected, but when you go directly to the data point you want to edit this happens every time. Some may call it the "start over feature"!

So I go back, initiate a new edit session for 361p_sine_x10.bin, and try a different approach to get to data point 90. Instead of going to to data point 90, this time I'll go to data point 89 directly, and then use the knob to step to data point 90.


Attachment #3 -  This is what the graph looks like after entering 0.5V at data point 90. Again, this is not what I expected, but when you go first to the data point that precedes the one you want to edit, either directly or via the knob, and then step to the data point you want to edit, this happens every time. Some may call it the "start over from this point on feature"!

So I go back, initiate a new edit session for 361p_sine_x10.bin, and try a different approach to get to data point 90. This time I'll go to data point 91 directly, and then use the knob to step back to data point 90.


Attachment #4 -  This is what the graph looks like after entering 0.5V at data point 90. Again, this is not what I expected, but when you go first to the data point that follows the one you want to edit directly, and then step back to the data point you want to edit, this happens every time. Some may call it the "erase everything prior to this point feature"!

So I go back, initiate a new edit session for 361p_sine_x10.bin, and try a different approach to get to data point 90. This time I'll go to data point 89 directly, use the knob to step to data point 91, and then step back to data point 90.


Attachment #5 -  This is what the graph looks like after entering 0.5V at data point 90. Finally I was able to change data point 90 without altering any other data points. The spike doesn't show on the graph yet because it's too small of a feature for the screen resolution, but we can see the voltage dimension just below the correct location on the graph. So to consistently get this behavior you first have to visit the data point prior to the one you are going to edit, step past the data point you are going to edit, and then step back to the data point you intend to edit. If you follow these steps this happens every time. Some may call it the "do the right thing feature"!

OK, so now I use the knob to step to data point 91 and enter 0V.


Attachment #6 -  This is what the graph looks like after entering 0V at data point 91. Again, this is not what I expected, but why? Well, I did visit data point 90 before editing 91, but I didn't visit 92 first and then step back to 91. So I have unwittingly invoked the "start over from this point on feature"!

So I go back, initiate a new edit session for 361p_sine_x10.bin, and try a different approach. This time I'll go to data point 89 directly, use the knob to step past data point 92, and then step back to data point 90.


Attachment #7 -  This is what the graph looks like after entering 0.5V at data point 90, 0V at data point 91, and 0.5V at data point 92. Finally I was able to change the data points I wanted without altering any other data points. The spike doesn't show the excursion from 0.5V to 0V on the graph because it's too small of a feature for the screen resolution, but it should be visible on the DSO when we play the file back. So hopefully, now we know what to do to edit one of these files successfully!

The last step is to name and save the file. You are not given the option of overwriting the file that you are editing, and don't try to use the same name unless you want to loose your work! You have to use a unique name, so make sure that the name you choose doesn't exist in the directory tree where you plan to save the file. Failure to do this will also cause you to loose your work. Finally, don't use more than 14 characters for the file name if you plan to save to the internal storage, as we know, 15 characters = phantom file!

The name I chose for the file is 361p_sine_wspk.bin, I attached a copy of the file for anyone that may want to use it. The next step is to playback the file.


Attachment #8 -  This is the setup to playback 361p_sine_wspk.bin at 100kHz.


Attachment #9 -  This is what #8 looks like on the DSO.

The spike is a very small feature so it may not show up at very high frequencies. For the next attachment I changed the output frequency to 10MHz.


Attachment #10 -  This is what #8 at 10MHz looks like on the DSO. I'm using infinite persistence to try to catch spikes that occur infrequently, but I don't see anything.


Attachment #11 -  This is what #8 at 9.999999MHz looks like on the DSO. I'm using infinite persistence to try to catch spikes that occur infrequently, I can clearly see that they occur once in a while thanks to the marvels of DDS technology.

                   ---------------------------------------------------------------------------


Needless to say that I'm not very happy about the numerous quirks discovered so far as well as the convoluted procedure necessary to edit Arb files as covered in this post! I'd like to know if other AWGs in this price range have similar problems! 

Yesterday I sent a letter to Owon asking them to let me know, for now, if there is a way to delete the phantom files! I also told them that I have discovered many other bugs as discussed in this thread and that I would write to them later on about it. I gave them the name of the thread and told them that I was the one that started it. So perhaps will get a response and see what they say!


 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf