Owon AG1012F Arbitrary Waveform Generator - Page 1
Forum section: electronics / testgear

author: TomC
author_rank: Frequent Contributor
timestamp: December 21, 2014, 07:11:25 am
content: I bought one of these AWGs from Saelig during cyberweek on impulse. The price for the AG1012F was $239, which is about the maximum I was willing to spend for my hobby. I didn't really take the time to properly research other AWGs in the same price range, mainly, because I already own an Owon SDS7102 DSO and I wanted the ability of playing back waveforms captured on it on the AWG. Since I didn't have much time before the sale ended and it didn't seem to me that this would be possible without going through major conversion gymnastics if I bought a different make, I went ahead and bought the Owon. Now, for good or for bad, my AWG for the foreseeable future is going to be the Owon AG1012F!I've been playing with my new unit for about a week, and since there is no other EEVblog thread on this unit, I gave it a new thread to document my experiences and give others a chance to contribute or comment. The attachments came straight out of the manual.As can be seen on the specs, the AG1012F is the low end of the series. However, compared to the next one up (AG1022F), which was quite a bit more expensive, the main difference is that it can only output Sine waves up to 10MHz instead of 25MHz. I already have other RF generators that can go > 100MHz. Also, if I wanted to get higher sine wave frequencies out of the AG1012F, I think it may be possible. For example, I could capture 3 cycles of a sine wave on the SDS7102 and then play it back on the AG1012F. Although not perfect, I think when I play this back at 10MHz the output frequency should be 30MHz. So my output frequency should be the playback frequency times 3 when using this arbitrary waveform.Anyway, I plan to document this and other experiments on this thread as I go along! The topics I would like to cover include:1. The Function Generator.2. The Built in waveforms.3. The frequency Counter.4. Modulation.5. Editable waveforms.6. Storage.7. Ultrawave PC software.

author: TomC
author_rank: Frequent Contributor
timestamp: December 22, 2014, 06:08:57 am
content: First Impression-----------------On this post I wanted to list the salient points of my observations during my initial informal testing and fiddling with the unit. During this time I've briefly tried just about all the AG1012F advertised features. In general, it seems to be able to do everything that is claimed with some caveats. More about the caveats further down. Refer to the front panel image in my previous post for the numbers in parentheses.User interface:I found the user interface mostly intuitive and easy to learn, so my opinion is that for the most part it can be described as user friendly. Most waveform parameters can be changed via the knob (4), or directly entered via the keypad (3). When the keypad is used you choose the units via the F keys (2). One feature I found useful is that for the standard waveforms, sine, square, and ramp, you have a choice of pp or rms for the amplitude unit. Another interesting feature is the ability to copy all the waveform parameters from CH1 to Ch2 or viceversa. This is accessed by pressing the knob (4) and choosing the copy direction by pressing F1 or F2 (2).On the other hand, things go downhill when creating or editing waveforms. The process is time consuming and the firmware doesn't seem to work correctly consistently.Creating a waveform from scratch is possible, even if thousands of points are involved. For example, if you specify 8000 points and you are creating something like a square wave or a trapezoidal wave, it's not necessary to specify the voltage for each individual point. If, for example, you set point 500 to 1V and you want the voltage to stay the same for the next 300 points, then the next step is to set point 800 to 1V. The 0V points in between automatically become 1V. However, when I made a mistake and wanted to go back and correct it, I couldn't find an "undo" feature or procedure other than starting over or editing each individual point.Editing previously created waveforms, or waveforms obtained from my Owon SDS7102 DSO is possible sometimes. Changing the voltage of a point often results in all subsequent points also changing automatically. For example, if you were editing the third peak of a sine wave with a total of 10 peaks, the last 7 cycles may become a diagonal line. Again, no "undo", starting over won't work unless you reboot the AG1012F first. Even then, if it's a waveform with many points, say more than 1000, it may not work anyway.Fortunately, I had better, but not perfect results using the Ultrawave PC software, more on that in one of my next posts.Standard waveforms:The sine, square, ramp, and noise waveforms seem to work exactly as advertised. I will test these more extensively and report the results in a later post. In contrast, the pulse waveform doesn't quite do what I would expect. The AG1012F screen often lies and reports a pulse width different from what is actually being output. Although it displays pulse widths in increments of 1ns, the output signal changes in increments of 40ns. For example, if you set the pulse width to 40ns (minimum setting), the output signal is 40ns wide. As you increase the pulse width to about 79ns, the output signal remains only 40ns wide. When you set the pulse with between 80ns and 119ns the output signal is 80ns wide. I also noticed that at some frequencies, for example 3MHz, there is no output at all if the pulse width is set to 40ns. However, increasing the setting slightly, say 42ns, restores the output signal.Built in arbitrary waveforms:There is an interesting collection of 45 built-in waveforms. I tried each one of them and the display on my SDS7102 was as expected. Had to fiddle a little with the heart waveform to see the hearts on my scope.Frequency Counter:I tried the counter with several input frequencies and it seems to work as advertised. The one caveat is the input connector which is on the back of the unit.

author: whipman
author_rank: Contributor
timestamp: December 23, 2014, 03:59:50 am
content: I also picked up one of these from Saelig during Cyberweek. Unfortunately, when it arrived, it looked like UPS played warehouse floor hockey with it! The replacement arrived today. Haven't had a chance to dig in yet but I'm following your posts. Good job so far.

author: TomC
author_rank: Frequent Contributor
timestamp: December 23, 2014, 03:51:00 pm
content: Hi whipman,Glad to have someone to compare notes with!UPS wasn't too kind to my package either, but it only got it on one corner and it was well padded inside so no damage.I plan to post some sinewave tests later today.

author: TomC
author_rank: Frequent Contributor
timestamp: December 23, 2014, 06:09:21 pm
content: Standard Waveforms - Sine-------------------------On this post I'm trying to illustrate the performance of the standard sinewave signal. The following AG1012F settings are the same for all the tests:Channel = CH1Output Load = 50 ohmsAmplitude = 1VppOffset = 0mVThe AWG is connected to my SDS7102 DSO via a 20" RG58/U BNC cable terminated at the DSO end with a 50 ohm feedthrough terminator. If you try these tests on your unit, keep in mind that using longer cables or some RG58 A/U cables (stranded center conductor) will probably cause lower amplitude readings due to cable losses, specially at the higher frequencies.The SDS7102 settings can be read from the images, they are located just below the scope's graticule.For all the Sine tests Ch1 is set to 200mV/Div and a 0.00 divisions offset. The timebase setting is below the Y axis and is labeled (M:). The number on the bottom right of the graticule is the trigger frequency which in this case should be the same as the signal frequency. There are two signal measures on the bottom left of the screen, Vp which means Vpp, and Vk which means Vrms. Don't ask why they labeled it this way, it's a mystery to me too!For the FFT tests Ch1 is set to 20dB/Div and a 0.00 divisions offset. The number below the Y axis is the frequency span per division. The number on the bottom right of the graticule is the trigger frequency which in this case should be the same as the signal frequency. The two signal measures on the bottom left of the screen are not used in FFT.Note that for the FFT tests I used the "rectangular" window (no filtering) to get a better frequency resolution. Normally this is not a good idea because the harmonics that are normally generated when the number of sinewave cycles within the data window is not an integral number are not filtered. But in this case I could get around that by slightly decreasing the AG1012F output frequency until the spurious harmonics disappeared, an indication that the number of cycles was an integral number at that point. So that's the reason the trigger frequency on the FFT images is slightly lower than in the Sine images.The following gives the specifics for each test:Test #1, AG1012F Frequency = 1kHz.Test #2, AG1012F Frequency = slightly below 1kHz.These test images show the sinewave output of the AG1012F and its corresponding FFT at 1kHz 1Vpp for comparison to the published specs. As far as I can tell the levels are within the specified range.Test #3, AG1012F Frequency = 10MHz.Test #4, AG1012F Frequency = slightly below 10MHz.These test images show the sinewave output of the AG1012F and its corresponding FFT at 10MHz 1Vpp for comparison to the published specs. As far as I can tell the levels are within the specified range.The remaining tests show the results of using a 3 cycle sinewave ARB I created. As I described in my first post I wanted to see if this could be used to extend the sinewave frequency range of the AG1012F to 25MHz. The output is not as clean as the native signals, but I think it's usable if a better source is not available. This ARB was easy to create using the SDS7102 cut waveform feature, but it may be very time consuming to create if you don't have an Owon scope. So I attached a copy of the ARB file (3cy_1kHz.txt, please rename to .bin) to this post for anyone that may want to use it.Test #5, AG1012F Frequency = 1MHz.Test #6, AG1012F Frequency = slightly below 1MHz.Test #7, AG1012F Frequency = 8.333333MHz.Test #8, AG1012F Frequency = slightly below 8.333333MHz.During these tests the AG1012F was set to output the 3 cycle sinewave ARB file I created (3cy_1kHz.bin). With the AG1012F frequency set to 1MHZ the frequency displayed on the SDS7102 is 3MHz as expected. To get a 25MHz output the AG1012F frequency was set to 8.333333MHz. The FFT images for these tests are not as clean as the others and more prominent harmonics peaks are evident. At the 25MHz output some signs of aliasing start to show up in the sine image. I'm not sure if this would also be the case with the AG1022F, since a 125MSa/s sampling rate can only sample a 25MHz output signal 5 times per cycle. When I pushed the output frequency to 30MHz (AG1012F set to 10MHz) the aliasing got worse.

author: TomC
author_rank: Frequent Contributor
timestamp: December 24, 2014, 04:26:11 am
content: Standard Waveforms - Square-------------------------On this post I'm trying to illustrate the performance of the standard square wave signal. The following AG1012F settings are the same for all the tests:Channel = CH1Output Load = 50 ohmsAmplitude = 1VppOffset = 0mVThe AWG is connected to my SDS7102 DSO via a 20" RG58/U BNC cable terminated at the DSO end with a 50 ohm feedthrough terminator. If you try these tests on your unit, keep in mind that using longer cables or some RG58 A/U cables (stranded center conductor) will probably cause lower amplitude readings due to cable losses, specially at the higher frequencies.The SDS7102 settings can be read from the images, they are located just below the scope's graticule.For all the tests Ch1 is set to 200mV/Div and a 0.00 divisions offset. The timebase setting is below the Y axis and is labeled (M:). The number on the bottom right of the graticule is the trigger frequency which in this case should be the same as the signal frequency. There are various signal measures on the bottom left of the screen.The following gives the specifics for each test:Test #1, AG1012F Frequency = 1kHz, Duty Cycle = 50%.Test #2, AG1012F Frequency = 5MHz, Duty Cycle = 50%.These test images show the rise time (RT) of the square wave for comparison to the published specs. As far as I can tell it's within the specified range.Test #3, AG1012F Frequency = 1kHz, Duty Cycle = 50%.Test #4, AG1012F Frequency = 5MHz, Duty Cycle = 50%.These test images show the fall time of the square wave for comparison to the published specs. As far as I can tell it's within the specified range.Test #5, AG1012F Frequency = 1kHz, Duty Cycle = 50%.Test #6, AG1012F Frequency = 5MHz, Duty Cycle = 50%.These test images show the jitter at the leading edge of the square wave cycle immediatly following the square wave cycle where the scope was triggered. The number above the graticule indicates the time period from the trigger to the y axis. The scope trace was set to infinite persistance to capture the variations during a couple of minutes. As far as I can tell it's within the specified range. Note that 30ppm of 1ms is 30ns.Test #7, AG1012F Frequency = 1kHz, Duty Cycle = 50%.Test #8, AG1012F Frequency = 5MHz, Duty Cycle = 50%.These test images show the overshoot at the leading edge of the square wave cycle. As far as I can tell it's within the specified range.Test #9, AG1012F Frequency = 999.999999kHz, Duty Cycle = 20%.Test #10, AG1012F Frequency = 999.999999kHz, Duty Cycle = 80%.These test images show the range of the duty cycle at the highest frequency that is not limited to 50% (just below 1MHz). As far as I can tell it operates as specified.

author: TomC
author_rank: Frequent Contributor
timestamp: January 07, 2015, 07:43:45 am
content: Standard Waveforms - Square & Pulse - Duty Cycle & Pulse Width--------------------------------------------------------------On this post I'm trying to illustrate the performance of the standard square & pulse signals throughout the range of duty cycle and pulse width settings offered by the instrument. The following AG1012F settings are the same for all the tests:Channel = CH1Output Load = 50 ohmsAmplitude = 1VppOffset = 0mVThe AWG is connected to my SDS7102 DSO via a 20" RG58/U BNC cable terminated at the DSO end with a 50 ohm feedthrough terminator. If you try these tests on your unit, keep in mind that using longer cables or some RG58 A/U cables (stranded center conductor) will probably cause lower amplitude readings due to cable losses, specially at the higher frequencies.The SDS7102 settings can be read from the images, they are located just below the scope's graticule.For all the tests Ch1 is set to 200mV/Div and a 0.00 divisions offset. The timebase setting is below the Y axis and is labeled (M:). The number on the bottom right of the graticule is the trigger frequency which in this case should be the same as the signal frequency. There are various signal measures on the bottom left of the screen.As implemented in the AG1012F, there are many similarities between the standard square & pulse signals. The main difference is that for pulse the duty cycle or pulse width is adjustable throughout the whole 5MHz range. In contrast, the square signal only offers duty cycle adjustments. In addition, for frequencies of 1MHz and above the square signal duty cycle is fixed at 50%. However, when the frequency is below 1MHz, the instrument's behavior seems to be identical for both square and pulse signals when the duty cycle setting is changed.The behavior of the square signal at some particular settings was explored on the previous post. On this post I'd like to concentrate on the behavior of the pulse signal throughout its whole range. However, keep in mind that this behavior equally applies to square waves at frequencies below 1MHz.The following gives the specifics for each test:Test #1, Image of the AG1012F set to Standard square, Frequency = 5MHz, Duty Cycle fixed at 50%.Test #2, Image of the SDS7102 while viewing the output of the AG1012F during Test #1.These tests show that in this case the image displayed by the AG1012F accurately describes its output waveform including the Duty Cycle. This is typical of all square wave settings from 1MHz to 5MHz. In this range the Duty Cycle can not be changed and is fixed at 50%.Test #3, Image of the AG1012F set to Standard pulse, Frequency = 5MHz, Duty Cycle set to 50%.Test #4, Image of the AG1012F set to Standard pulse, Frequency = 5MHz, Pulse Width set to 100 ns.Test #5, Image of the SDS7102 while viewing the output of the AG1012F during Tests #3 & #4.These tests show that in this case the image displayed by the AG1012F does not accurately describe its output waveform's Duty Cycle or Pulse Width. In fact, although at this frequency the AG1012F can be set to duty cycles ranging from 20% to 80% in 0.1% increments, or a Pulse Width ranging from 40 ns to 80 ns in 1 ns increments, there are only four possible distinct Duty Cycles or Pulse Widths outputs available: 20% (40 ns), 40% (80 ns), 60% (120 ns) & 80% (160 ns).The following tests illustrate what happens when you set the Duty Cycle anywhere between 20% and 39.9% or the Pulse Width anywhere between 40 ns and 79 ns. As shown by Test #10, the AG1012F output stays at 20% (40 ns) throughout this range.Test #6, Image of the AG1012F set to Standard pulse, Frequency = 5MHz, Duty Cycle set to 20%.Test #7, Image of the AG1012F set to Standard pulse, Frequency = 5MHz, Pulse Width set to 40 ns.Test #8, Image of the AG1012F set to Standard pulse, Frequency = 5MHz, Duty Cycle set to 39.9%.Test #9, Image of the AG1012F set to Standard pulse, Frequency = 5MHz, Pulse Width set to 79 ns.Test #10, Image of the SDS7102 while viewing the output of the AG1012F during Tests #6 through #9.When the Duty Cycle is increased to 40% or the Pulse Width is increased to 80 ns, as illustrated by Test #13, the AG1012F output finally changes to the next possible Duty Cycle/Pulse Width available.Test #11, Image of the AG1012F set to Standard pulse, Frequency = 5MHz, Duty Cycle set to 40%.Test #12, Image of the AG1012F set to Standard pulse, Frequency = 5MHz, Pulse Width set to 80 ns.Test #13, Image of the SDS7102 while viewing the output of the AG1012F during Tests #11 & #12.The above discrepancies between the AG1012F screen display and the output waveform are more evident at the higher frequencies. For example, if you lower the frequency to 25 kHz, Which has a 40000 ns period, there is a change in the pulse width for each 0.1% Duty Cycle increment. So as far as the Duty Cycle is concerned, the AG1012F screen display matches the output waveform in this case.However, the Pulse Width at the output of the AG1012F never changes in 1 ns increments, so the screen display only matches the output waveform periodically as far as the Pulse Width is concerned. Owon has set this interval or segment to a minimum of 40 ns, the segment length can reach up to about 48 ns depending on the waveform's period. So you can expect the screen display to actually match the output waveform about every forty to forty eight 1 ns increments.There is one other pitfall in this area that can cause trouble for a user that relies on the screen display as an indication of the output waveform. At some frequencies the lowest Duty Cycle or Pulse Width setting does not produce an output waveform at all. The following tests illustrate what happens at one of these frequencies.Test #14, Image of the AG1012F set to Standard pulse, Frequency = 4.9MHz, Duty Cycle set to 19.6%.Test #15, Image of the AG1012F set to Standard pulse, Frequency = 4.9MHz, Pulse Width set to 40 ns.Test #16, Image of the SDS7102 while viewing the output of the AG1012F during Tests #14 & #15.Test #17, Image of the AG1012F set to Standard pulse, Frequency = 4.9MHz, Duty Cycle set to 20%.Test #18, Image of the AG1012F set to Standard pulse, Frequency = 4.9MHz, Pulse Width set to 41 ns.Test #19, Image of the SDS7102 while viewing the output of the AG1012F during Tests #17 & #18.The obvious conclusion is that the AG1012F screen display is not a dependable indication of the output waveform as far as the Duty Cycle and Pulse Width are concerned. One workaround is for the user to monitor the AWG with a scope as during these tests. I'm also working on an spreadsheet that simulates the AG1012F behavior and predicts within 0.1% of the Duty Cycle or within 3 ns of the Pulse Width the segment boundaries for a particular frequency. The last attachment shows the spreadsheet results when you enter a frequency of 4.9MHz. If there is any interest I will make the spreadsheet available in one of my next posts.

