Averaging using the 'basic DC/RMS' VI

I seem to end up using the 'basic DC/RMS' VI quite a bit to average my data from my DAQ system. However I have a question regarding what is happening 'under the hood'.
Let's say for simplicity I acquire data at 1kHz in blocks of 1000 samples.
So, every 1 second I shove 1000 samples into the basic DC/RMS VI, as a waveform data type.
This means that the 'DC' and 'RMS' outputs will update at a rate of 1 second.
The question is, is the averaging 'continuous'? In the sense that if I were doing 'proper' low pass filtering (averaging is just the same as low pass filtering) - say simple FIR with n taps - in DSP then the filter output would have to update at the same rate as the data input; ie. the taps would 'move along' the input data at the same rate as the input data goes into the filter. I'm guessing based on my explanation above that this is not what is happening. Instead, the DC/RMS VI is averaging an entire block of 1000 samples, and then 'jumping' 1000 samples along and doing the next block.
This isn't necessarily a problem, but it is not true low pass filtering and I can image some scenarios where there could be artefacts because the averaging filter is jumping 1000 samples each time it takes an average. I suppose the only alternative is to implement the filtering in a much higher speed loop and this could be problematic at higher sampling rates.
Anyone got any thoughts on this? Am I worrying about nothing?
Dave
Solved!
Go to Solution.

Hi Dave,
 The "Basic Averaged DC-RMS" function is designed to work only with continuous acquisitions, it will throw a warning is the signal is not continuous. When you open the function and look at the code underneath the function there is a subVI with state information which allows the function to continue the average from the previous block of data. 
For this reason we supply a reset terminal if you need "forget" the previous calculations.
A lot of this is discussed in the detailed help on the function, but as always sometimes you have to get your hands dirty to find out how the code actually works and look at the code.
Regards
JamesC
NIUK and Ireland

