{"id":22515,"date":"2017-10-17T08:03:01","date_gmt":"2017-10-17T15:03:01","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=22515"},"modified":"2026-09-09T02:36:24","modified_gmt":"2026-09-09T09:36:24","slug":"waveforms-vs-labforms-part-3-filtering-data","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/waveforms-vs-labforms-part-3-filtering-data\/","title":{"rendered":"WaveForms vs LabForms: Filtering Data"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">LabForms works with LabVIEW 2014 or newer, and it allows you to connect an<\/span> <a href=\"https:\/\/digilent.com\/shop\/analog-discovery-2-100ms-s-usb-oscilloscope-logic-analyzer-and-variable-power-supply\/\"><span style=\"font-weight: 400;\">Analog Discovery 2<\/span><\/a><span style=\"font-weight: 400;\"> USB oscilloscope to LabVIEW. The LabVIEW code uses the<\/span><a href=\"https:\/\/decibel.ni.com\/content\/docs\/DOC-44838\"> <span style=\"font-weight: 400;\">LabVIEW driver for the Analog Discovery 2<\/span><\/a><span style=\"font-weight: 400;\">, which lets you access the Analog Scope and Waveform Generator (WaveGen) functionalities of the Analog Discovery with LabVIEW.<\/span><\/p>\n<p><b>Waveform Generator Comparison<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The Arbitrary Waveform Generator (or WaveGen) generates electronic waveforms. The resulting waveforms can be input into a device being tested and analyzed with the Oscilloscope as they progress through the device. This is useful for confirming the proper operation of the device or pinpointing a fault in the device. Accessing the Wavegen is easy in both <\/span><a href=\"https:\/\/digilent.com\/shop\/waveforms\/\" style=\"background-color: white; font-size: 1rem;\"><span>WaveForms<\/span><\/a><span style=\"font-weight: 400;\"> and <\/span><a href=\"https:\/\/digilent.com\/reference\/software\/labview\/start\" style=\"background-color: white; font-size: 1rem;\"><span>LabForms<\/span><\/a><span style=\"font-weight: 400;\">. In both versions, simply navigate to the &#8220;Wavegen&#8221; tab from the home screen, shown below.<\/span><\/p>\n<figure id=\"attachment_21943\" aria-describedby=\"caption-attachment-21943\" style=\"width: 450px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-21943 size-full\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture4.png\" alt=\"\" width=\"450\" height=\"198\" \/><figcaption id=\"caption-attachment-21943\" class=\"wp-caption-text\">Wavegen tab, home screen<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">The user interfaces are quite similar. This can be seen from the picture below. LabForms contains many of the same major functions but doesn&#8217;t have all of the options as WaveForms. For example, WaveForms (shown in the top graph in the picture below) allows you to set your signal type to DC, Sine, Square, Triangle, Ramp-Up, Ramp-Down, Noise, Trapezium, and Sine-Power. Only the first 4 signals are included in the LabForms version. There are also several other differences between the two versions. WaveForms includes a large assortment of built-in features, including a signal shape editor, a data file importer, a modulation configuration mode, and many others. LabForms has only the basic features built in, but because it is built with LabVIEW, users have access to a huge amount of tools to help create customized waveforms. Below you can see the basic LabVIEW VI&#8217;s for outputting signals from the arbitrary waveform generator.<\/span><\/p>\n<figure id=\"attachment_21957\" aria-describedby=\"caption-attachment-21957\" style=\"width: 713px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-21957\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture7-1-600x318.png\" alt=\"\" width=\"713\" height=\"378\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture7-1-600x318.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture7-1-768x407.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture7-1-1024x542.png 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture7-1-351x185.png 351w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture7-1-800x424.png 800w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture7-1.png 1920w\" sizes=\"auto, (max-width: 713px) 100vw, 713px\" \/><figcaption id=\"caption-attachment-21957\" class=\"wp-caption-text\">WaveForms vs LabForms Wavegen UI comparison<\/figcaption><\/figure>\n<figure id=\"attachment_21955\" aria-describedby=\"caption-attachment-21955\" style=\"width: 565px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-21955 size-full\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture13.png\" alt=\"\" width=\"565\" height=\"205\" \/><figcaption id=\"caption-attachment-21955\" class=\"wp-caption-text\">basic LabVIEW VIs for outputting signals from the arbitrary waveform generator<\/figcaption><\/figure>\n<p><b>Oscilloscope Comparison<\/b><\/p>\n<p><span style=\"font-weight: 400;\">An oscilloscope (or &#8220;scope&#8221;) allows you to view a signal&#8217;s waveform, typically in a two-dimensional graph where one or more electrical signals (on the vertical axis) are plotted as a function of time or of some other voltage (on the horizontal axis). Most of the time, oscilloscopes are used to show events that repeat with either no change or events that change slowly. Accessing the oscilloscope is easy in both WaveForms and LabForms. In both versions, just navigate to the &#8220;Scope&#8221; tab from the home screen, shown below.<\/span><\/p>\n<figure id=\"attachment_22038\" aria-describedby=\"caption-attachment-22038\" style=\"width: 382px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-22038 size-full\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture3.png\" alt=\"\" width=\"382\" height=\"149\" \/><figcaption id=\"caption-attachment-22038\" class=\"wp-caption-text\">Scope tab, home screen<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">The user interfaces are quite similar. This can be seen from the picture below. LabForms contains many of the same major functions but doesn&#8217;t have all of the options as WaveForms. For example, WaveForms allows you to create a math channel, which allows you to perform a variety of mathematical calculations on the input signal of the oscilloscope. This can also be done in LabForms but not from the user interface. Instead, a user would have to edit the block diagram, which might be difficult for users unfamiliar with LabVIEW.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">There are also many differences between the two versions. WaveForms includes a large assortment of built-in features, including reference channels, input coupling, a custom mode for filtering, and many others. LabForms has only the basic features built in, but because it is built in LabVIEW, users have access to a huge amount of tools to help create customized waveforms. Below you can see the basic LabVIEW VI&#8217;s for viewing signals from the oscilloscope.<\/span><\/p>\n<figure id=\"attachment_22036\" aria-describedby=\"caption-attachment-22036\" style=\"width: 539px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-22036 size-medium\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture-1-539x600.png\" alt=\"\" width=\"539\" height=\"600\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture-1-539x600.png 539w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture-1-768x855.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture-1-800x891.png 800w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture-1.png 897w\" sizes=\"auto, (max-width: 539px) 100vw, 539px\" \/><figcaption id=\"caption-attachment-22036\" class=\"wp-caption-text\">WaveForms vs LabForms Scope UI comparison<\/figcaption><\/figure>\n<figure id=\"attachment_22039\" aria-describedby=\"caption-attachment-22039\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-22039 size-medium\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture4-1-600x234.png\" alt=\"\" width=\"600\" height=\"234\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture4-1-600x234.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture4-1-768x299.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/08\/Capture4-1.png 785w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-22039\" class=\"wp-caption-text\">basic LabVIEW VIs for viewing signals from the oscilloscope<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">Another benefit of LabForms is the ability to be combined with the Analog Discovery 2 with other LabVIEW-compatible hardware. For example, many people prefer using physical knobs to configure a scope rather than using a mouse. That&#8217;s why I made use of LINX to allow me to control the LabForms oscilloscope with physical knobs (<\/span><a href=\"https:\/\/digilent.com\/reference\/pmod\/pmodenc\/start\"><span style=\"font-weight: 400;\">Pmod ENC&#8217;s<\/span><\/a><span style=\"font-weight: 400;\">). With these knobs, you will be able to control the sample rate, base, range, and offset of both of your scopes. Currently,<\/span><a href=\"https:\/\/www.hackster.io\/austin-stanton\/adding-nobs-to-the-analog-discovery-2-using-labview-e68f60\"> <span style=\"font-weight: 400;\">this project<\/span><\/a><span style=\"font-weight: 400;\"> can only be used with LabVIEW 2014.<\/span><\/p>\n<p><b>Filtering Data<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Raw data does not always immediately convey useful information. Often, scientists and engineers must transform the signal, remove noise disturbances, and compensate for environmental effects. For that reason, signal processing is a fundamental need in nearly all engineering applications. LabVIEW and WaveForms both give you the ability to filter data in real time.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In LabVIEW, you will filter by using Express VIs. Users can interactively explore the various analysis algorithm settings, while immediately seeing the results in the configuration dialog. For example, the Filter Express VI provides tools to configure such digital filters as lowpass, highpass, bandpass, and bandstop. The configuration dialog for this Express VI provides controls to interactively configure filter settings.<\/span><\/p>\n<figure id=\"attachment_22516\" aria-describedby=\"caption-attachment-22516\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-22516 size-medium\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/10\/delete-600x263.png\" alt=\"\" width=\"600\" height=\"263\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/10\/delete-600x263.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/10\/delete-768x336.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/10\/delete-800x350.png 800w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/10\/delete.png 872w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-22516\" class=\"wp-caption-text\">Filter Express VI configuration dialog<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">In WaveForms, you can filter by adding a filter channel to your Oscilloscope tool. Click on the Filter Button to open the settings. The Filters tab gives the option of a Chebyshev, Butterworth, or custom filter. When Chebyshev or Butterworth are selected, you can choose between 2nd and 16th order, low-pass, high-pass, band-pass, or Bandstop, and one or two cutoff frequencies. When Chebyshev is selected, you can also choose the Epsilon parameter. When custom is selected, the filter is determined from the table of coefficients.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Thank you for reading this blog post; if you want to learn more, please check out our Instructable &#8220;<\/span><a href=\"http:\/\/www.instructables.com\/id\/Analog-Discovery-2-USB-Oscilloscope-LabVIEW2016-Up\/\"><span style=\"font-weight: 400;\">Analog Discovery 2 USB Oscilloscope + LabVIEW(2016 update)<\/span><\/a><span style=\"font-weight: 400;\">&#8220;.\u00a0<\/span><\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-22515 jlk' data-task='like' data-post_id='22515' data-nonce='50845fa39f' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-22515 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-22515 jlk' data-task='unlike' data-post_id='22515' data-nonce='50845fa39f' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-22515 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-22515 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Take the next step with LabForms!<\/p>\n","protected":false},"author":42,"featured_media":22516,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[4323,1563],"tags":[111,452],"ppma_author":[4493],"class_list":["post-22515","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","category-guide","tag-analog-discovery","tag-waveforms"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/10\/delete.png","jetpack_sharing_enabled":true,"authors":[{"term_id":4493,"user_id":42,"is_guest":0,"slug":"astanton","display_name":"Austin Stanton","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/0cc9db2caf6344c8f78ea46c21570f33a954c45596addf479125043e52431de0?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Stanton","last_name_2":"","first_name":"Austin","first_name_2":"","job_title":"","description":""}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/22515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=22515"}],"version-history":[{"count":4,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/22515\/revisions"}],"predecessor-version":[{"id":32577,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/22515\/revisions\/32577"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/22516"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=22515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=22515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=22515"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=22515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}