author: TomC
author_rank: Frequent Contributor
timestamp: January 08, 2015, 07:12:15 am
content: AG1012F Pulse Simulation Spreadsheet------------------------------------In this post I want to describe a spreadsheet I created in an attempt to alleviate the usage impact caused by the discrepancies between the AG1012F screen display and its output waveform as described in my previous post. The main objective or motivation for creating this spreadsheet was to provide an alternative to monitoring the AG1012F's output with a scope in order to obtain accurate Duty Cycle or Pulse Width settings.I decided to design the spreadsheet aiming for a minimum of user interaction to obtain the desired information. So by default, I chose to unlock just the cell where the user can enter the frequency in MHz. From that action, I wanted the spreadsheet to respond by providing the following information:1. The number of distinct Duty Cycles or Pulse Widths outputs available at that particular frequency.2. The segment of duty cycle settings in % that would produce each distinct Duty Cycle output.3. The Duty Cycle in % and the Pulse Width in ns associated with each segment of Duty Cycle settings.4. The segment of Pulse Width settings that would produce each distinct Pulse Width output.5. The Pulse Width in ns associated with each segment of Pulse Width settings.6. Other relevant information associated with the input frequency.After working on this for over a week, I now finally believe that the spreadsheet fulfills all of the above.Attachment #1:This image shows the spreadsheet's response after entering 0.6 into cell A10. Note that by default this is the only cell that can be selected or modified. The main response window is comprised of columns B through I, these contain all the information necessary to accurately set the AG1012F's Duty Cycle or Pulse Width.Columns A & J mostly contain other information associated with the AG series and the input frequency needed to perform spreadsheet calculations. Although this may be of interest to some, it's not necessary to understand or modify any of this to use the information in columns B through I.The top row of the main response window displays the input frequency and its period. The second row divides the window into a four column area for information associated with the Duty Cycle Segment and a four column area for information associated with the Pulse Width Segment. The third row is used to identify the information available on each column. Since these three rows act as column headers, they are frozen by default so that they remain visible as the user scrolls the information within the window. Depending on the input frequency up to 2000 rows below the header may contain information.Looking at the information within the window, we can see that for this frequency there are segments numbered from 0 - 40. Segment 0 will always be displayed on the spreadsheet regardless of the input frequency, but may or may not be accessible at the AG1012F. In this case, it is accessible on my unit, but as indicated, it does not produce an output signal. This row has a light gray background to try to alert the user that settings in this row, if available, will not produce a signal.Now let's say that we want to set the Duty Cycle as close to 75% as possible. If we just set it to 75.0% the AG1012F will produce an output signal, but is it as close to 75% as we can get? Looking at the spreadsheet window we can see that the closest settings are at segments 30 & 31. A 75.0% Duty Cycle falls within segment 30, but the Duty Cycle for that segment is the Start %, a 73.2% Duty Cycle. In this case setting the AG1012F to segment 31 would be closer to our desired output, a setting within segment 31 would produce an output signal with a 75.7% Duty Cycle.There is one other thing that you should be careful about when selecting settings, the AG1012F is not always consistent as far as using exactly the same segment boundaries. I've observed variations of 0.1% at times in my unit. Also, comparing actual readings to spreadsheet predictions I often observed discrepancies of 0.1%. So I would recommend using settings in between the boundaries identified by the spreadsheet. In this case my unit switches to 75.7% exactly when I set it to 75.7%, but that may not be the case in every instance, so to be safe, I would recommend a setting like 76 or 77%.If you are looking for a particular Pulse Width instead of a Duty Cycle, use the information on columns F through I in a similar manner. For example, if you want a pulse width as close to 850 ns as possible you should chose a setting within segment 21. Again, you need to be careful about segment boundary instability and discrepancies between actual values and spreadsheet predictions. I've observed discrepancies of up to 3ns, so to be safe, I would suggest a setting of around 870 ns in this case.Attachment #2:This image shows a portion of sheet 2 of the spreadsheet. This information is not needed to use the spreadsheet as described above. They are actual Duty Cycle and Pulse Width values I manually obtained from my unit and recorded here in tabulated form. These were used to help me develop and verify the spreadsheet. If you want to know more about what the different colors mean continue reading the paragraph below.If you look at the three columns labeled 600 kHz, you can see that the values rendered in a black font match the spreadsheet predictions exactly. I devised a way of getting predictions to more closely match actual values by incorporating Correction Factors. Without correction, the prediction values tend to run slightly lower than the actual values in some cases, this is indicated by the values rendered in a red font. I tried 3 levels of correction, level one causes the predictions to also exactly match the actual values in light green background without causing overshoot of actual values elsewhere. This is the level that is enabled by default on the spreadsheet. Level two causes the predictions to also exactly match the actual values in light yellow background, but cause overshoot of actual values elsewhere. For this level the overshoot is indicated with light magenta background. Level three causes the predictions to also exactly match the actual values in dark yellow background, but causes overshoot of additional actual values elsewhere. In this case the overshoot is indicated with a dark magenta background.Spreadsheet Attachments:The attachment "AG1012F Pulse Simulation.ods.txt" is the spreadsheet in the native format I used to develop it. It runs on Open Office and you'll have to delete the ".txt" before using it.The attachment "AG1012F Pulse Simulation.xls" is the spreadsheet as ported by Open Office to the Microsoft .xls format. I don't have Microsoft Excel, but I tried it on the online version and it seems to work correctly after slightly modifying the code for cell A9. Apparently I used features in that cell that are not available or don't port correctly to .xls.The difference has to do with the background and text color displayed in this cell when the user inputs an out of range frequency. In the .ods format it changes to a red background and yellow text color while displaying "Input Out of Range". On the .xls version the message displays correctly but the background and text color doesn't change.Both versions of the spreadsheet are locked by default except for cell A10 to prevent accidental overwrite of other cells. However, they are not password protected, so anyone is free to unlock them and do whatever.If you unlock the spreadsheet, it's possible, for example, to change cell A25 to 250. That's the sampling rate of the higher members of the AG series (AG2052F & AG2062F). The spreadsheet contains code to modify its operation according to what I surmise these units will do. But I don't own or have access to these units to verify that the spreadsheet accurately predicts their behavior.

author: TomC
author_rank: Frequent Contributor
timestamp: January 09, 2015, 05:43:07 am
content: Standard Waveforms - Ramp-------------------------On this post I'm trying to illustrate the performance of the standard ramp waveform. The following AG1012F settings are the same for all the tests:Channel = CH1Output Load = 50 ohmsAmplitude = 1VppOffset = 0mVThe AWG is connected to my SDS7102 DSO via a 20" RG58/U BNC cable terminated at the DSO end with a 50 ohm feedthrough terminator. If you try these tests on your unit, keep in mind that using longer cables or some RG58 A/U cables (stranded center conductor) will probably cause lower amplitude readings due to cable losses, specially at the higher frequencies.The SDS7102 settings can be read from the images, they are located just below the scope's graticule.For all the tests Ch1 is set to 200mV/Div and a 0.00 divisions offset. The timebase setting is below the Y axis and is labeled (M:). The number on the bottom right of the graticule is the trigger frequency which in this case should be the same as the signal frequency. There are various signal measures on the bottom left of the screen.The following gives the specifics for each test:Test #1, Image of the AG1012F set to Standard ramp, Frequency = 1MHz, Symmetry 0.0%.Test #2, Image of the SDS7102 while viewing the output of the AG1012F during Test #1.Test #3, Image of the AG1012F set to Standard ramp, Frequency = 1MHz, Symmetry 20.0%.Test #4, Image of the SDS7102 while viewing the output of the AG1012F during Test #1.Test #5, Image of the AG1012F set to Standard ramp, Frequency = 1MHz, Symmetry 50.0%.Test #6, Image of the SDS7102 while viewing the output of the AG1012F during Test #1.Test #7, Image of the AG1012F set to Standard ramp, Frequency = 1MHz, Symmetry 100.0%.Test #8, Image of the SDS7102 while viewing the output of the AG1012F during Test #1.These tests show that the image displayed by the AG1012F accurately describes its output waveform including the Symmetry. This is typical of all symmetry settings that I've tried. Note that in the SDS7102 images one cycle of the signal exactly matches the 10 center graticule divisions. This translates to 10% of the signal per division and allows the user to easily verify the symmetry accuracy.This post concludes the series on the Standard Waveforms, which basically comprise the AG1012F Function Generator capabilities. On the next post I plan to cover the built-in waveforms.A Recap of What I'm Thinking so far-------------------------------------------At this point my main complaint is the discrepancies between the screen graph and the actual output regarding Duty Cycle & Pulse Width for the square & pulse waveforms as described in the last two posts. I don't know if other AWGs in this price range have similar problems, so far I haven't seen any reviews that mention it, so if anyone reading this thread can shed some light on this I would appreciate it.For now I think I'll just keep on gathering information while I continue to test the unit in detail. Once I get done I'll be contacting Owon and Saelig support about this Duty Cycle/Pulse Width problem and anything else that I may uncover.

author: DJ
author_rank: Unknown
timestamp: January 09, 2015, 06:25:53 am
content: It's kind of interesting to note how banner ads track subjects.In the case of this thread, the TI AWG reference design ad appeared, and the appnote for it might prove useful for understanding and evaluating both this Owon unit and higher end models:http://www.ti.com/lit/ug/tidu129/tidu129.pdfYou can even purchase their reference design, if so inclined:Wide-Bandwidth and High-Voltage Arbitrary Waveform Generator Front Endhttp://www.ti.com/tool/TIDA-00075

author: TomC
author_rank: Frequent Contributor
timestamp: January 09, 2015, 05:16:34 pm
content: Quote from: DJ on January 09, 2015, 06:25:53 amHi DJ,That's kind of eerie!Anyway, thanks for the tip. I'll add the app. note to my collection.

author: TomC
author_rank: Frequent Contributor
timestamp: January 10, 2015, 07:38:29 am
content: Built-in Waveforms------------------On this post I'd like to cover the Built-in waveforms. The basic settings and connections are the same as in previous posts. Other settings can be read from the AG1012F & SDS7102 images.From my perspective, I find that the built-in waveforms perform as expected. There are some quirks with some waveforms, for example, more jitter at certain frequencies. Another example are disappearing waveform features or disappearing short pulses at the highest frequencies. However, as I understand it, these anomalies are not unique to the AG1012F and are characteristic of the DDS technology when a fixed frequency oscillator is used by the instrument.Other than the above, I found the interface to the built-in waveforms somewhat clunky. There is no simple way to just browse the waveforms to see what they look like. Maybe this is not a problem for someone that is familiar with all the waveform names and uses. In my case, I think I'll need to see what they look like before I can decide if they meet my needs.Attachment #0.This illustrates the type of menu that is used to select a built-in waveform. You have to press two keys to get here, first the key that selects the built-in waveforms, and then the key that selects the category, in this case "Common". From here you turn the knob until the desired waveform is highlighted and then press select. At that point you see the image of the waveform on the screen and the waveform is output. If that waveform is not suitable you have to go through this process again to try a different one. There are 45 different waveforms and it takes quite a while to go through all of them.Attachments #1, #2, #7, #8, #9, & #10.These form a catalog of all the different built-in waveforms which I created by capturing the AG1012F's screen image while each waveform was selected. The motivation was to get around my complaint about the clunky interface. The waveforms are arranged in the same format used by the AG1012F built-in waveforms menus. For example, the waveform illustrations on attachment #1 correspond to the menu screen illustrated on attachment #0.Attachments #3, #4, #5.These is the PPulse waveform from page 2 of the Common waveforms as displayed by my SDS7102 at different output frequencies. This is a very short pulse, on attachment #3, where it's output at 1MHz, it's under 10 ns as measured by the SDS7102. This pulse is one that disappears if you try to output it at 5MHz or 10MHz. However, miraculously, it is present at 6, 7, 8, or 9MHz.Notice what happens on attachment #4, where the pulse is output at 900kHz. What appears as two superimposed pulses, one about 10 ns and the other around 16 ns, can be viewed as a type of jitter. This is one of the quirks I mentioned before, and it persists at 800kHz & 700kHz. Once you get down to 600kHz, attachment #5, the "jitter" disappears and all you have left is the 16 ns pulse.Attachment #6This is the NegRamp waveform also from page 2 of the Common waveforms. I thought it was interesting that this ramp waveform can be used at frequencies well above 1MHz, since the standard ramp is limited to a maximum of 1MHz. No variable Symmetry on this one though, but if what you need is 100% symmetry this could be an alternative.Attachments #11 & #12.This is the DC waveform from page 1 of 1 of the Others waveforms. This provides an interesting feature that allows you to use the AG1012F as a relatively accurate voltage source. On attachment #11 you can see that I set the offset to 3.5V. Attachment #12 shows the voltage detected by my SDS7102.

