SVT Spectrum Peak Search test

Hello,
I'm trying to test out the functionality of the Spectrum Peak Search VI in the Sound and Vibration Toolset. Please see the attached testing VI which has a simulated spectrum.
For some reason, it can detect the presence of peaks but will not list their frequencies/amplitudes in the peaks array. Any ideas on what is going on?
Thanks for any thoughts, Hunter (LabView 6.1 user)
Attachments:
Test_Peak_Detect.vi ‏56 KB

Hmmm.....thanks for highlighting these. Opening up the cluster to view these on the front panel and then rerunning the VI actually produced results...even leaving the values at there defaults.
I had to change the window to Hanning to get accurate results, though. Interestingly, it worked even with window size set to 0.
Anyway, thanks for the help.

Similar Messages

  • Peak search outputs wrong value

    I'm using the peak search VI to trend amplitudes from a power spectrum. The peak search VI is not outputing the correct amplitudes.  They are off by a little bit everytime.  I have looked at the output arrays from the power spectrum, and I have verified the peak search is getting good input data but outputting something unexpected. I have the peak search set for: 1) Single Max Peak, Threshold=0, Start=57.8Hz, Stop=59Hz and 2) Single Max Peak, Threshold=0, Start=61 Hz, Stop=62.2Hz. Neither one is displaying the correct value.  I will post my code, but the file I'm opening is a .dat so I can't post that.
    Solved!
    Go to Solution.
    Attachments:
    Viewer with 1X MSP and RPM trends- Troubleshooting.vi ‏850 KB

    The spectrum peak search VI is doing a curve fit to identify peaks. The peak search algorithm is described in the help:
    SVFA Spectrum Peak Search Details
    The SVFA Spectrum Peak Search VI finds all the peaks within the spectrum and performs amplitude/frequency or amplitude/order estimation on each individual peak. The VI operates on magnitude and power spectra.
    Usually, the spectrum is computed based on a windowed input signal. The closed form of any cosine window, such as Hanning, Hamming, Blackman-Harris, and so on, is known. The presence of three dominant bins indicates a local maximum on the power spectrum. Therefore, when the SVFA Spectrum Peak Search VI locates three dominant bins, a curve fitting algorithm maps the window shape onto the three bins and estimates the true frequency and amplitude of that particular tone. The following illustration diagrams the concept of the algorithm.
    ==================
    If you want the local maxima of the spectra, you can use the following code:
    Doug
    NI Sound and Vibration

  • What is the method/alg​orithm used by Diadem for peak search?

    Hi all,
    Can you please let me know what method/algorithm is used by Diadem for peak search? Please note I am familier with peak search function in Diadem but I need to know the theory/algorithem that it uses to find the peaks.
    Thanks
    Hossein
    Solved!
    Go to Solution.

    Greetings Hossein
    Check the last paragraph of this document. 
    Let us know if that answers your question or if you have further inquiries on this subject. Have a nice day!
    Luis J.
    Applications Engineer
    National Instruments

  • Power Spectrum peak calculator

    Hi,
    I am using the "fft power spectrum.vi" to calculate an FFT on a wave and the output of that is some bundled wire called power spectrum. I was wondering is there an easy way to take this output and find and display all the various peaks in the power spectrum? Thanks.
    Intern NSWCCD Carderock.

    Yes, I did try that, but the problem is I don't understand the inputs required for it as it requires
    "X" a set of points, but when you run the power spectrum you get a bundled wire with various parts and I'm not
    sure which of these to wire into the peak detector as everything I have tried has given me wierd values. Thanks for
    any help.
    Intern NSWCCD Carderock.

  • Keeping Power Spectrum Peaks on a Graph

    Hello,
    I am trying to read in a signal which varies in frequency as time progresses. I am taking this function and running a real time power spectrum (FFT Power Spectrum.vi) on it. As time goes the peaks move around according to teh frequency which is coming in. What I want to do is to keep the old peaks on the graph as the new peaks come in. So for example if I had a signal which was at 50 htz then 75 htz, at the end of the run I want to see both peaks on my grpah. Is this possible? Thanks.
    Intern NSWCCD Carderock.

    If you use the Spectral Measurements Express VI, you can configure it to do peak hold. In the configuration screen, turn averaging on, click on the Peak Hold radio button, and set the averaging number to 1. Then all your peaks will be displayed as they come and go. See attached vi. If you want to see how the express vi does it, you can convert the express vi to a normal vi and then look into the block diagram. I believe one of the functions has a peak hold input.
    - tbob
    Inventor of the WORM Global
    Attachments:
    SpectralMeasure.vi ‏98 KB

  • Svt frequency response (mag-phase).vi

    Hello people
    I want to find out the peaks from the specrum which get from magnitude output of svt frequency response (mag-phase).vi.
    but I always get errors when I use the svl spectrum peak search.vi, it looks like the peak search.vi can not accept spectrum type such as frequency response spectrum.
    what can I do to find out the peaks@freqency from the magnitude output of svt frequency response (mag-phase).vi
    Thanks in advance
    Tim

    Dear Lisa,
    Are you still here for supporting.
    I have installed Sound and Vibration Suite 2011 (SV) to use with LabVIEW Professional 2009 SP1. I have a concerns.
    After I install SV to the computer and launch my VI in LabVIEW 2009, I could not find the SV menus to use (in block diagram windows). I found a link
    http://digital.ni.com/public.nsf/allkb/9A4BC69D802​AD4D9862574FA004F0C20
    for the same issue but I could not find the path as they mentioned. The addons SV still missing in the installed directory.
    by the way, I can follow the path to find out VIs that I currently need to use. However, some VIs have different name. For example
    I could not find  "SVFA Power Spectrum.vi" but "SVT Power Spectrum.vi"; "SVFA Magnitude and Phase to Real and Imaginary.vi" but "SVT Magnitude and Phase to Real and Imaginary.vi"
    Similarly, I could not find "SVT Frequency response (Mag-Phase).vi" but "SVFA Frequency response (Mag-Phase).vi"
    Do they have the same function? It makes me confused.
    and I could not find  "SVT FFT Spectrum (Mag-Phase).vi"
    Can you please explain me what should be the mistake while I installed SV 2011 (I can not find SV 2009 and for interation with UFF58 file, LabVIEW 2011 is required)
    Thank you so much.
    Thinh Vo

  • How to measure CNR?

    Hello,
    In general stand alone instrument ther is a provision to measure CNR parameter. But using NI PXI 5660 how we can find out CNR?

    Hello MVK,
    The NI PXI-5660 RF Vector Signal Analyzer can use virtual
    instrumentation to many different types of measuremenrts, even those
    that may not be shipped as native features since they can be built from
    components that are currently available. Such is the case for CNR
    measurements. I am attaching an example written for another RF customer
    looking for CNR measurements, which is built upon the native power in
    band and spectrum peak search measurement routines. A power in band
    measurement is used to measure the noise power of the signal, and a
    peak search measurement is used to measure the peak power of the CW
    tone.
    Regards,
    Andy Hinde
    National Instruments
    Attachments:
    ni5660 Carrier Over Noise (CNR).llb ‏161 KB

  • LabVIEW Runtime Engine 2010 NI_AALPro Error

    Hi All,
    I have an problem with the executable version of my LabVIEW program. I just created an LabVIEW program in LabVIEW Professional 2010 version to acquire some FFT spectrums so it also use some function palettes of Sound and Vibrations toolkit like Power Spectrum, Peak Search, Power in Band etc.
    Then I just created an executable version of the program to run on a different system (Tools>>Build Executable Verion(EXE)). But when I tried to run the executable verion on a different system is showed some errors. I am attaching a printscreen of all errors showed.
    So, the executable version of the program is working fine in the develoment system but showed some errors when we try to run it on a different system. We have already installed the LabVIEW runtime engine 2010 as well in the second system.
    My one more question is when we build an executable version of a LabVIEW program then it should run on all PC without any other software (Runtime engine) because it got an extension of .exe 
    so is there any chance or way to build a totally standalone executable version of the program without using any runtime engine as well.
    Thanks
    Attachments:
    error.JPG ‏28 KB
    dll & lvlib.JPG ‏41 KB

    Hi PSBRRR,
    It seems like you didn't include all the dependencies of your VI or project to your build specification. Can you send a screenshot of  the Source Files Setting page of the Application Properties dialog box ? You have to add all the VIs and DLLs that are used in the Sound & Vibration toolkit and any others you are using to your executable file or support directory.
    For the last question : no you can't. Since LabVIEW 2010, the Run-Time Engine is like the "Java Virtual Machine". The compiled code inside your EXE is interpreted by the "LabVIEW Virtual Machine" included in the LabVIEW Run-Time Engine. That's why it requires the Run-Time Engine to be executed or at least the development environment (previous versions of LabVIEW didn't use this principle but it was also required to have the Run-Time Engine installed).
    Regards,
    Da Helmut

  • Power Spectrum no longer working correctly after upgrading to 8.0.1

    Recently, I installed Labview 8.0.1 to correct a problem I was experiencing in 8.0.  The installation resolved my problem, but now the Power Spectrum no longer gives the correct result.  My program has not changed other than the update.  I checked my circuit and everything is functioning properly.  Before changing to 8.0.1 the power spectrum peaked at 40Hz and 80Hz,  which was correct, and now it peaks at 0Hz and 10Hz.  On top of everything, the peaks are much higher than they should be.  I expect peaks with a max of 2.5millivolts and now they are 1volt.  I don't understand what is going on. Nothing changed, but the software version.  Can someone please help me? 

    In addtion to Altenbach's comments - 
    I'd recommend trying another VI function to get the power spectrum for
    your signal to see if the behavior is the same.  You can find some
    examples of VIs using the power spectrum functions using the NI Example
    Finder.
    You can go to LabVIEW's Example Finder by going to Help >> Find Examples.
    Then search for FFT. There should be some results that include FFT and
    Power Spectrum Units.vi, Power Spectrum Measurement.vi, Basic Spectral Measurements.vi,  and Spectrum Measurements.vi. Try opening and
    running these examples to see if the VIs are returning the proper
    results.
    Mark Walters
    Application Engineer
    National Instruments

  • String search

    i hI have a string "1234, abcdef, bbbbb"
    How do one get/search for the "abcdef" or "bbbb" out of the string using substring?
    If anyone has source code or references (for similar code) searching for "abcdef�(normally text enter in a text field that will be used to search through a string) It would be appreciated

    // This might help!
    String search = "test";
    Pattern pattern = Pattern.compile(".*" +search +".*");
    boolean test = pattern.matcher(testString).matches();

  • Cannot remote Mailbox Search after Discovery Mailbox was removed.

    I was trying to remove the mailbox search by running
    Remove-MailboxSearch "test" -Verbose and got the following error:
    Can't remove mailbox search 'test' because there is still at least one mailbox on In-Place Hold.
    The, I tried to run Set-MailboxSearch "In-Place Hold" -SourceMailboxes "ttesttwo" -InPlaceHoldEnabled $false and got the following error
    Couldn't find the mailbox "/o=ExchangeLabs/ou=Exchange Administrative Group
    (**)/cn=Recipients/cn=***" specified as the target mailbox for search 'test'.
    My mistake was that I deleted the discovery mailbox.  I went ahead and recreated the discovery mailbox with the same name but the LegacyExchangeDN does not match.
    How do I go about changing the legacyExchangeDN in O365?  Any other way to delete the mailbox search?
    Thanks

    Please try Set-MailboxSearch -Name Searchname -InPlaceHoldEnabled:$false
    And then confirm the status.

  • Text Search skiping HTML tags

    I have a table containing clob column.
    select code, details from search order by code;
    CODE DETAILS
    4 just a <b>test </b>insert
    5 just a <b>test</b> insert
    9 <HTML>just a <i>test</i> insert</HTML>
    10 checking test insert
    I have created a context index and add html tags in the stop list.
    exec ctx_ddl.create_stoplist('mystop', 'BASIC_STOPLIST');
    exec ctx_ddl.add_stopword('mystop', '<b>');
    exec ctx_ddl.add_stopword('mystop', '</b>');
    CREATE INDEX searchi ON search(details)
    INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS
    ('FILTER CTXSYS.AUTO_FILTER SECTION GROUP CTXSYS.AUTO_SECTION_GROUP STOPLIST MYSTOP');
    But when I search 'test insert' it only shows the following rows
    SQL> SELECT score(1), code, details FROM search WHERE CONTAINS(details, 'test insert', 1) > 0 ORDER BY score(1);
    SCORE(1) CODE DETAILS
    5 10 checking test insert
    5 9 <HTML>just a <i>test</i> insert</HTML>
    I would like to define a text index which skips the html keywords and returns all the rows contain the searching phrase

    Since you did not use code tags in your post, most of your html does not show, so it is difficult to tell what html is in your data or what values you set for your stopwords. One problem with stopwords is that, although the word is not indexed, it still expects some word where the stopword was, so searching for "word1 word2" will not find "word1 removed_stopword word2". How about using a procedure_filter as demonstrated below? I only removed a few tags, so you would need to either expand it to include others or searching for starting and ending tags and remove what is inbetween.
    SCOTT@orcl_11g> CREATE TABLE search
      2    (code      NUMBER,
      3       details  CLOB)
      4  /
    Table created.
    SCOTT@orcl_11g> INSERT ALL
      2  INTO search VALUES (4, 'just a <b>test</b> insert')
      3  INTO search VALUES (5, 'just a <i>test</i> insert')
      4  INTO search VALUES (9, '<HTML>just a test insert</HTML>')
      5  INTO search VALUES (10, 'checking test insert')
      6  SELECT * FROM DUAL
      7  /
    4 rows created.
    SCOTT@orcl_11g> CREATE OR REPLACE PROCEDURE myproc
      2    (p_rowid    IN ROWID,
      3       p_in_clob  IN CLOB,
      4       p_out_clob IN OUT NOCOPY CLOB)
      5  AS
      6  BEGIN
      7    p_out_clob := REPLACE (p_in_clob, '<html>', '');
      8    p_out_clob := REPLACE (p_out_clob, '</html>', '');
      9    p_out_clob := REPLACE (p_out_clob, '<HTML>', '');
    10    p_out_clob := REPLACE (p_out_clob, '</HTML>', '');
    11    p_out_clob := REPLACE (p_out_clob, '<b>', '');
    12    p_out_clob := REPLACE (p_out_clob, '</b>', '');
    13    p_out_clob := REPLACE (p_out_clob, '<B>', '');
    14    p_out_clob := REPLACE (p_out_clob, '</B>', '');
    15    p_out_clob := REPLACE (p_out_clob, '<i>', '');
    16    p_out_clob := REPLACE (p_out_clob, '</i>', '');
    17    p_out_clob := REPLACE (p_out_clob, '<I>', '');
    18    p_out_clob := REPLACE (p_out_clob, '</I>', '');
    19  END myproc;
    20  /
    Procedure created.
    SCOTT@orcl_11g> SHOW ERRORS
    No errors.
    SCOTT@orcl_11g> BEGIN
      2    CTX_DDL.CREATE_PREFERENCE ('myfilter', 'PROCEDURE_FILTER');
      3    CTX_DDL.SET_ATTRIBUTE ('myfilter', 'PROCEDURE', 'myproc');
      4    CTX_DDL.SET_ATTRIBUTE ('myfilter', 'ROWID_PARAMETER', 'TRUE');
      5    CTX_DDL.SET_ATTRIBUTE ('myfilter', 'INPUT_TYPE', 'CLOB');
      6    CTX_DDL.SET_ATTRIBUTE ('myfilter', 'OUTPUT_TYPE', 'CLOB');
      7  END;
      8  /
    PL/SQL procedure successfully completed.
    SCOTT@orcl_11g> CREATE INDEX searchi
      2  ON search (details)
      3  INDEXTYPE IS CTXSYS.CONTEXT
      4  PARAMETERS ('FILTER myfilter')
      5  /
    Index created.
    SCOTT@orcl_11g> SELECT token_text FROM dr$searchi$i
      2  /
    TOKEN_TEXT
    CHECKING
    INSERT
    TEST
    3 rows selected.
    SCOTT@orcl_11g> COLUMN details FORMAT A35
    SCOTT@orcl_11g> SELECT score (1), code, details
      2  FROM   search
      3  WHERE  CONTAINS (details, 'test insert', 1) > 0
      4  ORDER  BY score (1)
      5  /
      SCORE(1)       CODE DETAILS
             3          4 just a <b>test</b> insert
             3          5 just a <i>test</i> insert
             3          9 <HTML>just a test insert</HTML>
             3         10 checking test insert
    4 rows selected.
    SCOTT@orcl_11g>

  • Windows Search Output in UNC format

    When performing a Windows Search on a Networked Mapped Drive, the correct results are given, but the path to the folder is in UNC format.  How can I change this so that the path results given appear with the mapped drive letter?  
    Example:  Doing a search on the mapped drive (P:), lets say i am searching "Test"
    Results:
    \\servername\public\Test
    \\servername\public\game\test.txt
    Here is the results i would like to see:
    P:\Test
    P:\game\test.txt
    I am using Windows 8 or Win 7 Desktop to search a mapped drive that points to a share that is on a Microsoft Small Business Server 2011.  I have tested this on other server operating systems (win svr 2003, 2008 r2, 2012 r2) and they all output the results
    with the mapped drive leter.  

    Hi,
    Would you please let me know how you set up the mapped drive? Did open Computer and click
    Map network drive? Or any other method?
    Please use following command and check if this issue still persists.
    net use
    mapped-drive-letter \\server-name\share-folder
    For details, please refer to the following article.
    Net use
    If any update, please feel free to let us know.
    Hope this helps.
    Best regards,
    Justin Gu

  • Search / Results Page not showing results

    Hello, I am designing a website for my work, which requires a "search products" element.
    I have read that I need to do this "dynamically" in PHP and MySQL and so have been learning how to do this, and so far I have managed to:
    1) set up WAMP
    2) create "4 products (will eventually be 300 when I know it works)" sample database and have it "talk" to Dreamweaver (CS6)
    3) Set up the "search form button"
    4) create a search_results.php page with the dynamic table to hold the data / recordset
    5) Get the correct results when I "test" the recordset as shown below: (i.e using "black" as the search test word which does correctly shows the one product out of the 4 that has black in the description column)
    6) it looks like it added it to the table correctly in design view:
    7) but when I preview it in the browser and type in "black" into the search box I dont get any results? I only get the titles of the columns? (image below of the results I get in the browser):
    I've been looking on the internet / adobe help and have the "dummies" books and lynda.com dvds, but i've yet to find clear step by step instructions on how to do this properly. Does anyone know what I should be doing - I appear to be going around in circles with this one?  thanks.

    Since this is a server-side app question, check the App Developers forum.
    http://forums.adobe.com/community/dreamweaver/dreamweaver_development?view=discussions
    Post your PHP code because that's where your answers are.
    Nancy O.

  • Database Searching Algorithms

    Hi..
    I have to do some research about database searching algorithms.
    Would someone here help me and give a list of that algorithms and which one is the best.
    What is the name of this algorithms which when u type in a key such "a" then it display a list of information that started with "a".

    I guess I have more time than I thought... :)
    Here is a full working example all in one class...
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class MAIN
         DefaultListModel model_my_list = new DefaultListModel();
        JList my_list = new JList(model_my_list);
         DefaultListModel model_list_of_finds = new DefaultListModel();
        JList list_of_finds = new JList(model_list_of_finds);
         JTextField search_box = new JTextField(20);
         JTextField add_box = new JTextField(20);
         public MAIN()
              JFrame frame = new JFrame( "Search test" );          
              frame.setSize( 500, 500 );
              Container container = frame.getContentPane();
             GridBagLayout gbl = new GridBagLayout();             
             container.setLayout(gbl);
             GridBagConstraints gbc = new GridBagConstraints();
             Action actionAdd = new AbstractAction("ADD")
                 public void actionPerformed(ActionEvent evt)
                      model_my_list.add( model_my_list.size(), add_box.getText() );
                      add_box.setText("");
             JButton buttonAdd = new JButton(actionAdd);
             buttonAdd.setPreferredSize( new Dimension( 100, 30 ) );
             gbc.gridx = 2;
             gbc.gridy = 2;
             gbl.setConstraints(buttonAdd, gbc);
             container.add( buttonAdd );
             Action actionSearch = new AbstractAction("SEARCH")
                 public void actionPerformed(ActionEvent evt)
                      search( search_box.getText() );
             JButton buttonSearch = new JButton(actionSearch);
             buttonSearch.setPreferredSize( new Dimension( 100, 30 ) );
             gbc.gridx = 2;
             gbc.gridy = 4;
             gbl.setConstraints(buttonSearch, gbc);
             container.add( buttonSearch );         
             JLabel add_label = new JLabel( "Add element" );
             gbc.gridx = 1;
             gbc.gridy = 1;
             gbl.setConstraints(add_label, gbc);
             container.add( add_label );
              gbc.gridx = 1;
             gbc.gridy = 2;
             gbl.setConstraints(add_box, gbc);
             container.add( add_box );
             JLabel search_label = new JLabel( "Search keyword" );
             gbc.gridx = 1;
             gbc.gridy = 3;
             gbl.setConstraints(search_label, gbc);
             container.add( search_label );
              gbc.gridx = 1;
             gbc.gridy = 4;
             gbl.setConstraints(search_box, gbc);
             container.add( search_box );
              JLabel all_label = new JLabel( "All elements" );
             gbc.gridx = 1;
             gbc.gridy = 5;
             gbl.setConstraints(all_label, gbc);
             container.add( all_label );
             JScrollPane all_scroll = new JScrollPane( my_list );
              gbc.gridx = 1;
             gbc.gridy = 6;
             gbl.setConstraints(all_scroll, gbc);
             container.add( all_scroll );
              JLabel found_label = new JLabel( "Searched elements" );
             gbc.gridx = 2;
             gbc.gridy = 5;
             gbl.setConstraints(found_label, gbc);
             container.add( found_label );
             JScrollPane found_scroll = new JScrollPane( list_of_finds );
              gbc.gridx = 2;
             gbc.gridy = 6;
             gbl.setConstraints(found_scroll, gbc);
             container.add( found_scroll );
              frame.pack();
              frame.setResizable( false );
              frame.setVisible( true );          
         public void search( String searchWord )
              model_list_of_finds.clear(); //empty
              for ( int i = 0; i < model_my_list.size(); i++ )
                   String text = (String)model_my_list.get(i);
                   if ( text.startsWith( searchWord ) )
                        model_list_of_finds.add( model_list_of_finds.size(), text );
                        continue;
                   if ( text.endsWith( searchWord ) )
                        model_list_of_finds.add( model_list_of_finds.size(), text );
                        continue;
                   String keyword[]  = text.split( searchWord );
                   if (keyword.length > 1 ) //if there was a split... there was a find
                     model_list_of_finds.add( model_list_of_finds.size(), text );
                     continue;
         public static void main ( String args[] )
              new MAIN();
    }

Maybe you are looking for

  • Can I have more than one itunes account on the same computer?

    I would like to set my son up with his own account.  Is it possible to do that on the same computer? 

  • Why can't I burn a backup CD?

    Help! I can't burn a CD anymore. I try it in finder and get a can't communicate error...in iTunes...same thing...in iPhoto, (you guessed it...same thing) I can read my created CD's just fine with no problems (those I have created as well as those fro

  • Problems assigning policy to roles

    Hello, I am trying to assign a simple policy that I have created to a role that I have created. I am following the instructions from the administration guide. In the final step, From the View UserManegement I choose the role that I want to apply the

  • Need help with image

    I sure could use a buddy who has Skype or something who I can shoot questions like this to.  My designer wants a retainer of $3,000 but I can do most of my own stuff in Photoshop.  Sometimes I get stumped though, and just need a 30 second tutorial. S

  • Netweaver Error in Logs - JRA - Could Not Insert Row To ResultSet

    Hi there we have an MII 12.1.5 instance (with Patch) installed on a Netweaver platform (SP 3).  We're using the JRA action blocks to call an RFC (we populate the request doc with multiple nodes first) and they're all executing completely without any