Similar Messages

  • Forms based authentication + Basic authentication = no way to use the basic auth!!!!

    Hi,
    I setup a test sharepoint site, claims mode, with both the forms and basic authentication  enabled.
    I expect to see the page asking me which authentication method I want to use, but I never see this page!!!
    I have to select the windows authentication (NTLM or Kerberos) to see this page!
    why using only the Basic authentication did not prompt the user?
    and how to be authenticated using the basic authentication rather than the forms auth when both are enable for the same site?
    >I do NOT want to extend my site to have 2 zones... my question is ONLY with 1 zone configured.

    What is the business purpose for using Basic Auth over NTLM/Kerberos?
    Trevor Seward
    Follow or contact me at...
    &nbsp&nbsp
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • Why can't I use the Basic brush tool?

    I'm learning the ropes of drawing in Illustrator and I've fallen at the first hurdle. Why can't I use the Basic brush tool? Whenever I select the brush tool and use the 'Basic' brush type, the cursor turns into a hashed circle indicating I can't draw. If I load other brushes, I can draw with other brush types, but I can't use the Basic one. If I select the Basic brush when I have other brushes loaded and try to draw with it, it always defaults to a different brush! I don't understand why.
    On a related matter, I'm also having trouble changing brush size. I know that using the [ and ] keys changes brush size, but I have no idea what the values are. If I try this in Photoshop, I can see the brush size in the Options bar, but in Illustrator it doesn't appear anywhere! Not in the Brushes palette, the Stroke palette or the Appearance palette. Where can I see the brush size?

    Glitcher,
    The following is a general list of things you may try when the issue is not in a specific file (you may have tried/done some of them already); 1) and 2) are the easy ones for temporary strangenesses, and 3) and 4) are specifically aimed at possibly corrupt preferences); 5) is a list in itself, and 6) is the last resort.
    1) Close down Illy and open again;
    2) Restart the computer (you may do that up to 3 times);
    3) Close down Illy and press Ctrl+Alt+Shift/Cmd+Option+Shift during startup (easy but irreversible);
    4) Move the folder (follow the link with that name) with Illy closed (more tedious but also more thorough and reversible);
    5) Look through and try out the relevant among the Other options (follow the link with that name, Item 7) is a list of usual suspects among other applications that may disturb and confuse Illy, Item 15) applies to CC, CS6, and maybe CS5);
    Even more seriously, you may:
    6) Uninstall, run the Cleaner Tool (if you have CS3/CS4/CS5/CS6/CC), and reinstall.
    http://www.adobe.com/support/contact/cscleanertool.html

  • When I sign in to Gmail in FF I get this mess -Error undefined If this problem persists, try reloading the page, or using the basic HTML version. Learn More.

    When I sign in to Gmail in FireFox I get this mess -Error undefined If this problem persists, try reloading the page, or using the basic HTML version. Learn More.

    Reload web page(s) and bypass the cache to refresh possibly outdated or corrupted files.
    *Press and hold Shift and left-click the Reload button.
    *Press "Ctrl + F5" or press "Ctrl + Shift + R" (Windows,Linux)
    *Press "Command + Shift + R" (MAC)
    Clear the cache and the cookies from sites that cause problems.
    "Clear the Cache":
    *Tools > Options > Advanced > Network > Cached Web Content: "Clear Now"
    "Remove Cookies" from sites causing problems:
    *Tools > Options > Privacy > Cookies: "Show Cookies"
    Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance).
    *Do not click the Reset button on the Safe mode start window or otherwise make changes.
    *https://support.mozilla.org/kb/Safe+Mode
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes

  • I am having problem with using the Basic brush definition

    I am having problem with using the Basic brush definition. When I try to click on it will not allow me to use it and will automatically use the 5 pt. oval brush definition. The only way I can use the basic brush is after I have already drawn something and then I have to click on the stroke and then press basic. This is incredibly annoying and if anyone could help I would greatly appreciate it. (I have Adobe CS6)

    for whatever reason, the basic 'brush' you see in the brushes palette effectively means removing any brush from a path. to draw with the brush tool you need a brush defined. in your case the last one selected being the 5 pt oval one.

  • Every time I try to upload a video to youtube (or pictures to blog services like tumblr) using Firefox, I cannot upload them unless I use the "basic uploader" function. Why and what can be done?

    Every time I try to upload a video to youtube or a pictures to a blog service, such as tumblr, I am unable to do so with the default uploading options (usually something that allows multiple uploads, etc). Instead, I can upload these media using their "basic upload" functions. Why and what can be done?
    == URL of affected sites ==
    http://www.youtube.com; http://www.tumblr.com

    Please read this whole message before doing anything.
    This procedure is a diagnostic test. It’s unlikely to solve your problem. Don’t be disappointed when you find that nothing has changed after you complete it.
    The purpose of the test is to determine whether the problem is caused by third-party software that loads automatically at startup or login, by a peripheral device, by a font conflict, or by corruption of the file system or of certain system caches.
    Disconnect all wired peripherals except those needed for the test, and remove all aftermarket expansion cards, if applicable. Start up in safe mode and log in to the account with the problem. You must hold down the shift key twice: once when you turn on the computer, and again when you log in.
    Note: If FileVault is enabled, or if a firmware password is set, or if the startup volume is a Fusion Drive or a software RAID, you can’t do this. Ask for further instructions.
    Safe mode is much slower to start up and run than normal, with limited graphics performance, and some things won’t work at all, including sound output and Wi-Fi on certain models. The next normal startup may also be somewhat slow.
    The login screen appears even if you usually login automatically. You must know your login password in order to log in. If you’ve forgotten the password, you will need to reset it before you begin.
    Test while in safe mode. Same problem?
    After testing, restart as usual (not in safe mode) and verify that you still have the problem. Post the results of the test.

  • HT1414 My iPhone 4 has recently started shutting off overnight. I have to power it back up each morning to use it again thus preventing me from being able to use the basic alarm clock feature.

    How do I correct this recent issue where my iPhone 4 powers down overnight? It started shutting down as if I turned off the phone. It began around three or four weeks ago in December 2013. Is anyone else experiencing the same issue? I bought my iPhone 4 in January 2010 and use Verizon cellular service.

    At first I suspected a bad connection with a Sharper Image charging dock. But I find that it shuts off overnight even when I don't charge it. I can have it charged up at night, not go to use it until the next morning and have to hit the Home key either with a quick double-click or long hold down on Home key until the Aplle logo appears, in order to be able to use the phone again. I have not resorted to wiping the iPhone to full restore yet.

  • I get a "no" symbol when I try to use the basic brush.

    If I switch to an artistic brush it will work, but every time I try to switch back to the basic brush it just switches itself back. VERY FRUSTRATED...
    Thanx.
    Debi

    The "Basic" brush is not a brush but a place holder to be replaced by a real Brush. Have you tried one from the Brush Swatches in your file?

  • I can not find how to use the basic Mac air keyboard. where do i find it or do a tutorial board

    I am new to the Mac worls and hardly used a PC . I used a Blackberry. How can i find how to use the macair key board. I can not get the plus sign or the brackets on my leyboard to work. The option key is called the atl key.. There is no easy guide for how to use all the Buttons on the Key board. where do i find them

    Hello Sanjit_Das:
    sorry for my english again !.
    My purpose is almost the same as this:
    https://forums.adobe.com/message/6137964#6137964#6137964
    But I do not know which  path must specify when the video is uploaded to assets:
    Sorry to ask something so absurd.
    I tried putting all
    <source src = "assets / Myvideo.mp4" />
    not working
    <source src = "C: \ Users \ Angel \ Downloads \ NEW \ pruebamusevideo \ assets/Myvideo.mp4">
    not work.
    etc
    Presenting want to work from any computer, DVD, memory stick ...
    I'm going crazy.
    I know it's something about the route.
    From muse Vimeo links to work, but when I export them to HTML not working. I guess it's a problem related to the same.
    Thank you very much again.

  • Google email keeps telling me my browser is not capable of allowing all the features to work - will only allow me to use the basic html version. Yet I am using 9.01.

    Google are also suggesting that I 'upgrade' to Google Chrome.

    You have a user agent that is corrupted and that identifies you as Firefox/3.0.1
    *Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 (.NET CLR 3.5.30729)
    See:
    *https://support.mozilla.org/kb/Finding+your+Firefox+version
    *https://support.mozilla.org/kb/Websites+or+add-ons+incorrectly+report+incompatible+browser
    *http://kb.mozillazine.org/Resetting_your_useragent_string_to_its_compiled-in_default

  • How can I use Easy Custom Device Tool to do the same thing LabVIEW the Basic Averaged DC-RMS VI does

    I am using a cRio 9024 and am reading PWM with a 9205 analog input card.  It was suggested that I use the Basic Averaged DC-RMS VI to convert the PWM signal voltage into an analog signal (RMS value) for use in my system.  The issue is that the 9024 cannot use LabVIEW models (it is VxWorks). I am working through the Easy Custom Device Tool, and wonder if someone can guide me in the right direction.
    Solved!
    Go to Solution.

    Hello,
    Can you give more details about your VeriStand configuration ? Are you using the Scan Interface (and thus the Scan Engine Custom Device) or are you using the FPGA of your cRIO chassis to access the I/O ?
    If you are programming the FPGA and using a FPGA Personalty in VeriStand you can probably add the calculations such as RMS to the FPGA code directly.
    If you are using the Scan Engine, you will need a custom device. The Easy Custom  Device Tool is just a tool, you will need to know more about what a custom device is and how to develop one:
    - http://www.ni.com/white-paper/12712/en/
    Regards
    Eric M. - Application Engineering Specialist
    Certified LabVIEW Architect
    Certified LabWindows™/CVI Developer

  • This is why i won't use the new illustrator 2014(.1) release

    I love drawing geometric shapes, logo's and icons for all short's of media. Unfortunately adobe decided to announce with its Illustrator 2014 release
    that anchor handle's no longer snap to the grid. Whats even more frustrating is the fact they announced as a 'great new feature'.
    Instead of adding a feature whereby you can toggle between anchor handle snapping or free anchor handle's it is banned from illustrator
    without a warning. I can see why some people are happy with the free anchor handle behavior but it completely jolted my workflow.
    And off course, you could use the basic geometric shapes and pathfinder to get the same results, but it takes about twice as much time.
    Not to mention the complex stuff, which i didn't even try in illustrator 2014 / 2014.1.
    It almost looks like a bug to me they apparently can't fix. I find it suspicious that there adding a new curvature pen tool. But they are unable / unwilling to
    address this issue. It also fuel's my suspicious that there are unable to fix and instead, giving some tools that to the average illustrator user
    are not particularly adding any value.

    I think the poster has a good point. Sun is sadly one of the only 'named' players in the download a functional product arena. It really does not look good to those checking out new systems (particularly those putting out serverware) to have these problems. So all of the Linux people including Red Hat don't do this as well?
    What problems? It sounded like he tried a web site, got a bad result, tried the "Chat" Feature, was told to contact tech support and then instead the poster started to bash Sun wherever possible.
    Do Sun's or anyone else's stuff work 100% of the time? Would be nice but doesn't happen in the real world.
    The original poster didn't say whether they did in fact try to contact tech support or simply try again at a later time or from another network. Things that we would expect someone to do. Even if it failed again there is the still the other option to just order the media.
    I have been downloading software and purchasing 1,000s of dollars in hardware from sun without issue, but coming from linux my idea of issue is a bit different than a windows centric world.What does Windows have to do with anything here?
    Also, by having this in the forums, others with the issue will be able to see both sides of the issue rather than just interoffice grumblings.I'm not part of any interoffice grumbling. This is an international forum where anyone, even people who want to bash Sun can post if they desire..
    alan

  • ALV report using the field catalog

    which is the quickest way to generate an ALV report using the field catalog merge.  without needing to build the field catalog manually .
    is it easier to create a structure and passe it in the field catalog merge .  if yes can i have an example plzzzz

    hI
    Supports the creation of the field catalog for the ALV function modules
    based either on a structure or table defined in the ABAP Data
    Dictionary, or a program-internal table.
    The program-internal table must either be in a TOP Include or its
    Include must be specified explicitly in the interface.
    The variant based on a program-internal table should only be used for
    rapid prototyping since the following restrictions apply:
    o Performance is affected since the code of the table definition must
    always be read and interpreted at runtime.
    o Dictionary references are only considered if the keywords LIKE or
    INCLUDE STRUCTURE (not TYPE) are used.
    If the field catalog contains more than 90 fields, the first 90 fields
    are output in the list by default whereas the remaining fields are only
    available in the field selection.
    If the field catalog is passed with values, they are merged with the
    'automatically' found information.
    Below is an example ABAP program which will populate a simple internal table(it_ekpo) with data and
    display it using the basic ALV grid functionality(including column total). The example details the main
    sections of coding required to implement the ALV grid functionality:
                             Data declaration
                             Data retrieval
                             Build fieldcatalog
                             Build layout setup
    *& Report  ZDEMO_ALVGRID                                               *
    *& Example of a simple ALV Grid Report                                 *
    *& The basic requirement for this demo is to display a number of       *
    *& fields from the EKKO table.                                         *
    REPORT  zdemo_alvgrid                 .
    TABLES:     ekko.
    type-pools: slis.                                 "ALV Declarations
    *Data Declaration
    TYPES: BEGIN OF t_ekko,
      ebeln TYPE ekpo-ebeln,
      ebelp TYPE ekpo-ebelp,
      statu TYPE ekpo-statu,
      aedat TYPE ekpo-aedat,
      matnr TYPE ekpo-matnr,
      menge TYPE ekpo-menge,
      meins TYPE ekpo-meins,
      netpr TYPE ekpo-netpr,
      peinh TYPE ekpo-peinh,
    END OF t_ekko.
    DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
          wa_ekko TYPE t_ekko.
    *ALV data declarations
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
          gd_tab_group type slis_t_sp_group_alv,
          gd_layout    type slis_layout_alv,
          gd_repid     like sy-repid.
    *Start-of-selection.
    START-OF-SELECTION.
    perform data_retrieval.
    perform build_fieldcatalog.
    perform build_layout.
    perform display_alv_report.
    *&      Form  BUILD_FIELDCATALOG
    *       Build Fieldcatalog for ALV Report
    form build_fieldcatalog.
    * There are a number of ways to create a fieldcat.
    * For the purpose of this example i will build the fieldcatalog manualy
    * by populating the internal table fields individually and then
    * appending the rows. This method can be the most time consuming but can
    * also allow you  more control of the final product.
    * Beware though, you need to ensure that all fields required are
    * populated. When using some of functionality available via ALV, such as
    * total. You may need to provide more information than if you were
    * simply displaying the result
    *               I.e. Field type may be required in-order for
    *                    the 'TOTAL' function to work.
      fieldcatalog-fieldname   = 'EBELN'.
      fieldcatalog-seltext_m   = 'Purchase Order'.
      fieldcatalog-col_pos     = 0.
      fieldcatalog-outputlen   = 10.
      fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
    *  fieldcatalog-do_sum      = 'X'.
    *  fieldcatalog-no_zero     = 'X'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'EBELP'.
      fieldcatalog-seltext_m   = 'PO Item'.
      fieldcatalog-col_pos     = 1.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'STATU'.
      fieldcatalog-seltext_m   = 'Status'.
      fieldcatalog-col_pos     = 2.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'AEDAT'.
      fieldcatalog-seltext_m   = 'Item change date'.
      fieldcatalog-col_pos     = 3.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MATNR'.
      fieldcatalog-seltext_m   = 'Material Number'.
      fieldcatalog-col_pos     = 4.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MENGE'.
      fieldcatalog-seltext_m   = 'PO quantity'.
      fieldcatalog-col_pos     = 5.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MEINS'.
      fieldcatalog-seltext_m   = 'Order Unit'.
      fieldcatalog-col_pos     = 6.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'NETPR'.
      fieldcatalog-seltext_m   = 'Net Price'.
      fieldcatalog-col_pos     = 7.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-do_sum      = 'X'.        "Display column total
      fieldcatalog-datatype     = 'CURR'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'PEINH'.
      fieldcatalog-seltext_m   = 'Price Unit'.
      fieldcatalog-col_pos     = 8.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    endform.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_LAYOUT
    *       Build layout for ALV grid report
    form build_layout.
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
      gd_layout-totals_text       = 'Totals'(201).
    *  gd_layout-totals_only        = 'X'.
    *  gd_layout-f2code            = 'DISP'.  "Sets fcode for when double
    *                                         "click(press f2)
    *  gd_layout-zebra             = 'X'.
    *  gd_layout-group_change_edit = 'X'.
    *  gd_layout-header_text       = 'helllllo'.
    endform.                    " BUILD_LAYOUT
    *&      Form  DISPLAY_ALV_REPORT
    *       Display report using ALV grid
    form display_alv_report.
      gd_repid = sy-repid.
      call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
    *            i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
    *            i_callback_user_command = 'USER_COMMAND'
    *            i_grid_title           = outtext
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
    *            it_special_groups       = gd_tabgroup
    *            IT_EVENTS                = GT_XEVENTS
                i_save                  = 'X'
    *            is_variant              = z_template
           tables
                t_outtab                = it_ekko
           exceptions
                program_error           = 1
                others                  = 2.
      if sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
    endform.                    " DISPLAY_ALV_REPORT
    *&      Form  DATA_RETRIEVAL
    *       Retrieve data form EKPO table and populate itab it_ekko
    form data_retrieval.
    select ebeln ebelp statu aedat matnr menge meins netpr peinh
    up to 10 rows
      from ekpo
      into table it_ekko.
    endform.                    " DATA_RETRIEVAL

  • The basic command "caps on" is not working in dictation.

    I love dictation in the new Mac OS X; I even prefer it over Dragon Dictation because it's so convenient and I don't have to grab a headset to begin using it. I do a lot of professional writing for my job–and frequently need to type phrases that are title case. After upgrading to Mavericks I can no longer use the basic command, "caps on." It worked in the last version of OS X– but no longer. It's very frustrating.
    My system software is 10.9.5.
    Any idea how I can resolve this?

    Dictation is compromised by Pages v5.2.2 on Mavericks where the capitalization commands are literally transcribed, ignored, or cause an infinite processing loop. However, the dictation capitalization commands actually work in TextEdit, and Pages ’09 v4.3 on Mavericks. I recommend using what works, and lower your frustration threshold, as there is no fix for Pages v5.2.2 on Mavericks.

  • Using the Lasso Tool crashing Photoshop CC

    Hi,
    Looking for some help as to why Photoshop crashes at least once a day, sometimes more when using the basic Lasso Tool.
    I'm using Photoshop CC, and it's completely up to date. I'm on Windows 8.1.  I'm a freelance illustrator and use the lasso tool when doing all of my artwork.  It crashes on any image I'm working, smaller stuff to larger files, from small amount of layers to over 200.  I'll use the lasso, typically holding alt to use the polygonal option and I'll notice when clicking to close my shape, photoshop will completely stop working.  I'll have to open the task manager and completely end the program.  Crashes across the board from CMYK to RGB, in 8 bits.
    Looking for some help / ideas.  Please let me know if you need any other info, thanks.
    Kevin

    Hi Chris,
    I've updated the system driver on the wacom, which was released in March.  I also tried the mouse and also seems to be up to date.  Here's a shot of the task manager when freezes.  Does that help at all?
    I've just had a freeze 2 minutes ago.  I've been waiting for it to happen, hoping the wacom driver might change.  Apparently not.

Maybe you are looking for

  • IPhoto '08 doesn't open my library anymore

    I am sure that this is addressed in some earlier post, but I am at my wit's end as to what to do and just need someone to tell me how to fix my problem. Here is the situaion: I had moved my iPhoto Library to an external HDD, because it was getting to

  • Adapter Specific Paramters for Integration Process in Configuration

    I want to send the data from flat file to idoc through BPM While doing configuration do I need to explicitly give Adapter specific parameters(Logical System Name) for BPM(Integration Process) or not? Is it mandatory to give Adapter Specific Parameter

  • Photo replaced with a box and question mark

    I see photos in the I photo library, but when I click on them to see the single picture in a larger view instead of seeing the particular picture, I get a square box with a question mark in it. It doesn't happen with all my pictures, just 80 percent,

  • IPhone and Outlook / Intermedia

    I am trying to send my work emails to my iPhone.  Our office uses Outlook 2010 and while I can get the emails from the office that go to my clients I do not get internal emails from the office.  BNo doubt this has something to do with the server.  He

  • Bonus Digital Copy

    Today I was downloading the The Dark Knight digital copy. It download all the way to the end but never finished. I deleted it and tried to redownload it. Same thing happened. So I closed itunes and restarted the program. Now that I'm on the program i