author: TomC
author_rank: Frequent Contributor
timestamp: January 15, 2015, 05:42:36 am
content: Hardware------------You'd think that by now I'd have outgrown my desire to take new toys apart just to see what's inside! It seems it's still as strong as when I was 5!The attachments show what I found.

author: TomC
author_rank: Frequent Contributor
timestamp: January 15, 2015, 05:48:19 am
content: Hardware (continued)------------------------A couple more images:

author: TomC
author_rank: Frequent Contributor
timestamp: January 15, 2015, 06:58:58 am
content: Hardware (continued)------------------------I had the unit apart for a couple of days to take pictures and read the markings on all of the ICs. A text file with all the markings I found is attached. From that I was able to find datasheets for most of the components. There were two or three items I couldn't crack, possibly Chinese made and only popular in China. The unit is back together now and as far as I can tell I was lucky enough not to break anything!

author: Unknown
author_rank: Unknown
timestamp: January 17, 2015, 02:06:32 pm
content: Thanks Tom, this thread has been informative. I'm thinking about getting a similar Owon unit.jamieson

author: TomC
author_rank: Frequent Contributor
timestamp: January 17, 2015, 05:14:50 pm
content: Hi Jamieson,So far I think is an OK unit for the price I paid. Hopefully I'll go back on sale again soon!

author: whipman
author_rank: Contributor
timestamp: January 18, 2015, 05:31:24 am
content: Great job Tom! For the cyberweek price, money well spent. Decent unit for the price! I really like mine.

author: TomC
author_rank: Frequent Contributor
timestamp: January 23, 2015, 06:18:45 am
content: Frequency Counter------------------On this post I want to explore the frequency counter.For these tests a signal generator output is connected to a 3ft 50 ohm coax. The counter-in BNC has been equipped with a BNC T, one end of the T connects to the coax from the RF generator, the other end is equipped with a probe tip adapter for the scope probe. From here the signal is connected to the SDS7102 DSO through a passive X10 100MHz probe. By connecting the scope at the counter's end rather than the generator's end, the displayed signal should more closely match the signal that the frequency counter is examining.Test #1 Image of the SDS7102 while viewing an 80mVpp 112.9MHZ signal from an RF generatorTest #2 Image of the AG1012F during Test #1Test #3 Image of the AG1012F during Test #1 retaining the last valid display although the trigger is out of rangeTest #4 Image of the AG1012F during Test #1 when the counter utility is entered while the trigger is out of rangeTests #1 & #2 show that the counter can operate with signal levels well below the specified range (250mVpp - 5Vpp for signals up to 100MHz and 450mVpp - 3Vpp for signals above 100MHz) However, 80mVpp seems to be the low limit for my unit at 113MHz. At this level, the trigger setting is very finicky, it only produces an accurate reading when set between -39mV to -35mV.When adjusting the trigger is easy to go off range without noticing because the displayed frequency retains the last valid value when the counter is no longer detecting the signal, an example of this is Test #3. One clue that this may have happened is that you no longer see the least significant digits changing. However, if you are looking at a very stable source, a steady frequency display may be present all the time. The only fail proof test that what you are seeing is an active display is to exit the Counter utility function by pressing Back twice, then re-enter the Counter utility. Since the last counter settings are retained, if you still see the same frequency displayed then it is actively being detected. Otherwise you'll see the screen of Test #4.Test #5 Image of the SDS7102 while viewing a 1Vpp 10KHz signal from a scope calibratorTest #6 Image of the AG1012F during Test #5 displaying the frequencyTest #7 Image of the AG1012F during Test #5 displaying the pulse widthTest #8 Image of the AG1012F during Test #5 displaying the duty cycleTests #5 through #8 show additional measures available for signals up to 10MHz. In this case I'm using a scope calibrator as the signal source. At 1Vpp the Counter's trigger operates as I would expect and an accurate reading is produced with trigger settings in the 0mV to 900mV range. Note that with a stable source as this I had to exit and enter the counter utility to verify the trigger range, looking for changing digits doesn't help. The frequency, pulse width, and duty cycle readings are similar to those obtained with the scope's measure function, so I'm happy with those results.In my case, I'll probably will seldom use the counter utility. For one thing, I can get the same functionality from my DSO, and the other reason is the inconvenient location of the counter's BNC. Otherwise, it seems that the counter functions as advertised and is capable of operating at signal levels well below the specs.

author: TomC
author_rank: Frequent Contributor
timestamp: January 25, 2015, 06:28:32 am
content: Modulation - AM---------------On this post I'd like to explore AM modulation.First, let's review the Owon specs and some of Owon's term explanations verbatim from the manual:Modulated Waveform - AM (specs)---------------------------------------------------------------------------Carrier Waveforms SineSource Internal/ ExternalInternal Modulating Waveforms Sine, Square, Ramp, White Noise, ArbitraryInternal AM Frequency 2 mHz - 20 kHzDepth 0.0% - 100.0%External Modulation Input (specs)---------------------------------------------------------------------------Input Frequency Range DC-20 kHzInput Voltage Range ± 5 VpkInput Impedance 10 k ohms (typical)Term Explanation---------------------------------------------------------------------------AM Frequency:The frequency of modulating waveform.Mod Depth:The Amplitude Range of modulating waveform. In the 0% Modulation, the output amplitude is the half of the set one. In the 100% Modulation, the output amplitude is the same with the set one. For an external source, the depth of AM is controlled by the voltage level of the signal connected to the Ext Mod In connector in the rear panel. +5V corresponds to the currently set depth 100%.Other relevant information from the manual---------------------------------------------------------------------------Modulation function is only used for CH1.AM (Amplitude Modulation)The modulated waveform consists of two parts: the Carrier Waveform and the Modulating Waveform. The Carrier Waveform can only be Sine. In AM, the amplitude of the Carrier Waveform varies with the instantaneous voltage of the modulating waveform.------------------------------------------------------------------------With the above in mind I'd like to start with some examples using the internal modulation. The basic settings and connections are the same as in previous posts. Other settings can be read from the AG1012F & SDS7102 images.Attachment #1 - Shows the setup for CH2 of the AG1012F. During the internal modulation tests this output is connected to Ch2 of the SDS7102 and is used as the DSO's trigger and as a convenient reference to identify the beginning and end of two modulation periods. It is set to output a 100ns pulse at 10kHz, while the AM frequency is set to 20kHz. The AG1012F output waveforms during AM modulation are periodic, and since both outputs are synchronized to the same clock this arrangement provides a stable trigger.Attachment #2 - Is the AG1012F Manual's figure that explains how to read the display during AM modulation.Attachments #3 - #8 - These examples use a sine modulation shape at an AM frequency of 20kHz.#3 - #5 Show the AG1012F setup at a 0%, 50%, & 100% modulation depth. Notice that as the modulation depth increases, the graph shows an increase in carrier amplitude. This agrees with Owon's "term explanation" where it states that at 0% the output amplitude is half of the amplitude setting. So in this case, since the amplitude is set to 1Vpp, the output amplitude should be 0.5Vpp and the graph reflects that. Conversely, at 100% the graph reflects a 1Vpp output amplitude as stated by Owon.#6 - #8 Are images of the SDS7102 while viewing the AG1012F outputs during #3 - #5. Everything seems to look as expected, except the carrier amplitude. Regardless of the modulation depth setting, the amplitude remains the same, close to 1Vpp. Frankly, I think the way that the output is implemented makes more sense than the way Owon explains it and depicts it on the AG1012F screen graph. Nevertheless, as far as I can tell, this is another bug where the graph display doesn't quite reflect the instruments output.The square, ramp, arb, & noise modulation shapes operate in a similar way, except that the noise shape produces a non-periodic waveform and the trigger arrangement I'm using of course can't produce a stable trigger. The discrepancy between the graph and the output waveform described above is also present in all of these four modes.The arbitrary waveform modulation shape is an interesting feature that I think deserves at least one more example.Attachments #9 - #10 - These examples use an arb modulation shape at an AM frequency of 20kHz. To use this modulation shape you set up the AG1012F to output an arb waveform first. For this example I'm using the Besselj built-in arbitrary waveform from screen 2 of Maths. Once this is done, when you press Mod and select ModShape Arb, the AG1012F uses that arb's shape to modulate the carrier. If you want to change the arb waveform used for modulation shape you have to first press the Mod button to exit Mod mode. The way the firmware is implemented it doesn't let you access the Arb waveforms menus while you are still in Mod mode. I don't particularly like that roadblock, but is workable.Note that the Besselj built-in waveform contains 3 cycles, so, although the AM frequency is set to 20kHz, the carrier is actually being modulated at 20 x 3 = 60kHz. This type of effect is true anytime you use an arbitrary waveform that contains more than one cycle.Attachments #11 - #14 - These examples use an Audio generator set to 2kHz as an external modulation source.The audio generator output is connected to a 3ft 50 ohm coax. The Ext Mod-in BNC has been equipped with a BNC T, one end of the T connects to the coax from the Audio generator, the other end is equipped with a probe tip adapter for the scope probe. From here the signal is connected to CH2 of the SDS7102 DSO through a passive X10 100MHz probe. By connecting the scope at the AG1012F's end rather than the generator's end, the displayed signal should more closely match the signal that the Ext Mod-in BNC is seeing.#11 - Shows the AG1012F setup. Notice that the ModShape, AM Freq, & Mod Depth functions are blanked out. However, on the left of the screen it's still indicating Arb shape, and the graph is still showing the shape of the Besselj built-in arbitrary waveform I used on the previous example. Seems the firmware didn't update these screen areas, I went back and tried other settings, it doesn't matter, it just shows whatever your last setup was. The rest of the screen shows the carrier frequency and amplitude, which should be accurate.#12 - This is the SDS7102 image while viewing #11 after adjusting the amplitude of the generator's output until the carrier appears to have a 100% modulation depth. Notice that this happens when the generator's output is around 90mVpp. Also notice, that the carrier's amplitude, which is supposed to be 1Vpp, is only about 90mV. However, according to what Owon seems to state, 100% mod depth happens at 5V. So let's see what happens if I increase the generator's output amplitude to 1Vpp.#13 - This is the SDS7102 image while viewing #11 after increasing the amplitude of the generator's output to 1Vpp. This looks to me like pretty bad over modulation, but the carrier amplitude is now 1Vpp, like it's supposed to be. So I'm wondering what will happen if I increase the generator's output even further, after all, the specs indicate that the range is ± 5 Vpk.#14 - This is the SDS7102 image while viewing #11 after increasing the amplitude of the generator's output to 5Vpp. I'm not sure what to call this, it looks way over modulated and clipped, but the carrier output is still at 1Vpp like it's supposed to be.Overall, I'm pretty happy with the way this feature works when using the internal modulation source. There are some quirks, but I can work around them without a lot of effort. The performance when using the external modulation source is a different story, I think that part needs a lot of improvement and it was released to market way before it was ready for prime time.

author: TomC
author_rank: Frequent Contributor
timestamp: January 26, 2015, 05:30:04 am
content: Modulation - FM---------------On this post I'd like to explore FM modulation.First, let's review the Owon specs and some of Owon's Notes verbatim from the manual:Modulated Waveform - FM (specs)---------------------------------------------------------------------------Carrier Waveforms SineSource Internal/ ExternalInternal Modulating Waveforms Sine, Square, Ramp, White Noise, ArbitraryInternal Modulating Frequency 2 mHz - 20 kHzFrequency Deviation 2 mHz - 20 MHzExternal Modulation Input (specs)---------------------------------------------------------------------------Input Frequency Range DC-20 kHzInput Voltage Range ± 5 VpkInput Impedance 10 k ohms (typical)Note:---------------------------------------------------------------------------The Sum of the Deviation and the Carrier Frequency should be equal to or less than maximum frequency of the selected function plus 1 kHz.For an External Source, the Deviation is controlled by the voltage Level of the signal connected to the Ext Mod In connector in the rear panel. +5 V corresponds to the selected Deviation and -5 V to the negative selected Deviation.Other relevant information from the manual---------------------------------------------------------------------------Modulation function is only used for CH1.FM (Frequency Modulation)The modulated waveform consists of two parts: the Carrier Waveform and the Modulating Waveform. The Carrier Waveform can only be Sine. In FM, the frequency of the Carrier Waveform varies with the instantaneous voltage of the modulating waveform.------------------------------------------------------------------------With the above in mind I'd like to start with some examples using the external modulation. The basic settings and connections are the same as in the previous post. Other settings can be read from the AG1012F & SDS7102 images.Attachment #0 - Is the AG1012F Manual's figure that explains how to read the display during FM modulation.Attachments #1 - #3 - These examples use an Audio generator set to 2kHz as an external modulation source.The audio generator & DSO are connected as explained in the previous post.#1 - Shows the AG1012F setup. Notice that the ModShape, & Mod Freq functions are blanked out. However, on the left of the screen it's still indicating Arb shape, and the graph is still showing the shape of the Besselj built-in arbitrary waveform I used on the previous post. This is the same quirky behavior that we experienced with external AM modulation.The FM Dev function, which is set to 20kHz, is not blanked out, since it's required regardless of the modulation source. The note from Owon seems to state that when the modulation waveform is at +5 the deviation is what's been selected, so we should expect the frequency at that point to be 50kHz + 20kHz = 70kHz. Conversely, according to the note, when the modulation waveform is at -5 we should expect 50kHz - 20kHz = 30kHz, or at least, that's how I interpret it.#2 - This is the SDS7102 image while viewing #1 after adjusting the amplitude of the generator's output until the carrier appears to have full frequency deviation at the peaks of the modulating waveform. Notice that this happens when the generator's output is around 340mVpp. Also notice, that the carrier's amplitude is about 1Vpp, which is what it's supposed to be. However, according to what Owon seems to state, full frequency deviation would not happen unless the modulation signal peaks were +5 & -5. So let's see what happens if I increase the generator's output amplitude to 1Vpp.Note: The FM modulation output waveform is not periodic, so the scheme used in the previous post to obtain a stable trigger wasn't useful. In this case, to get a fairly stable trigger, I'm triggering on the carrier based on pulse width. Since the low end of the carrier frequency due to deviation is 30kHz, a period of about 33 microseconds, the width of the positive half of the cycle should be around 33/2 = 16.5 microseconds. So using normal trigger I started with the setting >16.5 microseconds and kept on lowering it until I got a trigger. As can be seen on the image the DSO is triggered at >15.4 microseconds, and the pulse that is triggering it is at the center of the graticule. This pulse more or less coincides with the negative peak of the modulating waveform, and as can be seen, the complete cycle yields a 30.3kHz frequency as indicated by the cursor measurement.#3 - This is the SDS7102 image while viewing #1 after increasing the amplitude of the generator's output to 1Vpp. This looks to me like pretty bad over modulation, notice that the trigger pulse in this case is only >15.0 microseconds and it more or less coincides with the positive peak of the modulating waveform. At that point I'd expect to see a higher frequency than the carrier, not lower. Also notice lower frequency pulses at other apparently random locations. I think it's obvious that the Owon's note is again incorrect as far as the way the hardware actually operates.Attachments #4 - #6 - These examples use a sine modulation shape at an internal modulating frequency of 2kHz. The FM deviation is set to 20kHZ. Since there is no modulating waveform amplitude setting, the AG1012F presumably automatically sets the appropriate modulating waveform amplitude to obtain full deviation. So with these settings, the output waveform should be very similar to what we got before when using the external source.In addition to the above CH1 settings, I decided to set CH2 to output a 2kHz 1Vpp sine wave. This is not required and not used in any way to produce the FM modulation done by CH1, I just wanted to display this second signal on the DSO as a reference to help identify the areas of the FM signal where frequency changes should occur. As it turns out, I had to invert this second signal at the DSO to get the proper phase.#4 - This shows the CH2 settings.#5 - This shows the CH1 settings.#6 - This is the SDS7102 image while viewing #5 and #4. I'm using the same DSO trigger scheme I used for #2 above. As can be seen, the carrier waveform is almost identical to what we got on #2 above, and the cursor measure yields pretty much the same frequency. Again, remember, that the waveform on CH2 is there just for reference, It's not the actual signal that is modulating the carrier.Again, I have one more example using one of the built-in arbitrary waveforms for the modulation shape. In this case I decided to use the RoundHalf from page 2 of the Common waveforms. This waveform is about 90% positive, most of the round half, and about 10% negative. As a result, the carrier's frequency deeps below its nominal value for just a brief period during each cycle. As in the previous example, I decided to set CH2 to output the same waveform so I can display it on the DSO as a reference. In this case I had to alter the inter-channel phase at the AG1012F to get the proper phase on the DSO display.Attachments #7 - #10 - These examples use a Arb modulation shape at an internal modulating frequency of 2kHz. The FM deviation is set to 20kHZ.#7 - This shows the CH2 settings.#8 - This shows the CH1 settings.#9 - This is the SDS7102 image while viewing #8 and #7. I'm using the same DSO trigger scheme I used before. As can be seen, the carrier waveform only drops below its nominal frequency for a brief period around the center of the screen, the incursion doesn't last for even one whole cycle. As a result, the cursor measure yields a frequency slightly above 30kHz. Again, remember, that the waveform on CH2 is there just for reference, It's not the actual signal that is modulating the carrier.#10 - This is an expanded view of the center area of #9 above.I think that overall, this feature performs better than the AM modulation feature discussed on the last post. In my opinion, there are fewer quirks, and although the external modulation doesn't quite match Owon's description, at least it doesn't mess up the carrier's amplitude.

