Results of increasing frequency generated unexpected behavior of the signal

I'm generating a composite using a sawtooth wave, square, signal that produces the desired signal as shown on the left. Unfortunately, when the increase of the frequency beyond 1 Hz, I get undesirable results as shown on the right.

        

I tried to edit the news of sampling with no luck. I have also tried different methods to produce the desired signal. I noticed that before one of partial components of the final signal enters a relay, the increase of the frequency doesn't create unexpected results. Although, after its passage through a relay, the error starts happening. It seems that the relay is not suitable for higher frequencies, but I can't fix this unexpected behavior.

Frequency of 1 Hz:

Frequency of 3 Hz:

Another method that I tried was to use the "simulate arbitrary signals," even if I was unable to find a way to increase the frequency of the signal that results.

In addition, the signal has this grainy nature that I would like to make it smooth and continuous. Is this possible? I would like finally to reach a frequency of a few kiloHertz.

I have attached the VI.

Any help would be greatly appreciated. Thank you.

The problem has to do with the size of the block and when the relay actually sees the saw tooth cross the threshold.

Solve it, to perform a point-by-point check and build our waveform personalized to each iteration.

Tags: NI Software

Similar Questions

  • Unexpected behavior with the Option "record in the result.

    Hello

    I have unexpected behavior with the Option "record in the result.

    I have a few steps in the subsequence 'X', this subsequence passes a Boolean parameter. According to the value of the parameter I change the "Recorgind results" Option to report it or not. The thing is that if 'result Recorgind' set at race time I modofy by changing the value of Step.ResultRecordingOption to "Enable" and "Disable", the step is not reported until the same sous-suite 'X' is called for the second time (without changing the parameter passed).

    For example: (Preconditon: result Recorgind Option of all value sous-suite x are defined as Disable)

    1 CallSubsequenceX(Parameter: Enable)

    2 CallSubsequenceX(Parameter: Enable)

    3 CallSubsequenceX(Parameter: Disable)

    4 CallSubsequenceX(Parameter: Disable)

    Expected result:

    1. measures have been reported.

    2. measures have been reported.

    3. measures have not been reported.

    4. measures have not been reported.

    Result:

    1. measures would not same value Step.ResultRecordingOption has been changed to 'enable '. (Not Ok)

    2. measures have been reported. (Ok)

    3. measures reported same value Step.ResultRecordingOption has been changed to 'disable '. (Not Ok)

    4. measures have not been reported. (Ok)

    I use TestStand 2013 (5.1.0.226)

    Thanks in advance.

    -Josymar.

    Hi josymar_guzman,

    I just review the sequence and indeed we´re experience unexpected behavior with the Step.ResultRecordingOption callback. By a reason when you run the callback in the expression before each step section, the statement runs only until the next sequence is called, which is not what we want.

    To avoid this, you can place a statement before each step of the sequence, so you can change the State of the Option "record result" for the sequence running (and it is only the following). You can try something like this

    where the expression of the statement will be the recall "RunState.NextStep.ResultRecordingOption is YourCondition". With this, we guarantee that the results of the next step will be saved or not. I also remove the expression in the expression prior to each step section, because the condition is now on the statement before each step.

    I tried and it works fine. I´ll set the sequence that you share with me, with the changes. I hope this will help you and solve your problem.

  • unexpected behavior when the button is clicked - & quot; playhead & quot; jumps to wrong frame

    I'm working on a flash site and I'm running on an actionscript issue that has me a little deadlock.

    The timeline main .fla is long of 42 images. Images 1-23 are the preloader, each frame between the 24-31 images contains one of the sections of the site, and frames 36-42 contain paragraphs of one of the main sections. 32-35 are empty frames just to help me keep things visually separated while I work on this project.

    I have a subnavigation for this paragraph of installation in frames 36-42. For each of the buttons in this sub navigation, I have attached a very simple actionscript that links to other pages of the paragraph. I used actionscript as I've mentioned below, where 'web' is in this case, the name of the image I'm aiming:
    on (release) {}
    gotoAndPlay ("web");
    }

    When I click on a link to take me to the last image, that is be named "specevents" (special events), it takes me to which frame correctly. If I click on the "specevents" button once again within this framework, I picked the preloader screen. This type of jump also happens in some of the other secondary navigation buttons, that is, by clicking on a link for a framework which I am already in will take me to a quite unexpected setting (always the same framework for each button, however).

    In fact, looking a bit more closely, I find whenever I click on one of the sub - nav links, I have to move an image. As part of the "specevents" is the last image, it brings back me to the first frame of the movie.

    It's all a bit strange for me, because apparently, I used the same method on the main navigation buttons, and they do not have something unexpected when you click it.

    FYI - the page in question here, can be found at: http://gravitygroup.com/testflashy/ the 'our work' section sub navigation, that's what I'm looking at.

    Any ideas? Thank you!

    AHA! figured it out. The problem is that I got my sub - nav buttons grouped together so I could move around as a unit. I have them removed, and everything works now!

    Thank you for taking the time to help!

  • How to generate a pulse with the signal generator?

    Hello

    I would like to ask if anyone knows how to use the Elvis platform to generate a regulated pulse wave?

    It should look roughly like the picture above. A sine wave with the regulation.

    Anyone who can answer my question please respond to my post.

    Thank you.

    You are using LabVIEW to generate the waveform or using the Soft front panels? In LabVIEW, you can use the express VI generator function and specify the Type as "Sine". Then, simply change the amplitude of the sine wave. During the actual pulse, the amplitude would be what you want (i.e. 1 V) and while the pulse is idle, set the amplitude to 0.

    If you use the soft front panels, you can use the Waveform Editor to create a waveform that includes a sine wave for the length of your pulse and then the values of '0' for the rest of the time. Then use this waveform in the flexible front of the arbitrary signal generator. Simply create a component of sine as the first part of the wave and then add another element to a level DC '0' for the rest.

  • Unexpected behavior in the curve route 2 generated by script

    All,

    As part of a larger 'application', we generate a number of curves of time vs measurand of our test data.  We are now trying to add several additional graphs of this type, but this time, including signals (curves) on each of the additional graphics, and charts must be created exclusively by a script.  The results are shown in the attached file ("desired output_script generated 2-curve plot.jpg").  However, after you run the script attached ("of report generation Script_2 Curves.PDF"), it seems that there is no displayed curves on the graph resulting, as indicated in the attached file ("real output_script generated 2-curve intrigue, jpg").

    Most of the code to create the chart was captured using the method of 'ctrl-A' on the "Curve and definition of the axis" dialog box after you manually configure the desired graphic.  After the transfer of the captured code to the script, additional lines were added to create the various objects (axes, curves, etc.) and the new objects (since the final graph will be generated 'from') scratch.  I used this method before with great success.

    This problem seems similar to what I had already met (and published information on) trying to add a constant (horizontal line) of a measurand existing against time graph.  Because of this similarity and the resolution of the previous question, I added the PicDefByIdent = 1 directive in scripts, but the results of same behavior if this directive (and the definition of the associated "name-based" curve) is included.  In addition, PicUpdate is called at the end of the script.

    We use DIAdem 11.3 (with TDM Service Pack 1).

    Any assistance anyone can provide this number will be greatly appreciated.

    Kind regards

    Bill Evans

    720-988-3436.

    Bill,

    I'm looking into your question and he's looking for a little, but I have a few things to try now.

    First of all, once you run the script, could you try to refresh the screen to report? PicUpdate should take care of this, but it does not hurt to be excluded as a possibility.

    Secondly, I found this example on our site on the creation of a new chart and plotting to it: https://decibel.ni.com/content/docs/DOC-3994

    And one thing I notice from this example, it's that they give the channels with D2CChnXName and D2CChnYName rather than D2ChnX and D2ChnY, so here's an example of what their definitions of strings like:

    D2CChnXName = EXAMPLE/Time"."
    D2CChnYName = ' EXAMPLE/speed '.

    I suggest to change this in your own code and see if it makes a difference. It is possible that setting the variables 'name' instead of just the X and the Y will solve the problem.

    If these steps do not resolve the problem, do not hesitate to post back and I'll be happy to work on the issue more in depth and help that understand you why this does not work.

  • Unexpected behavior of the chain of worksheet to the array function

    Hello

    I found a few quirks in LabVIEW 2011 I don't understand. In the vi attached, I provide a one-dimensional spreadsheet string separated by spaces. I use the string of worksheet to the array function to convert this spreadsheet string into an array of strings.

    I came across problems when I wanted to specify a space as the delimiter character.

    The conversion works as expected, if I do not specify a delimiter (i.e., the default tab delimiter is used). But if I specify the delimiter, only the first element of the string of spreadsheet is converted. I don't understand this behavior.

    Thanks for your help.

    Peter

    What a shame... Thanks for your time and this thin.

    Peter

  • Unexpected behavior with the role of OmeSiteAdministrators

    I is currently working on the test of the functionality of the OmeSiteAdministrator role, so we can use it in our Organization.  We run OME 2.0.0.1926.

    I went into preferences - permissions of device group and add a new test user (using members of the edict of OmeSiteAdministrators common task.)  I've provided the correct user and domain name.  Then I went to the section manage permissions of the device group and selected a group that this user must be able to deploy updates and tasks remotely.

    By connecting to the Console as long as this test user I could see all THE devices to Manage - devices.  When I went to Manage - system update I have also able to note all the devices listed in the incompatibilitee section and select any device to bring up the window of the tasks of system update for.

    I looked at the roles of the test user (by clicking the user name in the upper right corner) and saw that he was an OmeSiteAdministrator and OmeUser.  It looks like a clean install of OME adds the BUILTIN\Users group to OmeUsers group.  I deleted the OmeUsers group builtin\Users and then the test user could see that members of a group specified in Manage - system update.

    But when launched test user then the console OME, they could still see all devices to Manage - updating the system, even if the top of the window shows "System Update: filter by: ..  The actually specified group that contains a single device, but the test can view all devices.

    I have logged in as an OmeAdministrator, came back on the device group permissions and see an additional user.
    In modify the members of OmeSiteAdministrators, I see the test user appears twice, both times with the user name and the appropriate domain.  But there under manage group permissions on the device, the user/DOMAIN user that I added, but now also a STRANGER/user (domain is actually 'UNKNOWN' and user is the user name of test).

    It seems that the filter does not always work (it worked only once for the test user.  Each time other than the test user opens the console he showed all devices.)  Also, Im not sure why there is the addition of the UNKNOWN/username user.

    Also, please review read the white paper on delltechcenter.com/ome and see if it offers any help.

    OpenManage Essentials Role-Based Security and implementation

    Thank you

    Rob

  • IOM unexpected behavior for the commissioning and of reconciliation

    Hi all

    We really need your experienced guidance to understand what is happening with the IOM.

    We have activated the account reuse in IOM 9.1.0.1. We use peopleSoft employee reconciliation with flat file as a source of confidence. If the same user exists in the file, IOM created 2 active accounts. When we have activated recon sequence, this problem has been resolved that the second instance will update the first. Does anyone know why IOM creates 2 accounts?


    After that, we had another question, if reconciliation has failed for a user will never be treated IMO any event of reconciliation future for that user until we have manually reapply the rules. No explanation?

    After that we apply the rule and the account is created, AD and Exchange provisioning fail!

    If we try again manually create user, AD is created while Exchange remains in a pending state.

    How should we deal with these problematic accounts? They are causing many arguments with the customer.

    Help, please

    Thanks in advance

    There is a api to close the event. I used the following code to get all the events in the State 'Event received' for a certain date and automatically closes the event:

    public void closeReconEvents() {}
    try {}
    Map map = new HashMap();
    Map.put ("Reconciliation Manager.Status", 'Event received');
    set tcResultSet = reconIntf.findReconciliationEvent (map, "2009-01-01", "" 2010-08-29);
    System.out.println (Set.getTotalRowCount ());
    for (int i = 0; i)<>
    set.goToRow (i);
    System.out.println (i);
    reconIntf.closeReconciliationEvent (set.getLongValue ('reconciliation Manager.Key'));
    }
                   
    } catch (Exception e) {}
    e.printStackTrace ();
    }
    }

    -Kevin

  • Synchronize the ctr1 at ctr0 (generate outputs freq) via the signal of export

    I need help to configure the output channels of meter on my card pxi-6723. Here's what I'm trying to do:

    -have the possibility to synchronize the ctr1 exit toward ctr0. Note: ctr1 must begin on edge increase or decrease output ctr0.

    -be able to change idle, freq. etc for each of these outputs

    A sample that I worked on is attached. It works except the ctr1 output is trolling by cycles of 1 to 1.5 (according to a State of rest, edge selections). This delay is due to me having to put the slave (ctr1) task run after the masters. Note: The reason for this was the task of enforcement of crt0 (master) was the origin of the false triggers when exporting the trigger signal.

    Its there a way of software trigger ctr0 OR delay its release until both (ctr0 & ctr1) 'perform tasks"have been launched?

    Hi groz,.

    I have not tried, but I expect the following sequence to prevent false triggers:

    DAQmx control Task (ctr0 task, Commit)

    DAQmx Start (task ctr1)

    DAQmx Start (ctr0 task)

    Principal ctr0 has it on its state of rest.

    Also, I think you can do this trip without using a PXI_Trig line. To Start.DigEdge.Src the ctr1 task, specify "Ctr0InternalOutput". (To make the Terminal Ctr0InternalOutput appear in a Terminal of DAQmx e/s constant, right click on the constant, select "I/o name of filtering...) ("and put a check mark next to"Include the advanced terminals").

    Brad

  • Oracle text index - unexpected behavior

    We have a SEARCH_TABLE (in Oracle 12.1.0.1.0) with a couple of files (actually about 10,000,000 records):

    ID ADDRESS

    1     | WIMPEL | 57. 9733BK | GRONINGEN |

    2     | JOHAN WILSSTRAAT | 7 ||| 1333PV | ALMERE |

    3     | ABRAHAM KUYPERHOF | 10. 8091XN | WEZEP |


    To support research on the table addresses, we apply an Oracle text index:

    create index ST_CTX1 on SEARCH_TABLE (address)

    indexType is ctxsys.context

    parameters ("DATASTORE CTXSYS. DEFAULT_DATASTORE');


    Our research focuses on whole words (without jokers). When searching through the data, it usually comes back with the correct results.


    SELECT THE ID

    OF SEARCH_TABLE

    WHERE CONTAINS (ADDRESS, 'GRÖNING') > 0

    ;

    Returns nothing, that is correct. Once the search argument 'GRÖNING' is replaced by 'GRONINGEN', ID 1 is correctly selected. According to this behavior, the following query returns no records:

    SELECT THE ID

    OF SEARCH_TABLE

    WHERE CONTAINS (ADDRESS, 'ABR & KUYPERHOF') > 0

    ;


    Surprisingly, however, the following query returns record ID 3:

    SELECT THE ID

    OF SEARCH_TABLE

    WHERE CONTAINS (ADDRESS, ' A & KUYPERHOF ') > 0

    ;

    (Even if data does not contain the complete word 'A'). This unexpected behavior only seems to occur when you use "A" as the initial character.

    The following query (with the search starting with the character 'J' argument) returns no data. Which is the expected behavior.

    SELECT the ID

    OF SEARCH_TABLE

    WHERE CONTAINS (ADDRESS, 'J & WILSSTRAAT') > 0

    ;

    Anyone has an idea why the text index returns with A situations? Any ideas on how to solve this problem are appreciated.

    Mark

    According to the list of empty words by default in 11.2, the letters a, d, i, s, and t are listed, so would be removed from the wanted list of tokens.  Thus, 'A & WILSSTRAAT' becomes '& WILSTRAAT' and search text line with a single word.  'j' is not an empty word, so it is considered to be a token is valid and is not in your tables.  Look in CTXSYS. CTX_STOPWORDS to see what you have.

  • Unexpected behavior of class constructor

    Hello world

    I came across an unexpected behavior with definitions of AS3 classes this morning. To tell him quickly, I can't create an instance of a class inside the same methods of the class. Too bad.

    Here is an example:

    package {}

    import flash.display.MovieClip;

    import flash.events.Event;

    SerializableAttribute public class Test extends MovieClip {}

    private var _double:Boolean;

    _T:test private var;

    public void Test(double:Boolean_=_true):void { }

    This ._double = double;

    trace ("new test (" + the ._double + ")" ");

    this.addEventListener (Event.ADDED_TO_STAGE, this ._onAddedToStage);

              }

    private void _onAddedToStage(pEvt:Event) { }

        

    this.removeEventListener (Event.ADDED_TO_STAGE, this ._onAddedToStage);

    trace ("creating a double?");

    If (this ._double) { }

                        trace ("yes");

    this ._t = new Test (false);

    } else {}

                        trace("no");

                   }

              }

         }

    }

    What I'm trying to do seems a bit strange: when an instance is created, it generates a new one in him passing a parameter to stop treated duplication, so I shouldn't have infinite loop like that. Moinde I had a beautiful #2136 error when running (data not valid in the file SWF?):

    New Test (true)

    creating a double?

    Yes

    : Error #2136: blah blah blah

    Can someone explain to me what is happening here? I would like to understand the sub-process that prevents from doing.

    Thanks for the reply,

    Fran_cois

    Hello

    I changed your code in Test.as:

    package
    {
    import flash.display.MovieClip;
    import flash.events.Event;
    SerializableAttribute public class Test extends MovieClip
    {
    private var _double:Boolean;
    private var _t:Test;

    public void Test(double:Boolean_=_true):void
    {
    This ._double = double;
    trace ("new test (" + the ._double + ")" ");
    this.addEventListener (Event.ADDED_TO_STAGE, this ._onAddedToStage);

    }
    private void _onAddedToStage(pEvt:Event)
    {
    this.removeEventListener (Event.ADDED_TO_STAGE, this ._onAddedToStage);

    trace ("create a double?");

    If (this ._double)
    {
    trace ("Yes");
    This ._t = new Test (false);
    addChild (this._t);                      It's the new line!

    }
    on the other
    {
    trace ("no");
    }
    }
    }
    }

    and then used this class not as a document, as a class in the fla file:

    var ttt:Test = new Test();
    addChild (ttt);

    So, it does not work as expected...

  • Clock counters frequency generator

    I recently bought a PCI-6221 card with 2 32-bit counters.  I want to read and save two encoders (where the 6221) and analog several entries at the same time...  My research has revealed that it is not possible without an external clock (which can be created using one of the counters) leaving only a single counter for my encoders.  I noticed that the 6221 has a frequency generator.  This generator can be used as a source of clock for counters and HAVE it?

    The f

    Really? Can I use the sample clock TO the CI as well?  I read the opposite on this forum.  That's great.

    Thank you

    The f

  • Digital output frequency seems to be twice the frequency generated by the basic function generator

    Hi Labview forum,

    I wrote a program (attached) Labview to generate 3 PWM, square wave, signals that has the same frequency and phase delay right (so that when a signal is off, the other signal is lit. Then the next signal). Everything seems to work fine except that the frequency of the PWM signals generated seems twice as the frequency given to the basic function generator. Anyone have any idea why this is happening? Anyhelp would be greatly appreciated.

    Thank you!

    Totally agree with the advice of all GerdW than the hardware timing of your hardware DAQ will be much more reliable.  That said, part of what you are probably hitting is a little quirk of the primitive delay msec.   Requests for 1 msec have long been particularly little reliable (although they * seem * to have improved in recent years, probably due to the better OS support in Win 7 or something).

    I did minimal mods to your code with comments from you switch to a timed loop.  My quick test showed he is good enough to hit the 1 length of loop of target msec.

    -Kevin P

  • DBMS_STATS, unexpected behavior?

    Hello

    I was doing an exercise to create migrated/chained rows for a table (ROW_CHAIN_MIG). [using 11.2.0.1]

    After inserting/updating of the lines in the table, I tried collecting statistics for the table to check the USER_TABLES. CHAIN_CNT

    using the DBMS_STATS. GATHER_TABLE_STATS as:

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

    SQL > exec dbms_stats.gather_table_stats (-)

    > ownname = > 'SYS '.

    (> tabname = > 'ROW_CHAIN_MIG');

    SQL > select chain_cnt from user_tables where table_name = 'ROW_CHAIN_MIG ';

    CHAIN_CNT

    ----------

    0

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

    But he returns to zero count for the chained rows.

    When I did an ANALYZE TABLE... CALCULATE STATISTICS, he returned 3 as number of chained rows

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

    SQL > analyze table row_chain_mig where compute statistics;

    SQL > select chain_cnt from user_tables where table_name = 'ROW_CHAIN_MIG ';

    CHAIN_CNT

    ----------

    3

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

    Is this expected behavior of the DBMS_STATS. GATHER_TABLE_STATS? (i.e. it does not collect statistics CHAIN_CNT)

    My understanding is DBMS_STATS to collect all the statistics gathered by ANALYZE & vbLf & stats no longer needed by the CBO.

    OR was it there something missing from the DBMS_STATS this stat (CHAIN_CNT) has been missed.

    TIA.

    The analyze command should not be used to collect optimizer statistics, but, as you noted, it will capture the chain_cnt (which does not differentiate between migrated lines, lines chained and lines chained 'intra-block' (i.e. the lines containing more than 255 columns) while dbms_stats.does do not attempt to capture a chain_cnt.) It is the expected behavior.

    Unfortunately (or not, depending on your point of view) the optimizer will use the chain_cnt in his calculations, if you use analyze to set.  Of course, there are other differences between the dbms_stats and analyze versions of stats - so plans can change between the two even if you have not all chained rows.

    See: analyse dbms_stats chain_cnt | Search results | Oracle scratchpad for a few comments - you need to follow a few links in the result list.

    Concerning

    Jonathan Lewis

  • Unexpected behavior of a script

    Hi all

    I am currently having a problem with my modified version of the ManagePower script, which normally takes the name of the virtual machine as a parameter, then performs the operation of power according to a parameter. To meet my needs, I identify virtual machines by a unique ID that I put in the annotation of each virtual computer field. The problem with my ManagePower script, is that if it works when it should, that is, the virtual machine is stopped, and I want to turn it on (= > work!), BUT there is no shortage when it should, i.e. the virtual machine is stopped and I want to turn it off (= > doesn't work do not, no error message caught).

    I can see in my vSphere Client operation failed (error InvalidState), then why my script always returns True, [of] (see text)?

    Thank you very much o.

    This is because as you wrapped the Manager to "die"--

    $SIG {__DIE__} = sub {Util::disconnect() ;};}

    The method check_fault() of the Util package using Carp::confess, which is another version of the signal die.  You are essentially masking the signal died.

    The VI Perl SDK will logout on logout by default, so you should not need the signal for die handler call disconnect.  Comment out your signal handler and it will work as expected.  There are functions in the VICommon.pm module to control the Logoff on disconnect behavior if you want to change the disconnection disconnect behavior.

Maybe you are looking for