author: rf-loop
author_rank: Super Contributor
timestamp: January 26, 2015, 08:36:10 am
content: Thank you about these all testings and information.About AM modulation depth, it looks like they have messed with peak level and "nominal" level.It is very common practice that if we set AM mod 0% and level example 1V then if we rise modulation depth to 100% minimum level is 0V and maximum level is 2V and nominal value stay fixed 1V.Example like this:http://www.radio-electronics.com/info/rf-technology-design/am-amplitude-modulation/modulation-index-depth.php

author: TomC
author_rank: Frequent Contributor
timestamp: January 26, 2015, 05:01:25 pm
content: Quote from: rf-loop on January 26, 2015, 08:36:10 amHi rf-loop,Thanks for the link!Very nice and complete review of AM modulation. It's a pity that Owon didn't get this right, but at least the graph reflects what should happen! I wonder if they can get this fixed with a firmware update!

author: TomC
author_rank: Frequent Contributor
timestamp: January 27, 2015, 06:52:43 am
content: Modulation - PM---------------On this post I'd like to explore PM modulation.First, let's review the Owon specs (there are NO Owon notes on this) verbatim from the manual:Modulated Waveform - PM (specs)---------------------------------------------------------------------------Carrier Waveforms SineSource Internal/ ExternalInternal Modulating Waveforms Sine, Square, Ramp, White Noise, ArbitraryInternal PM Frequency 2 mHz - 20 kHzPhase Deviation 0° - 180°External Modulation Input (specs)---------------------------------------------------------------------------Input Frequency Range DC-20 kHzInput Voltage Range ± 5 VpkInput Impedance 10 k ohms (typical)Note:---------------------------------------------------------------------------There are NO notesOther relevant information from the manual---------------------------------------------------------------------------Modulation function is only used for CH1.PM (Frequency Modulation)The modulated waveform consists of two parts: the Carrier Waveform and the Modulating Waveform. The Carrier Waveform can only be Sine. In PM, the phase of the Carrier Waveform varies with the instantaneous voltage level of the modulating waveform.------------------------------------------------------------------------With the above in mind I'd like to start with some examples using the internal modulation. The basic settings and connections are the same as in the previous post. Other settings can be read from the AG1012F & SDS7102 images.Attachment #0 - Is the AG1012F Manual's figure that explains how to read the display during PM modulation.Attachments #1 - #3 - These examples use a sine modulation shape at an internal modulating frequency of 20kHz. The PM deviation is set to 90 degrees. Since there is no modulating waveform amplitude setting, the AG1012F presumably automatically sets the appropriate modulating waveform amplitude to obtain full deviation.In addition to the above CH1 settings, I decided to set CH2 to output a 20kHz 1Vpp sine wave. This is not required and not used in any way to produce the PM modulation done by CH1, I just wanted to display this second signal on the DSO as a reference to help identify the areas of the PM signal where frequency changes should occur.#1 - This shows the CH2 settings.#2 - This shows the CH1 settings.#3 - This is the SDS7102 image while viewing #1 and #2. The 90 degree phase deviation, 50kHz carrier frequency, and 20kHz PM frequency, were chosen to cause highly visible phase changes while viewing just a few cycles of the output waveform. Notice that in this case the phase changes appear to have been smoothed out by filtering. Also note the cursor measure of the signal raise period (15.4 micro seconds) center left of the graticule. As explained in the note below, this is being used to trigger the DSO. Again, remember, that the waveform on CH2 is there just for reference, It's not the actual signal that is modulating the carrier.Note: Although the PM output waveform is usually periodic, I decided that a trigger other than a pulse at a multiple of the modulating frequency might allow a more accurate comparison of the output waveforms obtained using internal and external modulation. After trying a few different schemes, I decided to use a positive slope. As can be seen the thresholds are set close to the peaks, the period between thresholds was adjusted to the longest possible time that still provided a stable trigger. The idea was to use the same setting when using an external source for the modulating waveform. At that time, by slowly increasing the output amplitude of the audio generator, I hope that the output waveform when the DSO starts to trigger will be a close match to the waveform obtained using the internal source. Hopefully this will reveal the audio generator's output amplitude required to obtain full deviation.Again, I have one more example using one of the built-in arbitrary waveforms for the modulation shape. In this case I decided to use the RoundHalf from page 2 of the Common waveforms. This waveform is about 90% positive, most of the round half, and about 10% negative. As a result, a sudden phase change is required when this brief deep below 0V occurs during each cycle. As in the previous example, I decided to set CH2 to output the same waveform so I can display it on the DSO as a reference. In this case I had to alter the inter-channel phase at the AG1012F to get the proper phase on the DSO display.Attachments #4 - #6 - These examples use a Arb modulation shape at an internal modulating frequency of 20kHz. The PM deviation is set to 90 degrees.#4 - This shows the CH2 settings.#5 - This shows the CH1 settings.#6 - This is the SDS7102 image while viewing #4 and #5. I'm using the same DSO trigger scheme I used before. As can be seen, the carrier waveform exhibits a sudden phase change around the positive peak at the center of the screen as well as during a couple negative peaks visible on this image. Notice that some spikes are present that didn't get smoothed out, my opinion is that in this case this is normal. Again, remember, that the waveform on CH2 is there just for reference, It's not the actual signal that is modulating the carrier.Attachments #7 - #9 - These examples use an Audio generator set to 20kHz as an external modulation source.The audio generator & DSO are connected as explained in the previous post.#7 - Shows the AG1012F setup. Notice that the ModShape, & PM Freq functions are blanked out. However, on the left of the screen it's still indicating Arb shape, and the graph is still showing the shape of RounHalf built-in arbitrary waveform I used previously. This is the same quirky behavior that we experienced with external AM and FM modulation.The Phase Dev function, which is set to 90 degrees, is not blanked out, since it's required regardless of the modulation source. I couldn't find any explanation in the manual as to how the deviation is affected by the amplitude of the external source waveform. Maybe this can be considered an improvement, given the way the accuracy of the previous explanations turned out.#8 - This is the SDS7102 image while viewing #7 after adjusting the amplitude of the generator's output until the DSO started to trigger. Notice that this happened when the generator's output was around 368mVpp. Also notice, that the carrier's amplitude is about 1Vpp, which is what it's supposed to be. However, at first look the waveform bears little resemblance to the one obtained while using the internal source. It appears to me that in this case, for some reason, Owon decided that the phase changes didn't need to be filtered. With this in mind, try to imagine what the waveform would look like if it was filtered, for me, a close resemblance becomes apparent.#9 - This is the SDS7102 image while viewing #7 after increasing the amplitude of the generator's output to 1Vpp. This looks to me like pretty bad over modulation. Had to change the trigger slightly for it to be stable, and the waveform looks more random and possibly no longer periodic.I think that when using the internal source, this feature performs as well as the FM modulation feature discussed on the last post. However, other than as a novelty, I don't see external modulation as being a useful tool as presently implemented. In my mind, it rates lower than external AM modulation.

author: TomC
author_rank: Frequent Contributor
timestamp: January 28, 2015, 06:47:58 am
content: Modulation - FSK---------------On this post I'd like to explore FSK modulation.First, let's review the Owon specs and some of Owon's term explanations verbatim from the manual:Modulated Waveform - FSK (specs)---------------------------------------------------------------------------Carrier Waveforms SineSource Internal/ ExternalInternal Modulating Waveforms 50% duty cycle squareFSK Rate 2 mHz - 100 kHzExternal Trigger Input (these are the only specs related to the external source I could find in the Owon manual)---------------------------------------------------------------------------Level TTL-compatibleSlope Rising or falling (selectable)Pulse Width >100 nsTrigger Delay 0.0 ns - 60 sTerm Explanation---------------------------------------------------------------------------FSK Rate:The frequency at which the output frequency shifts between the carrier frequency and the Hop frequency (Internal Modulation only).Other relevant information from the manual---------------------------------------------------------------------------Modulation function is only used for CH1.FSK (Frequency Shift Keying)The FSK Modulation is a modulation method, the output frequency of which switches between two the pre-set frequencies (Carrier Waveform Frequency and the Hop Frequency). The Frequency of the Output Frequency switch between the carrier waveform frequency and the Hop frequency is called the FSK rate. The frequency by which the output frequency switch from each other is determined by the Internal Frequency generator or the Signal Voltage Level offered by the Ext Trig/Burst/Fsk In connector in the rear panel. The Carrier Waveform can only be Sine.------------------------------------------------------------------------With the above in mind I'd like to start with some examples using the internal frequency generator. The basic settings and connections are the same as in the previous post. Other settings can be read from the AG1012F & SDS7102 images.Attachment #0 - Is the AG1012F Manual's figure that explains how to read the display during FSK modulation.Notice that there is no ModShape function. As a result, when using the internal source, the only modulation shape available is square wave with a 50% duty cycle. Since FSK only has two states, it makes sense that the modulation will be limited to digital waveforms, but only allowing square waves is taking it a bit too far in my opinion. I think it would have been nice if arbitrary waveforms were also included. It's likely that users interested in digital circuits will create two state ARBs for different applications. So why not let these waveforms be used to modulate FSK? Well, after all, I think there may be a way around this, as far as I can tell this limitation doesn't apply when the modulating waveform comes in via the external source input (Ext Trig/Burst/Fsk In connector)! As a matter of fact, the one spec available for this connector states that it's TTL compatible, so I plan to try it with a digital looking built-in ARB before I complete this post.Attachments #1 - #3 - These examples use the only internal modulation shape available, a 50% duty cycle square wave. The frequency of this wave is the FSK rate which is set to 10kHz.Since the carrier is set to 100kHz and the Hop frequency to 50kHz, there should only be a few cycles of carrier and hop waveform during each half cycle of the square wave. As in FM & PM modulation, there is no modulating waveform amplitude setting, so the AG1012F presumably automatically sets the appropriate square wave amplitude to obtain stable carrier frequency to hop frequency transitions.In addition to the above CH1 settings, I decided to set CH2 to output a 10kHz 2V 0 to peak square wave. This is not required and not used in any way to produce the FSK modulation done by CH1, I just wanted to display this second signal on the DSO as a reference to help identify the areas of the FSK signal where frequency changes should occur.#1 - This shows the CH2 settings.#2 - This shows the CH1 settings.#3 - This is the SDS7102 image while viewing #1 and #2. The settings were chosen to cause highly visible frequency changes while viewing a limited number of output waveform cycles. In this case the FSK output signal is periodic every other cycle, so since the signal on CH2 is synchronized by the same clock, I was able to trigger on CH2 using the signal edge and a holdoff of a little over a 100 microseconds. This causes the DSO to trigger every other cycle. Again, remember, that the waveform on CH2 is there just for reference, It's not the actual signal that is modulating the carrier.While using the internal source, I can't use an ARB waveform for FSK modulation as I was able to do for the other modulation modes at this point. So I'm going to try that at the end of this post while using the external source.Attachments #4 - #5 - These examples use an Audio generator set to 10kHz square wave as an external modulation source.The audio generator & DSO are connected as explained in the previous post.#4 - Shows the AG1012F setup. Notice that the FSK Rate function is blanked out. To my delight, the left of the screen and the graph are correct in this case, no more quirky behavior like we experienced with external AM, FM, and PM modulation on this screen. I was so pleasantly surprised that I tried a couple times to get it to malfunction by setting ARBs, etc. before coming back to this screen, but no dice, Owon got it right this time!The Hop Freq function, which is set to 50kHz, is not blanked out, since it's required regardless of the modulation source. The only hint in the manual as to what voltage levels are required to get the output to transition from carrier frequency to hop frequency is that the input is TTL compatible. So I'm assuming that a 0V to 2V peak square wave should do the trick.#5 - This is the SDS7102 image while viewing #4. The carrier to hop frequency transitions start working once the amplitude of the generator's output is a little above 1V and continue to work normally as a I increased the amplitude to about 4V peak. So I left the amplitude set to 2V for this image. As for the DSO trigger, the scheme I used for #3 didn't work here, because the AWG clock is not in sync with the Audio Generator. So I triggered on CH1 using a combination of slope and holdoff to get the DSO to trigger on every other set of carrier/hop frequency transitions.Attachments #6 - #9 - For these examples I substituted my Audio Generator with CH2 of the AG1012F. This way I could setup CH2 to output a built-in Arb waveform and use that to modulate the FSK. So I have the CH2 output of the AWG connected to the external FSK in AWG connector instead of my Audio Generator.#6 - This shows the CH2 settings. In this case I decided to use the CPulse (coded pulse) from page 2 of the Common waveforms. Notice that the frequency is set to 2.5kHz, this is equivalent to the 10kHz we were using before since this ARB contains 4 cycles.#7 - This shows the CH1 settings. This should be exactly the same as #4 above.#8 - This is the SDS7102 image while viewing #6 and #7. I tried to use the same DSO trigger scheme I used on #3 before but with a longer holdoff so that the DSO would trigger every second set of pulses. This makes the pulses stable, but the CH1 signal is still a little shaky because it's not exactly periodic in this case. So I stopped the scope to get a better capture. So, as can be seen, this way around the internal source limitation where only square waves are allowed seems to work very well. Again, remember, that the waveform on CH2 in this case is not just for reference, It's the actual signal that is modulating the carrier.#9 - This is an expanded version of #8 for a better view of the FSK frequency transitions.Well, in this case I have to admit That I barely have any complaints! Everything seems to work just as advertised and without quirks. I would still like to have the option of using ARBs with internal modulation, but since there is a workable way around that, it's not a major disappointment.

author: TomC
author_rank: Frequent Contributor
timestamp: January 30, 2015, 07:21:14 am
content: 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, LogarithmicCarrier Waveforms Sine, Square, RampDirection Up / DownSweep Time 1 ms to 500 s ± 0.1%Source Source, External or ManualNote: I believe the above line should read:Trigger Source Internal, External or ManualExternal Trigger Input (specs)---------------------------------------------------------------------------Level TTL-compatibleSlope Rising or falling (selectable)Pulse Width >100 nsTrigger Delay 0.0 ns - 60 sNote: 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 SweepSweep 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!

author: TomC
author_rank: Frequent Contributor
timestamp: January 31, 2015, 07:15:22 am
content: 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.

author: BFX
author_rank: Frequent Contributor
timestamp: January 31, 2015, 11:50:43 pm
content: Thank you TomC it's very good and precise information.

author: TomC
author_rank: Frequent Contributor
timestamp: February 01, 2015, 03:12:41 am
content: Quote from: BFX on January 31, 2015, 11:50:43 pmHi 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.

author: TomC
author_rank: Frequent Contributor
timestamp: February 02, 2015, 06:39:34 am
content: 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, ArbitraryTypes Count (1 to 1,000,000 periods), infinite, gatedStart Phase -360° - +360°Internal Period (10 ms - 500 s) ± 1%Gated Source External TriggerTrigger Sources Source, External or ManualNote: I believe some of the above lines contain errors and should read:Types Count (1 to 50,000 periods), infinite, gatedTrigger Source Internal, External or ManualExternal Trigger Input (specs)---------------------------------------------------------------------------Level TTL-compatibleSlope Rising or falling (selectable)Pulse Width >100 nsTrigger Delay 0.0 ns - 60 sNote: 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 BurstBurst 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 BurstStart 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!

author: TomC
author_rank: Frequent Contributor
timestamp: February 03, 2015, 06:38:52 am
content: 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!

author: TomC
author_rank: Frequent Contributor
timestamp: February 04, 2015, 07:11:07 am
content: 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 29I'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!

author: TomC
author_rank: Frequent Contributor
timestamp: February 05, 2015, 05:26:51 am
content: 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, ArbitraryTypes Count (1 to 1,000,000 periods), infinite, gatedStart Phase -360° - +360°Internal Period (10 ms - 500 s) ± 1%Gated Source External TriggerTrigger Sources Source, External or ManualNote: I believe some of the above lines contain errors and should read:Types Count (1 to 50,000 periods), infinite, gatedTrigger Source Internal, External or ManualExternal Trigger Input (specs)---------------------------------------------------------------------------Level TTL-compatibleSlope Rising or falling (selectable)Pulse Width >100 nsTrigger Delay 0.0 ns - 60 sNote: 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 BurstBurst 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 BurstStart 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. "

author: Smokey
author_rank: Super Contributor
timestamp: February 05, 2015, 05:39:35 am
content: Impressive review dude!It's this kind of stuff that gets manufacturers to send you gear for future reviews.

author: jwm_
author_rank: Frequent Contributor
timestamp: February 06, 2015, 01:38:03 am
content: 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.

author: TomC
author_rank: Frequent Contributor
timestamp: February 06, 2015, 04:32:44 am
content: Quote from: Smokey on February 05, 2015, 05:39:35 amThanks 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!

author: TomC
author_rank: Frequent Contributor
timestamp: February 06, 2015, 04:58:06 am
content: Quote from: jwm_ on February 06, 2015, 01:38:03 amHi 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!

author: jwm_
author_rank: Frequent Contributor
timestamp: February 07, 2015, 12:48:37 am
content: Quote from: TomC on February 06, 2015, 04:58:06 amThat is too bad, as long as I can reverse engineer the formats (I know i canget the rigol to spit out csv so that won't be an issue) then I can write atool to automate it some but still, would be nicer to not involve acomputer. I am a software guy by day and really hate having a computer on myelectronics workbench, I have a different workarea and another state of mind fordoing computer work.Of course, being a software guy those UI bugs are going to grate on me. Ireally want a true open source tool like this without being beholden to aspecific product to hack. It seems like a lot of the Atten,Owen,Siglenttools 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 andsay we want to release our own branded version and how much to make us abatch of blank units with programming specs to write our own OS.

author: TomC
author_rank: Frequent Contributor
timestamp: February 07, 2015, 04:39:56 am
content: Quote from: jwm_ on February 07, 2015, 12:48:37 amI'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.Quote from: jwm_ on February 07, 2015, 12:48:37 amI'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.aspFor me, this is just a hobby, I've been retired for 20 years and enjoy doing this just for leisure!

author: TomC
author_rank: Frequent Contributor
timestamp: February 08, 2015, 08:11:26 am
content: 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 MHzWaveform Characteristic, Arbitrary (specs)---------------------------------------------------------------------------------------Waveform Length AG1012F 2 – 8k pointsAG1022FAG2052F 2 - 1M pointsAG2062FSample Rate AG1012F 125 MSa/sAG1022FAG2052F 250 MSa/sAG2062FAmplitude Accuracy 14 bitsMinimum Rise/Fall Time 35 ns (typical)Jitter (RMS) 6 ns + 30 ppmNote: the next line is an additional spec from the OWON AG series product leaflet.Non-volatile Memory 26 waveformsSome 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 pointsSet the interpolation: On, the points will be connected with beelines; otherwise, the voltages between twoconsecutive 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 chooseDONE.How to Edit a Stored Waveform:Choose Recall suppress.Some of the instructions from the Owon SDS DSOs manual---------------------------------------------------------------------------Format U diskThe 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#dtmcI 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!

author: TomC
author_rank: Frequent Contributor
timestamp: February 10, 2015, 11:19:44 pm
content: 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!

author: TomC
author_rank: Frequent Contributor
timestamp: February 11, 2015, 05:22:25 am
content: Quote from: TomC on February 10, 2015, 11:19:44 pmJust 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!

author: TomC
author_rank: Frequent Contributor
timestamp: February 11, 2015, 06:59:30 am
content: Quote from: TomC on February 10, 2015, 11:19:44 pmI 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.

author: TomC
author_rank: Frequent Contributor
timestamp: February 12, 2015, 07:31:35 am
content: 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!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.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!

author: TomC
author_rank: Frequent Contributor
timestamp: February 13, 2015, 07:32:54 am
content: 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.

author: TomC
author_rank: Frequent Contributor
timestamp: February 14, 2015, 06:04:49 am
content: 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 = 2V2 = 2V3 = 0V4 = 2V5 = 0V6 = 0V7 = 2V8 = 2V9 = 2V10 = 0V11 = 0VI 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 1MHzAttachment #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 5MHzAttachment #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.

author: jwm_
author_rank: Frequent Contributor
timestamp: February 15, 2015, 05:32:35 am
content: My 1022F got here just in time for valentines day. Who could say no to an analog scope valentine?http://youtu.be/IhSTCSL5KNMThis 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.

author: TomC
author_rank: Frequent Contributor
timestamp: February 15, 2015, 06:05:52 am
content: Quote from: jwm_ on February 15, 2015, 05:32:35 amWow!That's a really lively Valentines Day display!

author: TomC
author_rank: Frequent Contributor
timestamp: February 15, 2015, 06:11:20 am
content: 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.

author: TomC
author_rank: Frequent Contributor
timestamp: February 16, 2015, 05:40:37 am
content: 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 thedesired 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 andchange their voltage as required. This process doesn't alter other data points that had been previouslyexplicitly 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 wavePoint in Volts Degrees----- -------- ---------1 0.000 0.000011 0.174 10.000021 0.342 20.000031 0.500 30.000041 0.643 40.000051 0.766 50.000061 0.866 60.000071 0.940 70.000081 0.985 80.000091 1.000 90.0000101 0.985 100.0000111 0.940 110.0000121 0.866 120.0000131 0.766 130.0000141 0.643 140.0000151 0.500 150.0000161 0.342 160.0000171 0.174 170.0000181 0.000 180.0000191 -0.174 190.0000201 -0.342 200.0000211 -0.500 210.0000221 -0.643 220.0000231 -0.766 230.0000241 -0.866 240.0000251 -0.940 250.0000261 -0.985 260.0000271 -1.000 270.0000281 -0.985 280.0000291 -0.940 290.0000301 -0.866 300.0000311 -0.766 310.0000321 -0.643 320.0000331 -0.500 330.0000341 -0.342 340.0000351 -0.174 350.0000361 0.000 360.0000Then the following data points were revisited to enter the values missed by the undocumented interpolation automatic fill-in feature:2 0.017 1.00003 0.035 2.00004 0.052 3.00005 0.070 4.00006 0.087 5.00007 0.105 6.00008 0.122 7.00009 0.139 8.000010 0.156 9.0000Now 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!

author: TomC
author_rank: Frequent Contributor
timestamp: February 17, 2015, 06:22:56 am
content: Arb part 5 (Cut wave)-----------------------------------On this post I'd like to continue to explore the editable arbitrary (Arb) waveforms. In particular, capturing a waveform on an Owon DSO and playing it back on the AG1012F.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 some information on how to capture waveforms on their SDS DSOs and how to play them back on their AWGs. Here is part of that information verbatim from the manual:To recall wave fileThis function can read the waveform file with suffix of (*.ota) which is cut from SDS series oscilloscope manufactured by OWON and saved to USB device or cut by the software of OWON oscilloscope. Then ARB waveform generators can output the same signal as the cut wave.Tips:1. Normally the frequency, amplitude, and offset of the recalled wave are the same as the wave being cut, but when the frequency, amplitude, and offset are set out of the limit range, then the generator would use the current parameter, which leads to the recalled wave not totally the same as the cut wave.2. The max data number of AG1012F AG1022F ARB is 8192. When the wave cut from oscilloscope contains data number more than 8192, AG1012F and AG1022F will compress data. On the contrary if the data number is less than 8192, AG1012F and AG1022F will use linear interpolation.3. The max data number of AG2052F, AG2062F ARB is 1000000. When the wave cut from oscilloscope contains data number more than 1000000, generators will compress data. On the contrary if the data number is less than 1000000, generators will use linear interpolation.--------------------------------------------------------------------------On this post I'll try to illustrate how to use this feature using my Owon SDS7102 DSO to cut a waveform and my AG1012F to play it back. For the signal source I'm going to use an old color bar generator & vector scope. First I'll use the DSO to look at the generator's video output while it is setup to output a 3 x 3 color bar display. Then I'll try to cut a single line of video including the horizontal sync pulse and store it in my thumb drive. Finally I'll transfer the thumb drive to my AG1012F and play back the file.Attachment #1 - This is the output of the color bar generator showing the last part of the vertical sync pulse and the first few lines of video. The SDS7102 has a video trigger but in this case the trace wasn't very stable, perhaps because this color generator doesn't provide a strict NTSC signal. So, instead, I'm using a pulse trigger of appropriate width to lock unto the vertical sync pulse.Attachment #2 - Here I moved the trace to the left and changed the time base to enlarge the line of video that I plan to cut. Notice that the current SDS7102 sample rate is 100MS/s and the line of video that I plan to cut is about 63 microseconds. So the approximate number of data points on this waveform should be 63 x 100 = 6300. According to Owon if the number of data points is less than 8192 they use linear interpolation, which I assume means they will increase the number of data points to 8192. So I'm doing this on purpose to see how well this mechanism performs.Attachment #3 - This is the screen you get right after selecting "CutWave". As indicated by the pop up instructions you can now move the cursors to identify the area you want to cut and then press "Save" when you are ready. In this image I have already placed the cursors where I want them, and as can be seen the area to be cut is 63.1 microseconds long, so the video line frequency is 15.85kHz. I'm going to name this file: 6300p_v_line, as a result the file stored in the thumb drive should be 6300p_v_line.ota.Attachment #4 - This is the same as #3, but I have changed the SDS7102 Acquire Length so that the sampling rate is 1GS/s. So the approximate number of data points on this waveform should be 63 x 1000 = 63000. According to Owon if the number of data points is greater than 8192 they use compression, which I assume means they will reduce the number of data points to 8192. So I'm doing this on purpose to see how well this mechanism performs. I'm going to name this file: 63000p_v_line, as a result the file stored in the thumb drive should be 63000p_v_line.ota.The next thing I want to do is find out exactly how many data points the AG1012F sees in these files, so I'm going to pretend that I want to edit them to get the AG1012F to display the number of points on the screen.Attachment #5 - This is the screen I got when I tried to edit 6300p_v_line.ota, the only thing that is right is the number of points. Don't despair, this is another quirk with a workaround, you need to reboot the AG1012F and immediately after try the edit again. If you do something else first, like playback a file, you'll probably get this quirky screen again.Attachment #6 - This is the screen I got after rebooting and then trying to edit 6300p_v_line.ota again. This looks OK to me, it doesn't show the fine details of the signal, like the 3.58MHz color modulation, but hopefully this will show up when we play it back. One thing we learn is that Owon didn't change the number of data points to 8192 as one of their tips seems to imply. Perhaps what they mean is that this linear interpolation takes place when the file is played back.Before I leave this screen I'm going to press "Store" and save this file again with the same name. This should produce a file with a .bin extension. Files with a .ota extension cannot be edited with the Ultrawave software, so in effect, what I'm going to do here is convert the file to the .bin format which is supported by Ultrawave.Attachment #7 - This is the screen I got when I tried to edit 63000p_v_line.ota. This looks OK to me, again, it doesn't show the fine details of the signal, but this should show up when we play it back. One thing we learn is that Owon did change the number of data points to 8192 as one of their tips implied. So the compression that they talk about apparently happens when the file is created. Note that .ota files behave as files created using interpolation ON, so if you plan to edit one of these the rules I talked about on the last post apply.Before I leave this screen I'm going to press "Store" and save this file again with the same name to get an additional file converted to the .bin format.Attachment #8 - This shows the four new files as they appear in the thumb drive. What I find interesting is the different file sizes. In the case of the 6300 points file the file size increased when it was converted from .ota to .bin. In contrast, for the 63000 points file the file size drastically decreased. I'm not quite sure what this all means, but I'm attaching all 4 files in case someone wants to try and decode them and give me the answer!Attachment #9 - This is the setup to output 6300p_v_line.ota. The AG1012F extracted the setup values like frequency and amplitude from the file since they are within the limits of operation of the AG1012F.Attachment #10 - This shows the output of the color generator on Ch1 and the output of the AG1012F for #9 on Ch2. I used single trigger to get the waveforms to match up as close as possible for comparison.Attachment #11 - This is an expanded view of #10 to show the detail of the 3.58MHz color modulation.Attachment #12 - This is the same as #10 but this time the AG1012F is setup to output 63000p_v_line.ota. I don't see much difference, and the expanded view looks just like #11. I also played back the .bin versions of the files with nearly identical results. However, note that when the .bin versions of the .ota files are played back the AG1012F defaults to the previous setup. In contrast, as mentioned above, the .ota files contain setup values that the AG1012F will use instead of the previous setup values if possible.

author: TomC
author_rank: Frequent Contributor
timestamp: February 18, 2015, 03:42:39 am
content: Arb part 5 (Cut wave), Additional Thoughts-------------------------------------------On this post I'd like to add some additional information and reflections related to the previous post (50).----------------------------------------------------------------------On post 50 the following arb waveform files were created:6300p_v_line.ota 6.22kB (63.1 microseconds captured at 100MS/s for a total of 63.1 x 100 = 6310 data points)6300p_v_line.bin 12.37kB63000p_v_line.ota 61.68kB (63.1 microseconds captured at 1GS/s for a total of 63.1 x 1000 = 63100 data points)63000p_v_line.bin 16.05kBThe .ota files were created with my Owon SDS7102 DSO. These files conform to a format that can be interpreted by Owon AWGs, for example, the AG1012F and the AG2062F. However, the number of data points that can be rendered by an Owon AWG vary depending on the model number, for example, the AG1012F has a limit of 8192, while the AG2062 has a limit of 1000000. So it wouldn't make sense for any interpolation or compression of the .ota file data points to occur when they are created by the Owon SDS DSO. This becomes evident to me when I consider that at the time of creation there is no way to know which Owon AWG model will be used to play the files back.Based on the above reasoning, I now believe that the 63000p_v_line.ota Arb file actually contains 63100 data points even though when opened for editing on the AG1012F the edit screen only shows 8192 data points. I also believe, although I can't prove it, that if the same file was opened on an AG2062F the edit screen would show all 63100 data points. Perhaps this also helps explain why the file size decreases from 61.68kB to 16.05kB when converted to a .bin file. Consider that in this case, the conversion is being done by an AG1012F which is limited to 8192 data points. To me this is evidence that the .bin version of the file has probably been compressed to 8192 data pointsAs further corroboration of this hypothesis, we can also look at the ratio of the file sizes compared to the ratio of the number of data points that I suspect each file version contains. For the file sizes we have a ratio of 16.05/61.68 = 0.26, and for the data points we have a ratio of 8192/63100 = 0.13. These numbers make sense if we assume that .bin files are twice the size of .ota files with the same number of data points. This assumption is corroborated by the file sizes of 6300p_v_line.bin and 6300p_v_line.ota. Since the AG1012F can handle more than 6310 data points, in the case of these two files I don't see a reason to suspect that the number of data points was changed by converting the .ota version of the file to .bin. With this in mind, I think that comparing the 0.26 ratio to the 0.13 ratio strongly indicates that the change in file size exactly corresponds to the change in the number of data points.To further simplify, let's project the size of a .ota file equivalent to 63000p_v_line.bin, if we assume that it should be half the size we get 16.05/2 = 8. If we now calculate the ratio of the 63000p_v_line.ota and the projected .ota file we get 8/61.68 = 0.13. Exactly the same as the ratio of 8192/63100 = 0.13.As for any linear interpolation or compression related to .ota files as mentioned in the Owon tips, I now believe that any implementation of this feature would have to occur on the fly as the files are being played back. As I explained above, I see no evidence that the files themselves contain data points that have been interpolated or compressed.

author: TomC
author_rank: Frequent Contributor
timestamp: February 18, 2015, 10:47:31 pm
content: Utility------------------On this post I'd like to explore the "Utility" interface and function.First, let's review the Owon specs and some of Owon's instructions verbatim from the manual:Phase Deviation 0 - 360°External Reference Clock Input----------------------------------------------------------------Impedance 1 k ohm, AC coupledRequested Input voltage swing 100 mVp-p to 5 Vp-plocking range 20 MHz ± 35 kHzExternal Reference Clock Output-----------------------------------------------------------------Impedance 50 k ohm, AC coupledAmplitude 5 Vp-p, access 50 ohmSome of the instructions from the manual (here I only listed what I though may not be obvious)---------------------------------------------------------------------------To Set the Output LoadFor either of CH1 Output and CH2 Output on the Front panel, the Generator has a built-in 50Oseries impendence. If the actual load does not match the set one, the displayed amplitude and offset are incorrect. This function is used to match the displayed voltage with the expected one.The default settings of the system are as follows:Output Default------- ---------Function Sine WaveFrequency 1 kHzAmplitude/Offset 1 Vp-p / 0 VdcWaveforms Default--------- ---------Frequency 1 kHzAmplitude 1 Vp-pOffset 0 VdcDuty Cycle of Square 50%Symmetry of Ramp 50%Pulse Width of Pulse 200 usDuty Cycle of Pulse 20%Modulation Default---------- ---------Carrier 1 kHz Sine WaveModulating 100 Hz Sine WaveAM Depth 100%FM Deviation 100 HzPM Phase Deviation 0°FSK Hop Frequency 100 HzFSK Frequency 100 HzSource InternalSweep Default------- ---------Start/Stop Frequency 100 Hz/1 kHzTime 1 secMode LinearBurst Default------- ---------Frequency 1 kHzCount 1 CyclePeriod 1 secPhase 0°Others Default------- ---------Brightness 95%Separator CommaScreen Saver time 100 minutesLoad High ZPhase Deviation 0°Clock Source InternalChannel Output Control OffTo Set the Clock SourceThe waveform generator provides an internal clock source and also accepts external clock source input from the [Ref Clk/Counter In] connector at the rear panel. It can also output a clock source from the [Ref Clk Out] connector for other device to use.Note: The amplitude of the [Ref Clk/Counter In] input signal must be over 1 V.------------------------------------------------------------------------With the above in mind let's first review the "Utility" 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 #1 - This is the main Utility menu, there are 4 choices and we have already covered the Counter on a previous post.Attachment #2 - These are the Display setup choices. 95% is the brightness default and I haven't found a reason to use a different setting. Note that some of the possible settings cause the DC/DC converter associated with this feature to emit an annoying noise.The default for separator is comma, or you can choose space or nothing (off). I prefer nothing. By default the screen saver pops up after 100 minutes of inactivity. I have no use for that feature either, so I turned it off.Attachment #3 - These are the Output setup choices. Here you set the load for either channel, set the phase deviation if desired, and set the baud rate. Note that BaudRate is not used on current units, it appears that Owon did use a serial port on early units.You can enter a load from 1 to 10k ohms or choose High Z by pressing the button. This will just change the button label and hide the load value in the center of the screen as shown in attachment #4.Note that the generator always uses a 50 ohm series impedance regardless of the setting. It uses the user's input to predict the output voltage based on a potential divider calculation. For example, if you tell it that the load is 50 ohms and that the waveform amplitude should be 2Vpp, the generator will output 4Vpp. This is because it expects that by applying 4Vpp across two 50 ohm resistors in series the voltage across the load will be half of 4Vpp (2Vpp). On the other hand, if you tell it that the load is High Z, then the generator will output 2Vpp. The reason is that in this case the generator expects the load to be greater than 10k ohms, and therefore, the voltage drop across its internal 50 ohm resistor should be negligible. So nearly the full 2Vpp should appear across the load.Attachment #4 - This is the way the screen appears when the load is set to High Z.Attachment #5 - Here you can set the PhaseDEv between the two channels to any value between 0 - 360° or turn the feature off by pressing the button. In that case the screen appears as in attachment #6. The default PhaseDev value is 0°.I would have expected that when the phase is set to 0° or turned off the signals at the output of the two channels, specially if identical, would be in phase. However, this isn't always the case. They are in phase at low frequencies, but as the frequency increases the phase deviation between them also increases. I suspect that this will probably vary between units due to component tolerances. Attachment #7 & #8 show the phase deviation between the two channels at 1kHz and 10Mhz when the PhaseDev is either off or set to 0°.Attachment #6 - This is the way the utility screen appears when the PhaseDev is set to off.Attachment #7 - This shows the DSO image of the CH1 & CH2 signals when the AG1012F outputs are set to standard sine wave at 1kHz.Attachment #8 - This shows the DSO image of the CH1 & CH2 signals when the AG1012F outputs are set to standard sine wave at 10MHz.Attachment #9 - This shows the utility screen PhaseDev setting required to correct the CH1 & CH2 phase deviation depicted on #8.Attachment #10 - This shows the DSO image of the CH1 & CH2 signals after changing the AG1012F setting as shown on #9.Attachment #11 - This is page 1 of the System setup choices. Here you can select English or Chinese, whether you want to retain the last setup choices the next time you power on or just go back to default values, and there is also a button to go back to default values on demand.Attachment #12 - This is page 2 of the System setup choices. Here you can able or disable beeps that among other things are supposed to wake you when you thoughtlessly ask the unit to do thing outside of its capabilities. I don't get enough sleep as it is, so this is one feature I wouldn't miss if it was forever silenced.Attachment #13 - This is what you get if you press "Sys info".Attachment #14 - This is what you get if you try to change the clock source to external but don't have, according to Owon, a suitable clock signal connected to the "Ref Clk/Counter In" connector at the rear panel.I don't have another signal generator that provides a 20MHz clock at the amplitude level that Owon requires. So to test this feature I looped the "Ref Clk Out" to the "Ref Clk/Counter In" at the rear of the unit. You would think that the clock Owon provides for other generators to synchronize on would also be appropriate for their own generators. So the next two attachments show how this turned out.Attachment #15 - This shows the DSO image of the "Ref Clk Out" on Ch1 and an AG1012F output set to standard sine at 10MHz on Ch2. The DSO is triggered on Ch2 and the persistence is set to 5 seconds to catch any mis-synchronization between the two signals. When this image was captured the "Ref Clk Out" was looped to the "Ref Clk/Counter In" at the rear of the unit but the clock source was set to "internal".Attachment #16 - This is the same as #15 but in this case the clock source is set to "external".Not that I think I'll be using this feature much, if ever, but nevertheless I'm not impressed! I sort of expected this to work flawlessly!-------------------------------------------------------------------------------I think this is it as far as the features available via the unit's user interface!Unless I remember or one of you remind me of something I missed! Otherwise, I think I'll be turning my attention to the PC software, mainly, Ultrawave.

author: TomC
author_rank: Frequent Contributor
timestamp: February 22, 2015, 06:40:10 am
content: Utrawave, first impression---------------------------The PC software available for the Owon AWGs is a version of Ultrawave. Reading the Owon documentation I get the impression that they feel/claim it has the following capabilities:1) Download Arb files from the Owon AWG or Upload Arb files to the Owon AWG.2) Edit Arb files created on the Owon AWG.3) Create new Arb files that can be interpreted by the Owon AWG.4) Control the operation of the Owon AWG via a Remote Control Panel.5) Control the operation of the Owon AWG using ACPI via a Command Line Control Panel.For the last few days I've been giving these features a workout, my impression is that to a certain degree, but with unusual or unexpected limitations, they can do all of the above. However, in my opinion, compared to other software designed to perform similar tasks, this software is rudimentary, lacks basic features, and for those reasons is nearly useless.For example, the editor doesn't show the cursor position, so if you click to set a data point the only reference you have is the graduations on the grid. The only way to get some precision is to use Point Edit, where you can enter a data point and a particular voltage level. However, you would think that this feature would also give you the current value of the data point, like when editing Arbs on the AWG itself, but nothing, so I guess you are supposed to know beforehand.Attachment #1: This is a version of the 361p_sine_x10.bin after I used Point Edit to create the spike. Notice there is no cursor position anywhere. So there isn't a way to know the exact voltage of any of the data points, or exactly where the data points are located. Also, the data points start with 0 on this editor, so one more confusion factor since on the AWG itself they start with 1.OK, I'll try to post some more detailed tests soon!

author: TomC
author_rank: Frequent Contributor
timestamp: February 25, 2015, 04:16:05 am
content: Ultrawave - Download & Upload-----------------------------ON this post I'd like to explore the communications and file transfer functionality provided by the Ultrawave PC Software.Attachment #1 - Port-settings dialog. This is normally the first screen you want to visit if you intend to download/upload arb files from/to a particular Owon AWG. It lists the AWGs by serial number, and if you happen to have an OWOn SDS DSO connected to the USB bus, as in this case, its model number will also appear on the list. The dialog also allows you to select LAN instead of USB, the Owon AG-S series (single channel) AWGs come with LAN ports.I've tried selecting the DSO to see if anything would work, but basically nothing useful, under certain circumstances it's possible to use the ACPI console, but you also have to involve the DSO PC software.Attachment #2 - Get Data dialog. This is the next screen you would want to visit. If you click "GetFiles", like I did here, you'll get a list of the files present in the AWG's internal storage or thumb drive, whichever one you were accessing last via the AWG's UI. There isn't a way to change the drive via Ultrawave (or SCPI). As can be seen the list only shows file names, no size, no drive. The list you see here happens to be from my thumb drive."DownLoad"----------Supposedly you can now select a file and press "Download", and if everything goes well a copy of the file will be stored in the "Download Path:" and displayed on the edit window ready to be edited. However, I haven't been able to download files from the thumb drive successfully, although a few times I thought I did. As it turned out, this happened only for files that were previously downloaded from the internal storage and were subsequently fetched from the cache when I thought I had downloaded them again from the thumb drive.So if you want to edit a file that's only present in the thumb drive, you can either do a copy and paste at the AWG to get a copy of it in the internal storage, or you can move the thumb drive to your PC and access it via Ultrawave's File menu.Only files with a .bin extension can be downloaded successfully. However, the AWG is capable of playing back files that don't have a proper extension if they are otherwise formatted the same as a .bin file. So if you want to download one of these files to the PC using Ultrawave you must first rename it using the AWG UI."Delete"---------As expected, if everything goes well, the selected file disappears from the list and the AWG screen (if you were watching the file system). But again, if the list you are viewing is for the thumb drive, delete doesn't work. By the way, I've tried to delete the phantom files using this interface, but no dice!"UpLoad" & "Upload Local File"-------------------------------These two are very similar in that they will upload a file stored in the PC to the AWG. By default the program looks for the file in the "Download Path:". In the case of "Upload Local File" the user is presented with an explorer window (see attachment #3) and allowed to select a file to upload, in the case of "Upload" the filename is presumed to be the name of the file in the Edit window.There isn't a way to select the destination AWG storage, and regardless of which storage was accessed last via the AWG's UI, the upload always lands in the AWG's internal storage. Filenames consisting of more than 12 characters including the extension are truncated and only the first 12 characters are passed on to the AWG as the filename. So, for example, if you upload a file named "1234567890.bin", the file received at the AWG will be named "1234567890.b" (See attachment #4).Although the extension isn't .bin, the AWG doesn't seem to care, and can play it back or whatever as if it was a regular .bin file. However, if you want to later on download this file back to the PC using Ultrawave, you'll get a "Format not supported for file:" error. To get around this you'll have to rename the file so that it has the complete .bin extension.Attachment #3 - Explorer window used to select the local file to be uploaded.Attachment #4 - Some files with truncated filenames.------------------------------------------------------------------------I'm not happy with all these quirks and unpolished or unfinished features. I think this state of affairs is a little embarrassing and definitely needs some work!

author: rf-loop
author_rank: Super Contributor
timestamp: February 25, 2015, 11:41:08 am
content: Quote from: TomC on February 16, 2015, 05:40:37 amI think here need note (you of course know it but all do not...) that Arb Nyquist limit is 62.5MHz (125MSa/s) and your spike is narrow.Then other thing. If example 8192points is one Arb cycle and cycle frequency is 10MHz, needless to say it need "jump" over lot of points because there is 12ps for one point if read all points. Because Arb 125MSa/s means that it use 8000ps for one step. So, many times it need jump over your spike. With some frequencies it may disappear and with some frequencies it appears some times. It need run this "jumping" so that it also can adjust output frequency in used system what is fixed clock Arb. You just find Basic fundamental physical limits of this AWG. This happends, (I believe) with all Arb generators what use this simple method.

author: TomC
author_rank: Frequent Contributor
timestamp: February 25, 2015, 05:21:52 pm
content: Quote from: rf-loop on February 25, 2015, 11:41:08 amThanks for further explaining some of the inherent characteristics of DDS!In retrospect, I think that summarizing it as an effect of the marvels of DDS left a few things unsaid for those not familiar with it!

author: TomC
author_rank: Frequent Contributor
timestamp: February 27, 2015, 07:37:45 am
content: Ultrawave - Editing Arb Files------------------------------ON this post I'd like to explore Ultrawave's capabilities and performance while creating and/or editing Arb files, including files created using the Owon AWG's user interface.In addition to the limitations mentioned on post 53, there are a number of quirks that at the very least can be confusing. So I'm going to try to illustrate some of these quirks as we go along.Attachment #1 - This is a sketch showing the data point voltages required to create either a 2Vpp 17 point sine wave (interpolation ON), or a stair up/stair down 2Vpp signal using the same data points (interpolation OFF). I plan to use these two signals to compare the Ultrawave and AG1012F UIs.Attachment #2 - This is a hex dump of a file created using the AG1012F UI based on #1. This file was created with interpolation OFF, so it should display and output the stair up/stair down 2Vpp signal version.To help me evaluate and understand the behavior of the two UIs I decided it was time to try to decode the file format. So the comments in red is what I came up with. Note that in the examples I converted the native endianness to conventional, left to right, most significant to least significant hexadecimal representation, because, at least for me, is easier to visualize and do math.Attachment #3 - This is how #2 displays on the AG1012F screen. Notice that the AG1012F uses the lowest & highest voltage data point values on the top line of the hex dump to scale the Y axis of the graph. In addition, it uses the value of byte 00000000 to decide how to render the plot. In this case, since the value is 00, it renders the plot with interpolation OFF.Next, I want to see what happens when I download or open this file using the Ultrawave PC software.Attachment #4 - This is how Ultrawave renders #2. The screenshot was taken immediately after downloading the file from the AG1012F.Notice that the Y axis did not get scaled based on the values on the top line of the hex dump, instead, it defaults to 20Vpp. In addition, the plot wasn't rendered based on the value of byte 00000000 (interpolation OFF). As it turns out, there isn't an option to change the way Ultrawave renders the plot, so regardless of the value of byte 00000000, the plot is always rendered by connecting the data points with straight lines. The only other option is to display just the data points (red dots) without any interconnecting lines.There is an interesting feature on the edit menu, "Rework", click on this and you are allowed to alter the number of data points and the scale of the y axis, a functionality that is not available when editing Arbs via the AG1012F UI.Next, I'm going to save this file without making any alterations and see if anything changes when I do a hex dump using my hex editor.Attachment #5 - This is the hex dump of what used to be #2 after clicking "Save" on Ultrawave.Notice the new values on the top line of the hex dump, if you convert these using the example on #2 you should get +10000mV & -10000mV. In addition, the file name placeholders were set to 00, however, I think the value of these is irrelevant.Next I want to upload this file to the AG1012F and see it's rendered differently. Note that when the file you upload to the AG1012F has the same name as an existing file, the existing file is overwritten. Keep this in mind if you want to preserve both files because there is NO warning.Attachment #6 - This is how #5 displays on the AG1012F screen. Notice that the Y axis reflects the new values, and although difficult to see because of the scaling, the plot still depicts the stair up/stair down 2Vpp signal.Next I want to use the "Rework" feature and change the Y axis scale back to 2Vpp.Attachment #7 - This is how Ultrawave renders #5 after changing the voltage from 10000mV to 1000mV. This causes the Y axis scale to change to 2Vpp. The "Rework" dialog disappears after you click OK, but I re-invoked it to include it in the screenshot just to show how it looks.Since this is supposed to be a stair up/stair down 2Vpp waveform, I think the straight lines between the data points would be very confusing for the user when trying to edit the waveform. There isn't a way to change the way these lines are rendered, so perhaps it would be easier to get rid of the lines altogether. To do this you can use the "Format" menu, or click the toolbar icon with the 3 dots in a delta formation.Attachment #8 - This is how Ultrawave renders the data points by themselves. I added the circles around the very small red dots that represent the data points because I thought they would be difficult to spot when this image is viewed.Next, I'm going to save this file without making any further alterations and see if anything changes when I do a hex dump using my hex editor.Attachment #9 - This is the hex dump of what used to be #5 after clicking "Save" on Ultrawave.Notice the new values on the top line of the hex dump, this is the same we had on #2. So the only difference between the two hex dumps is in the file name placeholders which are now set to 00.I uploaded this file back to the AG1012F and the graph and plot is identical to what we got on #3.Finally, I want to create a new file with the same data points using the Ultrawave UI. Primarily, I want to see how it displays, and what happens to byte 00000000.Attachment #10 - This is how the screen looked after I entered the last data point, 16 aka 17. Notice that data point 0 is at -1V. At first I thought I made a mistake when I first entered this data point, because, when I went back and re-entered it, it worked correctly. But NO, no mistake, when you enter data point 0 the first time, for some reason, it doesn't register. However, it works every time when you come back, after entering other data points, and re-enter it.Attachment #11 - This is how the screen looked after I re-entered data point 0 (aka 1).After this I saved the file and got a hex dump, the hex dump was identical to #9. So although Ultrawave renders the plot as if interpolation was ON when you create a file from scratch, the file it produces indicates interpolation is OFF. I uploaded the file to the AG1012F and as expected it's rendered the same as #3.--------------------------------------------------------------OK, this is it for today! I need to catch some sleep! But I'm not done yet with Ultrawave, I don't want to miss any additional quirks that may be hiding in plain sight!

author: TomC
author_rank: Frequent Contributor
timestamp: February 28, 2015, 06:38:13 am
content: Ultrawave - Creating Arb Files------------------------------ON this post I'd like to explore Ultrawave's capabilities and performance while creating Arb files from scratch. This time I want to create more complex Arbs and try to use some of the other drawing tools offered by Ultrawave.Attachment #1 - This the way the edit window looks after creating a 361 point sine wave using an approach similar to what I used on post 40 to create the 361p_sine_X10.bin Arb described in it.The data point values were entered using "Point Edit". As I did on post 40 via the AG1012F UI, I only entered the values for data points 0, 10, 20 ... 360. In a way similar to the AG1012F, Ultrawave also automatically fills-in the values for the data points in between.However, I've noticed a couple of differences in the way that the two UIs handle in between data points. In the AG1012F this feature only worked when skipping data points by certain multiples, for example 10 or 100. Also, the data point values for the first skip didn't interpolate correctly and had to be re-entered manually at some point. In contrast, Ultrawave always seems to automatically fill in the values in between with what appears to be straight lines regardless of the number of data points skipped. In addition, this mechanism also works correctly for the first skip.While working on this file I also discovered an easier workaround for the problem with the value for data point 0 not registering when it's first entered (see the original description of this problem on post 57). Now, to get it to register correctly every time, I just click OK twice when I first enter its value.Attachment #1a - This is the same as #1 but for this screenshot I changed the format to "Data Point".Next I'm going to compare the hex dump of 361p_sine_X10.bin with the hex dump of the Arb I just created with Ultrawave (361p_sine.bin). I would like to see if there is any difference between the in-between values assigned by Ultrawave and the ones assigned by the AG1012F firmware.Attachment #2 - This is the hex dump of 361p_sine.bin.Notice that the value of byte 00000000 is 00. So to compare the performance of this Arb with the performance of 361p_sine_X10.bin I'm going to have to change this value to 01 using my hex editor.Attachment #3 - This is the hex dump of 361p_sine_X10.bin.As expected, there are differences in the filename and filename place holders. As far as the in-between data point values, many of them are the same, but there are some with slightly different values. So it seems that the interpolation algorithm used by Ultrawave is somewhat different. What I would like to know is whether these differences will have an effect when we compare the shape and harmonic distortion of the two Arbs.At this point I'm going to change the value of byte 00000000 in a copy of 361p_sine.bin to 01 and upload both the original and the copy to the AG1012F.Attachment #4 - This is the DSO image of 361p_sine_X10.bin (CH1) and the modified copy of 361p_sine.bin (CH2) when played back on the AG1012F at around 100kHz.I can't really see any difference between the two signals at this DSO setting. I tried lower voltage settings but still couldn't see anything significant.NOTE: I used 100kHz for these tests because the slight differences between the Arbs seemed to show up better at lower frequencies. During some preliminary tests I could hardly see any difference at 10MHz.Attachment #5 - This is the FFT for 361p_sine_X10.bin (CH1).Attachment #6 - This is the FFT for the modified 361p_sine.bin (CH2).I think the signal purity of #5 is slightly better, but not by much in my opinion. So I would say that the interpolation algorithm used by the AG1012F firmware seems to do better, at least for sine waves.Attachment #7 - This is the DSO image of the modified copy of 361p_sine.bin (CH1) and the unmodified 361p_sine.bin (CH2) when played back on the AG1012F at around 100kHz.For this screenshot I used different DSO settings to highlight the staircase shape of the unmodified Arb. At the settings used for #4 I couldn't see a noticeable difference.Attachment #8 - This is the FFT for the unmodified 361p_sine.bin (CH2).I detect some deterioration of signal purity compared to #6, but not as much as I thought there would be!-----------------------------------------------------OK, time to call it quits for the Day! Quite a few other things I want to test, so .......... to be continued!

author: TomC
author_rank: Frequent Contributor
timestamp: March 01, 2015, 08:13:37 am
content: Ultrawave - Creating Arb Files part 2--------------------------------------ON this post I'd like to continue to explore Ultrawave's capabilities and performance while creating Arb files from scratch. This includes creating more complex Arbs and using some of the other drawing tools offered by Ultrawave.On this post I'm going to use Ultrawave to create a digital Arb similar to the one featured on post 45. First, let's review the Arb created on post 45. I want to do this first because when I tried the Arb created with Ultrawave revisiting the below helped me realize what was happening.Attachment #1 - This is how the edit screen looked like when 11p_1101001110.bin was created.Notice that there are only two data point voltages used, 0V and 2V. Also notice that the graph's Y scale is based on these two values since in this case they are also the max & min voltage values. Unfortunately, there are also some things that should be ignored, like the amplitude and offset values, which may seem relevant in this case, but are just leftovers from whatever operation you were performing prior to invoking waveform creation.Attachment #2 - This is how the screen looks like when the AG1012F is setup to output 11p_1101001110.bin at 1MHz.In this case the amplitude and offset has to be setup correctly to obtain a waveform excursion from 0V to +2V. Since the waveform was created with 0V and 2V min & max voltage values it is a 2Vpp waveform. If there is no offset the waveform would be output with excursions from -1V to +1V, so to get excursions from 0V to +2V the offset must be set to 1V.Alternatively, we can instead set the high and low voltage levels we want for this signal. Changing the settings to a high voltage level of 2V and a low voltage level of 0V is equivalent to setting a Vpp value of 2V and an offset value of 1V. Attachment #3 shows how the screen looks like when the high and low voltage level settings are used.Attachment #3 - Same as #2 but showing the high and low voltage level settings instead of the amplitude and offset voltage settings.Attachment #4 - This is the DSO display of #2 or #3.Attachment #5 - This is the hex dump of 11p_1101001110.bin. I had forgotten that I renamed this file after it was created, however, as can be seen, the name within the file is still the original filename.Now, to create a similar file with Ultrawave I'll need to set the number of points to 17 and the voltage to 2000mV. This should set the Y scale to -2V to +2V. There isn't an option for setting the scale to unequal absolute values at its two extremes. So when you enter the value for the positive extreme Ultrawave automatically sets the negative extreme to the same absolute value.Next I can decide between Data Line or Data Point format. Since Ultrawave always interpolates the data lines it may be less confusing to use data point format. However, the data points are very difficult to see red dots on a black background. The background color and gridline color can be changed, but I haven't found a combination that improves red dot visibility. So I'm going to use data lines since at least I can see them!Finally, I can decide how to enter the data point voltage values. Here you can choose Hand draw, Line Draw, or Point Edit. Since Ultrawave doesn't show the cursor position, Hand Draw and Line Draw, which set the voltage based on the cursor position aren't very accurate, specially between grid lines. In contrast, Point Edit allows you to either set the voltage for a data point by clicking a spot on the screen, or by actually entering the data point number and the voltage value you want to assign to it.I tried creating this Arb using all three choices, and it's possible, but compared to actually entering the values, I think using Hand Draw or Line Draw takes just as long or longer. For one thing, I was never able to complete the sketch without going back and redoing previous steps. Due to one reason or another every so often a click alters something you had right before and you end up going back and forth. Maybe a little practice will improve the speed, but you still don't know if the voltage settings are accurate. So unless accuracy is irrelevant, as may be the case sometimes, I find it easier to use Point Edit.Attachment #6 - This is how the Ultrawave screen looks like after entering all the data point voltage values. It looks the same if you use Hand Draw or Line Draw, but the voltage values may be a little off.If Ultrawave offered a no interpolation choice for drawing the plot the diagonal connecting lines would be replaced with square angled pairs of lines. For example, the diagonal between data point 1 and 2 would become a horizontal line from 1 to the spot directly above 2 and a vertical line from there to 2, and the diagonal from 2 to 3 would become a horizontal line from 2 to the spot directly below 3 and a vertical line from there to 3. If you can imagine how the plot would look with those changes you'll know how the Arb is going to look when it's played back by the AG1012F.I saved the file with the name 11p_dig.bin, so next I'm going to get a hex dump to compare it to #5, then I'm going to upload it and see how it looks on the AG1012F output setup screen. Finally I'm going to compare 11p_dig.bin to 11p_1101001110.bin on the DSO screen.Attachment #7 - This is the hex dump of 11p_dig.bin. The data point voltage values are the same as #5, however, the value of bytes 00000008 & 00000009 (considered the lowest data point value by the AG1012F) is different. I have a pretty good idea of how this is going to affect the AG1012F, but let's see what it looks like when I try to play it back.Attachment #8 - This is how the screen looks like when the AG1012F is setup to output 11p_dig.bin at 1MHz.In the case of #2 I was able to set the amplitude to 2Vpp and the offset to 1V. Here, if I change the amplitude to 2Vpp the waveform will become 1Vpp, and if I change the offset to 1V the bottom of the signal will no longer be 0V. As you may have guessed, this is happening because of the values Ultrawave used for bytes 00000008 & 00000009, which the AG1012F expect to be the lowest data point value. The AG1012F thinks is dealing with a 4Vpp waveform and has scaled the screen accordingly.As in the case of #2, we can also see the high and low voltage levels used for this waveform, this is shown on attachment #9.Attachment #9 - Same as #8 but showing the high and low voltage level settings instead of the amplitude and offset voltage settings.Here again you can see that the AG1012F has been duped, the waveform's highest voltage is +2V, but the lowest voltage is 0V, not -2V.Attachment #10 - This is the DSO display of #2 or #3 on CH1 and #8 or #9 on CH2. As can be seen, the waveform on CH2 is identical to the waveform on CH1, and it is what I intended to create in the first place. So the only thing that is wrong is that the AG1012F thinks it's outputting a 4Vpp waveform with an offset of 0V.Of course, this problem can be corrected by changing the value of bytes 00000008 & 00000009 to 1027 with a hex editor. It's just that I'm growing weary of the acrobatics required to make this thing work the way is supposed to!-----------------------------------------------------------------------------------------------------------------Below are some additional quirks that I've noticed while working on this post:Most of the Arb files I've downloaded with Ultrawave caused the Y axis of its edit screen to default to -10V to +10V. However, with a few files I noticed a different outcome. After decoding some of these files I found out why. If the absolute value of bytes 00000004 & 00000005 (the highest data point value) is larger than the absolute value of bytes 00000008 & 00000009 (the lowest data point value), then the Y scale is set just large enough to accommodate both values. For example, if bytes 00000004 & 00000005 = 482B (1080mV) and bytes 00000008 & 00000009 = 0023 (-1040mV), then the Y scale is set to -1.08V to +1.08V.However, let's say that you edit the above file and then save it. Since the Y scale is set to -1.08V to +1.08V, bytes 00000004 & 00000005 will be set to 482B (1080mV), which is the original value, but bytes 00000008 & 00000009 will be set to D822 (-1080mV). So what do you think is going to happen the next time you open this file with Ultrawave?-----------------------------------------------------------OK, that's it for tonight! I need a rest!

author: Obin
author_rank: Contributor
timestamp: March 01, 2015, 11:38:44 am
content: looks like a nice unitMight pick one up in the future

author: TomC
author_rank: Frequent Contributor
timestamp: March 01, 2015, 05:22:26 pm
content: Quote from: Obin on March 01, 2015, 11:38:44 amI got mine at a good price!However, I wish that Owon would take the time to fix some of these issues!They haven't responded to the email I sent them over a week ago, so it's probably time to try again, maybe someone that's awake reads the email this time!

author: TomC
author_rank: Frequent Contributor
timestamp: March 02, 2015, 12:16:52 am
content: There were some posts where I forgot to attach copies of the Arb files discussed. So today I went through them and I believe I attached all the files that were missing.The following are the posts I edited to attach Arb files:395759

author: TomC
author_rank: Frequent Contributor
timestamp: March 04, 2015, 07:26:46 am
content: Ultrawave - Creating Arb Files part 3--------------------------------------ON this post I'd like to continue to explore Ultrawave's capabilities and performance by editing a complex Arb file.The issue I'd like to tackle is whether complex Arb files can be modified accurately and efficiently using Ultrawave. I've been experimenting with a file used on post 50, 63000p_v_line.bin, which originally came from my color generator.Attachment #1 - This is the way 63000p_v_line.bin looks like in Ultrawave's edit screen.What I'd like to do is change the base of the sync pulse to a straight line at 516mV, and change the base of the video line to straight lines at 172 mV. I picked those voltages because since they coincide with the grid lines hopefully the task won't be as challenging.Attachment #2 - This is the way the waveform should look like after successfully editing it.I've tried this different ways with different degrees of success, the attached 6300p_mod.bin is the best I've got so far. However, I think it took me too long to produce this file to call the effort both accurate and efficient. So I'm still searching for better answers. On the next post I'll give more details of what I think is the easiest way to get this done. In the mean time, I'm inviting any of you with a copy of Ultrawave that's interested to give it a try and report what you think! You don't need to own an AG1012F to get this software, it's available for download at the Owon website.http://www.owon.com.hk/service_down.asp?SortID_1=1&SortID_2=0&seek=&curpage=3

author: TomC
author_rank: Frequent Contributor
timestamp: March 09, 2015, 07:34:54 am
content: Ultrawave - Creating Arb Files part 4--------------------------------------This post is the sequel to post 63.Using the stock Ultrawave software, I couldn't find a satisfactory way to complete the task I proposed in an accurate and efficient way. So I decided that it was time to try to find a way to mitigate some of Ultrawave's shortcomings. There are a couple of things that slowed me down the most:First, I found it difficult and time consuming to position the cursor on the correct spot to draw the lines at 172mV and 516mV consistently. Even with the gridlines as a guide, most of the time I would be at least a pixel off. Going to full screen improved things a bit, but still it took too many redos to get it correct!Second, I found it very difficult to position the cursor at exactly the beginning or end of the active area of the grid. For example, when I tried to do the first click at the extreme left of the waveform, most of the time I would either be slightly to the left of the active area, where clicking does nothing, or I would be past the beginning of the active area and miss the first few pixels of the waveform.Based on this I thought that if I could devise a way to display the cursor coordinates and reveal the grid boundaries the job would be substantially simplified. In the past I had briefly used a scripting language called Autoit for some simple tasks, so I decided to try to use it to improve Ultrawave. At this point I have a working script that satisfies these two objectives. It's still very much a work in progress since I want to see what else I can do to make it more useful. For me this is a major job because my programming experience is very limited and way back in the past. So I'm going to post both the executable and the script source in case someone with more experience wants to take a look and help improve it!Attachment #1 - This is the way the Ultrawave screen looks like with my script running. When you launch the script it will try to invoke Ultrawave if it's not already running. In that case it will rework the screen to appear as in this attachment. If Ultrawave is already running the small window controlled by the script will attach itself to the existing Ultrawave instance in the same position shown in this attachment.Currently the small window reports the cursor X and Y coordinates relative to Ultrawave window's client area. It also reports the color of the pixel (hex code) at those coordinates and whether that pixel matches the default colors of the "Grid", "Window Background", or "Waveform". If the pixel doesn't match any of those colors then it reports "Other".Attachment #2 - This is the way the waveform I want to edit looks like after downloading it.Attachment #3 - Here I used the script to determine that the 172mV gridline is at Y=270.Attachment #4 - Here I used the script to determine that the left boundary of the grid is at X=22.Attachment #5 - Here I positioned the cursor at X=22, Y=270 to click the beginning of my first line at 172mV.Attachment #6 - Here I positioned the cursor at X=27, Y=270 to click the end of my first line at 172mV. This line was done with two clicks, no redos, just have to position the cursor carefully. Going to full screen makes that even easier.Now I'm ready to start the next line past the first hump of color bar signal.Attachment #7 - This is what happens the first time I click the beginning of that second line. Ultrawave always tries to connect the current click to the previous click. If that's not what you want click "Undo", that will cause the next click to be viewed as an initial click with no connection to the previous one.Attachment #8 - After clicking "Undo", here I positioned the cursor at X=228, Y=270 to click the beginning of my second line at 172mV. Because I'm using Y=270, this line is at exactly the same level as the first line.Attachment #9 - Here I positioned the cursor at X=401, Y=270 to click the end of my second line at 172mV. To complete the edit I used the same procedure for the remaining lines. At the right end of the grid I used the script to find the right boundary in a way similar to #4.OK, that's it for today!I'm going to do some more work on the script to see if I can add additional functionality, for example, report actual Data Points and Voltages besides cursor coordinates. I'll post the files containing any improvements as I go along. Of course, any help or suggestions will be appreciated!

author: TomC
author_rank: Frequent Contributor
timestamp: March 12, 2015, 04:58:16 pm
content: I just got a response from Owon regarding the phantom files, the content of their email is below:Hello ------,Thank you for purchasing OWON productYou are right, the filename can't exceed 14 character, we will see how to help you delete those files.But for future, please not to make a file name more than 14 character.Thanks,----------------------------------------------------------------------------------------- (Mr.)www.owon.com.hk---------------------------------------------------------------------------------------------------------------I've made some progress on the "Mouse Position Info" script I've been working on to enhance the functionality of Ultrawave. A version that reports "Data Points" and "Voltages in mV" in addition to mouse coordinates is almost ready. I'll probably post it later today or tomorrow.

author: TomC
author_rank: Frequent Contributor
timestamp: March 14, 2015, 02:01:00 am
content: Today I got a Patch utility from Owon that allows the user to erase the Internal Storage among other things. The instructions they sent me were in Chinese, but with screen shots clear enough to see what they wanted me to do.So Happily!The phantom files are now gone!So if any one else managed to create some phantom files, rest assured there is a solution!The utility is a 30MB download and may be dangerous if the user is not careful, for example, it can also erase BIOS, BOOT files, and TABLES. So if anyone needs it to erase some phantom files please contact Owon directly. If for some reason that's not an option, PM me, and I'll see if I can help!

author: TomC
author_rank: Frequent Contributor
timestamp: March 15, 2015, 07:13:13 am
content: Ultrawave - Mouse Position Information 1.1--------------------------------------------This post is the sequel to post 64.I just finished adding a new feature to the "Mouse Position Info" script described on post 64. In addition to mouse coordinates the script now also displays the "Data Point" and "Voltage in mV" value that corresponds to the current mouse position. For this to work properly the script needs to know the current Ultrawave settings for "Number of Data Points" and "Maximum Voltage". To accomplish this I was able to get the script to automatically monitor the user activities and read the values off the "Rework" dialog whenever the user changes them. In addition the values will also be updated whenever the user either creates a new file or opens an existing file. The script will also update the values anytime the user gets done using the communications interface since this may mean that the user downloaded a file from the AG1012F.The computation of the data point number and mV value is based on the number of pixels within the active area of the Ultrawave grid. So the script needs to monitor the Ultrawave window for any changes in width or height and automatically recalibrate the computation anytime the user changes it. This computation is extremely accurate if the number of pixels in the X axis is equal or greater than the number of data point and the number of pixels on the Y axis is equal or greater than twice the voltage setting. For other ratios a single pixel will correspond to more than one data point or voltage value. As a result, the script can only try to display the data point number or mV value that Ultrawave has assigned to that particular pixel. However, that's not always perfect, although pretty close based on my tests.Attachment #1 - This is the way the Ultrawave screen looks like now with the new version of my script running. Notice the cursor position and the DP and mV values displayed by the script. When Ultrawave is launched by the script the number of data points and mV scale will be initially set as shown on this image. I did this because on full screen that translates to 1 pixel per data point and 1 pixel per mV when displayed by my primary monitor which is 1920 x 1200. In the future I plan to add an option so that this default can be changed by the user.Attachment #2 - This is a close up of the small window controlled by the script.Attachment #3 - This is an Arb that I drew at full screen to test the accuracy of the values displayed by the script when we have 1 pixel per data point and 1 pixel per mV. The down slope boundaries are data point 500 at the top and data point 1500 at the bottom. The voltage values were set 1 mV apart starting at 500mV at the top and ending at -500mV at the bottom. Here the script tells us that the cursor is at data point 1337 and that the voltage value is -337mV. We also know that the cursor is resting on a red pixel because the script identifies it as having the default color used by Ultrawave for the waveforms.Attachment #4 - Here I'm looking at the same waveform with the AG1012F in edit mode. It shows that data point 1338 is set to -337mV. As we know, the AG1012F counts the data points starting with 1 while Ultrawave starts with 0. So this is the same data point we identified on #3.Attachment #5 - Here I'm looking at the color generator waveform that was modified on a previous post with Ultrawave. I picked a spot where the voltage varied quickly from one data point to the next and there were no other data points nearby with the same voltage (408mV). What I want to see is whether I can identify this same data point (3763) in Ultrawave using the script as an aid. Keep in mind that I won't have a 1 data point per pixel resolution since this waveform is 6310 data points long.Attachment #6 - Here I show where I found a nearby data point with the same voltage using Ultrawave and the script. This is not full screen, so the expected accuracy is not high, yet, it tells us the data point is 3760, which translates to 3761 the way the AG1012F counts data points. Not too bad in my opinion.Attachment #7 - Here I found it again, this time using full screen. It tells us the data point is 3763, so it's off by one, but keep in mind that the resolution is about 3.4 data points per pixel in this case (6310/1837 = 3.4).OK, that's it for today!

author: TomC
author_rank: Frequent Contributor
timestamp: March 25, 2015, 04:22:18 am
content: Ultrawave - Mouse Position Information 1.2--------------------------------------------This post is the sequel to post 67.I'm still working on the Mouse Position Info script and have made some improvements to the version described on post 67. The information displayed hasn't changed, but I changed the format of the small window to make it easier to read. For example, when the cursor is over a pixel that belongs to the waveform, the text "Wave", and some other window elements will be displayed in red (the same color as the waveform).Another improvement is that the script can handle multiple instances of Ultrawave. A unique small window, with a title that includes the handle of the associated Ultrawave window, is paired with each Ultrawave instance. The original version of the script was limited to a single instance.I've also added a context menu that can be accessed by right clicking the small window's title bar. However, most of the options/features are still a wish list. At this point, most of them will just display a message indicating that they are not implemented yet if you click them.One final improvement is that the free standing executable is now highly compressed and about half the size of the original version. This contains all the necessary AutoIt code to run on a Windows PC that doesn't have AutoIt installed. The .au3 file is a text file with the script's source code that can be viewed with notepad, however, to run this file AutoIt 3 must be installed in the PC.----------------------------- WARNING! ---------------------------Anyone that decides to try these program files, please realize that you do so at your own risk! I've tried these files on three different Win7 computers without any ill effects, but I can't guarantee that your experience will be the same!Attachment #1 - This illustrates multiple instances of Ultrawave each paired to a small Mouse Position Information 1.2 window.Attachment #2 - This is a close up of the small Mouse Position Information 1.2 window. It illustrates how the window looks when the cursor is over a pixel that belongs to the waveform.Attachment #3 - This illustrates the context menu and one of its submenus. These are some of the options/features that I'm currently planning to implement in the future.

author: TomC
author_rank: Frequent Contributor
timestamp: May 12, 2015, 06:49:26 am
content: Ultrawave - Mouse Position Information 2.0--------------------------------------------The Mouse Position Info script has gone through several iterations since my last post. The context menu I mentioned on post 68 has been revised several times and all the options/features with the exception of "Convert to .ota" are now implemented. At this point I think I've gotten around all the UW quirks that I could possibly automate using a script. For example, the max and min mV values are now saved the way the AG1012F expects them. So waveforms edited with UW will play back the same way as when edited with the AG1012F UI. Also, when a new file is created interpolation is set to "ON". So the files created with UW, which always renders waveforms using interpolation, will look and be rendered the same way on the AG1012F.To accomplish this, when the script is running it disables the UW file menu and related toolbar buttons to make sure that the user performs these operations using the context menu. All of the UW native functions are still available via the context menu, but they are under the control of the script, which takes additional actions to get around some of the UW quirks. This allows the script to keep track of the file that is being edited and gives it the opportunity to make any changes that UW doesn't do correctly before saving it.Some other improvements include displaying the filename on the title bar of the UW window as well as the script windows. When using vanilla UW I often would forget which file I was editing and not having the filename on the title bar, as most windows applications do, was quite annoying. Another improvement is making the file named during a "Save As" the current file, as most windows applications do. Vanilla UW doesn't behave this way and since it doesn't even display the name of the current file the user can easily end up overwriting the original file accidentally.This version of the script also adds a File Information window. This includes the values of the key file fields, the full path of the file, and the modified time stamp. So the user can see whether interpolation is ON or OFF and can see the file's internal name. Options in the context menu allow the user to modify either one of these fields.----------------------------- WARNING! ---------------------------Anyone that decides to try these program files, please realize that you do so at your own risk! I've tried these files on three different Win7 computers without any ill effects, but I can't guarantee that your experience will be the same!Attachment #1 - This illustrates all the windows associated to a particular file.Attachment #2 - This is a close up of the File Information window.Attachment #3 - This illustrates the Main context menu and the File submenu. The only option that isn't implemented is "Convert to .ota". Don't know when I'll tackle that, first I'll have to see if I can decode an .ota file. The reason I would like to do this is because .ota files include frequency and voltage settings. So it would be nice to just play a file and have it set itself up automatically.Attachment #4 - This illustrates the Rework submenu. The "1 DP/px and 1mV/px" item allows the user to automatically set the UW Grid to the number of Data points and maximum mV values that correspond to 1 pixel per unit for the current window size. The other item, "Voltage to Max Zoom", looks through all the waveforms data points and finds the highest absolute voltage value, then sets the UW Grid to that value so the waveform is enlarged to the maximum possible.

author: eosintickleear
author_rank: Newbie
timestamp: May 19, 2015, 07:57:45 am
content: Quote from: TomC on February 02, 2015, 06:39:34 amThank you TomC it's very good and precise information.You are so kindnees.Will learning from this. Thanks again.Eosintic

author: TomC
author_rank: Frequent Contributor
timestamp: May 19, 2015, 10:12:33 pm
content: Thanks Eosintic,Glad you find it useful!

author: PM Smith
author_rank: Newbie
timestamp: December 06, 2015, 07:26:12 pm
content: Hello TomC,thanks for your extensive review. I have therefore bought this generator.I was also unhappy with the creation of arb-files.I wrote a small vba-excel script to create and write the .bin files.It is certainly not yet perfect but maybe someone find it useful.PM Smith

author: TomC
author_rank: Frequent Contributor
timestamp: December 08, 2015, 04:28:25 pm
content: Hi PM Smith,Thanks for the contribution!I haven't had a chance to try your script because I don't have Excel, but I see there have been some downloads so other members or guests may already be using it.Hopefully someone will provide some feedback! I'd like to encourage members, or guests that may want to register, to provide feedback after trying scripts/software provided in this forum. It can be very helpful for the writers and provide insight for further improvement!