Frequency analysis of time varying data

I want to add a routine for frequency analysis of before and after strong impulse on a body.
Some vibration sensors will be attached to the body.
In this case, I was told I need to use a time-varying method like wavelet or any other to analysis instead of simple FFT.
I installed wavelet package but I have no idea how to use it.
(Wavelet method seems to be popular in reduction of noise.)
Only what I want to know is the frequency elements in dynamics.
Can you recommend any tools (functions) for my purpose?
Are there some LabVIEW examples?
I am using LV2009 and some extra toolkits (developer suites).
labmaster.

labmaster wrote:
I want to ask some curious things.
1. I have to analysis the spectrum of frequency in dynamic signal.
In case of presenting dB, how to know the frequencies?
2. In high sampling rate (1MHz), the low frequency element can't be analyzed. (too small window for 60Hz in my last example).
If so, generally, do I have to down sampling to ~1kHz for the 1MHz in wavelet or short time FT?
Take a look on how the Express VI you are using are made. The Express VI you are using is located here
C:\Program files\National Instruments\LabVIEW 2010\vi.lib\addons\Time Frequency Analysis\_express\_TimeFrequencySpectrogramConfig.llb
The VI you need to open is the configure.vi. Copy this VI to your user.lib folder before doing any work on it.
To answer your first question. The dB setting will change the Y axis scaling, and not the X axis scaling. Which is the frequncy axis 
The step between each frequncy bin will be( number of Frequency bins/(Fsample/2)). So using 1 MHz may reduce resolution. Perhaps 10 KHz will be bettter for you to use. 
Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)

Similar Messages

  • Time Frequency Analysis

    Is there any way to perform time-frequency analysis(spectrogram ) in DIAdem? Ideally, I got like to play the waveform in one section of the VIEWER and other section of the VIEWER would have the spectrogram of the data within the band cursor.
    Does anyone think this is possible in DIAdem?

    Hi Neuropotential,
    What you're asking for is possible, but it's not an out of the box feature.  We have a posted example application for doing joint time frequency analysis in REPORT at
    http://zone.ni.com/devzone/cda/tut/p/id/3549
    You could set the same sort of thing up in VIEW with the new 3D Contour Area available in VIEW in DIAdem 11.1.  I'm curious how you'd like the interactive part to work in VIEW and also how large your data sets are.
    Brad Turping
    DIAdem Product Support Engineer
    National Instruments

  • Joint time frequency analysis in Signal Express?

    Is it possible to do joint time frequency analysis in Signal Express?  I didn't see it in the Analysis section, so I'm assuming it's a separate tool that has to be added, if even possible in Signal Express.  Help?
    Solved!
    Go to Solution.

    SignalExpress does not natively support joint time frequency analysis.  However, check out the Sound and Vibration toolkit which expands upon SignalExpress.  It may do what you want.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Issues with using SV Time-Varying Loudness.vi

    Hi,
      I am rather new to Labview and am having issues getting my Time-Varying Loudness calcuations to come out correctly. Attached is my current VI and a .csv file of a set of my data (calibrated in Pa. Sample rate = 50kHz for 5 seconds). When i run the VI it does not output what I would expect. Here are my questions:
    Time-Varying Loudness:
    1) What are there so many signals? There are hundreds of lines, but I only expected one.
    2) Why is my x-axis not a range of 1 to 24 like Barks should be?
    1/3 Octave Band Analsysis:
    1) Why does it look incorrect? Their shouldnt be a linear increase as a function of frequency...
    The data is of a part being squeezed and making a squeek. So it is a transient noise that happens around 2 seconds. Additionaly, how would I go about making a waterfall (Time(s),Frequency(Hz),Amplidtude(sones)) of this signal? Is there any easy way? or do I have to make all three signals and add them to make one plot?
    Thank you for your help! Let me know if you need more infromation,
    -Troy
    p.s. i included a picture of the results as well.
    Solved!
    Go to Solution.
    Attachments:
    TimeVaryingIssue.zip ‏668 KB

    Hi Troy,
    1) The SV Specific Loudness VI "chunks" data into 2 ms blocks, and then returns these as individual Specific Loudness vs. Sone plots.  The colored lines you are seeing on your graph are representative of the 2,500 2 ms time periods within your five-second acquisition.  Each of these plots contains 241 points, however they should occur in ten sample "steps", one for each sone.  The digital filter's buffer takes a bit to fill and kick in properly, however, so you may want to give your first few rows( 0-.02 seconds or so) a closer look before using them- you may see a number of unexpected zeroes around the lowest sones.
    2) Since you are using a chart, the x-axis will increment with every subsequent run (the previous data is retained.)  If you only want to display the most recent data, I would recommend switching to a graph, which can also be found in the graph controls palette.  Also, see above (#1) for why the x-axis is longer than 24 points.
    3) Remember that dB is a unitless measure, and can only be used in reference to another value. A typical reference for sound is 20 uPa, however you will likely need to equalize your input data and determine/set a dB reference.  You may want to take a look at SVL Scale voltage to EU.vi (EU stands for equalized units) and SVL Set dB reference.vi.  In your case, I believe the Octave plot is showing your dB relative to a default value of 1.  The values should be accurate with respect to one another, but you will need to provide a reference value to calibrate the scale.
    4) I think that this VI serves as a good example of how to go about creating a waterfall plot:
    Waterfall Display for Octave (DAQmx)
    http://zone.ni.com/devzone/cda/epd/p/id/5562
    You will need to break up your waveform into chunks, much like the specific loudness VI, but the basic concept is roughly the same (take waveform chunk, take octave measurement of chunk, append octave measurement output cluster to array of clusters, repeat for remainder of waveform, display)
    Phew!  That was quite a bit of information.  Let me know if that makes sense, and don't be intimidated by the detail and/or unfamiliar functions or methods  - you're definitely on the right track, or at the very least asking the right questions.
    Tom L.

  • How to track frequency of usage and variant name

    Hi experts,
    Our team currently involved in Kaizen project. One of the enhancement we are looking at is tracking frequency of usage and variant name created. For example, for the payroll transaction, we created  a few variant (a,b,c,d). Is there any standard report we can check-which variant we use most; who created the variant, last change, last access,how many time we use the variant.
    Thanks in advance

    There is a table VARID where you can see who created the variant plus the date and time. This table also has the changed by details again with date and time.
    If the payroll transaction is run with a job i.e. sm37 then from there you can click on "step" and get the variant name.
    Please mark helpful or correct answers.
    If you can give me more detail of what it is you required then let me know.

  • RE:Reg time and date

    Hi,
             Create report  and send daily at 8:45am as the rest of the reports.
    Yesterday 7am to Today 7am, i have created the report but how to handle the time and date in the program

    hi,
    Chk this sample 1.
    There are two ways for you to handle,
    one manually setting up the job through SM36 which is better and convinient,
    secondly through program using FM's JOB_OPEN, SUBMIT, JOB_CLOSE.
      Find below steps in doing both:
    Procedure 1:
      1. Goto Trans -> SM36
      2. Define a job with the program and variant if any
      3. Click on start condition in application tool bar
      4. In the pop-up window, click on Date/Time
      5. Below you can see a check box "Periodic Job"
      6. Next click on Period Values
      7. Select "Other Period"
      8. Now give '15' for Minutes
      9. Save the job
    In SM37 u can check the status of the jobs that u have assigned to background...
    Here u mention the job name or the report name to check the status of the job...
    After mentioning the job name or program name u just execute it.. ( without any name also u can execute then it gives u all the jobs set by your user name..
    the status colud be released,active,finished etc..
    Procedure 2 via Program:
    Below is a sample code for the same. Note the ZTEMP2 is the program i am scheduling with 15mins frequency.
    DATA: P_JOBCNT LIKE TBTCJOB-JOBCOUNT,
          L_RELEASE(1) TYPE c.
       CALL FUNCTION 'JOB_OPEN'
         EXPORTING
           JOBNAME                = 'ZTEMP2'
        IMPORTING
          JOBCOUNT               = P_JOBCNT
        EXCEPTIONS
          CANT_CREATE_JOB        = 1
          INVALID_JOB_DATA       = 2
          JOBNAME_MISSING        = 3
          OTHERS                 = 4.
       IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
       ENDIF.
       SUBMIT ZTEMP2 VIA JOB 'ZTEMP2' NUMBER P_JOBCNT
              TO SAP-SPOOL WITHOUT SPOOL DYNPRO
              WITH DESTINATION = 'HPMISPRT'
              WITH IMMEDIATELY = SPACE
              WITH KEEP_IN_SPOOL = 'X' AND RETURN.
       CALL FUNCTION 'JOB_CLOSE'
         EXPORTING
           JOBCOUNT                          = P_JOBCNT
           JOBNAME                           = 'ZTEMP2'
           STRTIMMED                         = 'X'
           PRDMINS                          = 15
        IMPORTING
          JOB_WAS_RELEASED                  = L_RELEASE
        EXCEPTIONS
          CANT_START_IMMEDIATE              = 1
          INVALID_STARTDATE                 = 2
          JOBNAME_MISSING                   = 3
          JOB_CLOSE_FAILED                  = 4
          JOB_NOSTEPS                       = 5
          JOB_NOTEX                         = 6
          LOCK_FAILED                       = 7
          INVALID_TARGET                    = 8
          OTHERS                            = 9.
       IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
       ENDIF.
    Hope the above helps you.
    Regards
    Reshma

  • I have a large number of photos imported into iPhoto with the dates wrong.  How can I adjust multiple photos (with varying dates) to the same, correct, date?

    I have a large number of photos imported into iPhoto with the dates wrong.  How can I adjust multiple photos (with varying dates) to the same, correct, date?

    If I understand you correctly, when you enter a date in the Adjust Date and Time window, the picture does not update with the date you enter.  If that is the case then something is wrong with iPhoto or your perhaps your library.
    How large a date change are you putting in?  iPhoto currently has an issue with date changes beyond about 60 years at a time.  If the difference between the current date on the image and the date you are entering is beyond that range that may explain why this is not working.
    If that is not the case:
    Remove the following to the trash and restart the computer and try again:
    Home > Library > Caches > com.apple.iphoto
    Home > Library > Preferences > com.apple.iPhoto (There may be more than one. Remove them all.)
    ---NOTE: to get to the "home > library" hold down option on the keyboard and click on "Go" > "Library" while in the Finder.
    Let me know the results.

  • Read optimization time-series data

    I am using Berkeley DB JE to store fairly high frequency (10hz) time-series data collected from ~80 sensors. The idea is to import a large number of csv files with this data, and allow quick access to time ranges of data to plot with a web front end. I have created a "sample" entity to hold these sampled metrics, indexed by the time stamp. My entity looks like this.
    @Entity
    public class Sample {
         // Unix time; seconds since Unix epoch
         @PrimaryKey
         private double time;
         private Map<String, Double> metricMap = new LinkedHashMap<String, Double>();
    as you can see, there is quite a large amount of data for each entity (~70 - 80 doubles), and I'm not sure storing them in this way is best. This is my first question.
    I am accessing the db from a web front end. I am not too worried about insertion performance, as this doesn't happen that often, and generally all at one time in bulk. For smaller ranges (~1-2 hr worth of samples) the read performance is decent enough for web calls. For larger ranges, the read operations take quite a while. What would be the best approach for configuring this application?
    Also, I want to define granularity of samples. Basically, If the number of samples returned by a query is very large, I want to only return a fraction of the samples. Is there an easy way to count the number of entities that will be iterated over with a cursor without actually iterating over them?
    Here are my current configuration params.
    environmentConfig.setAllowCreateVoid(true);
              environmentConfig.setTransactionalVoid(true);
              environmentConfig.setTxnNoSyncVoid(true);
              environmentConfig.setCacheModeVoid(CacheMode.EVICT_LN);
              environmentConfig.setCacheSizeVoid(1000000000);
              databaseConfig.setAllowCreateVoid(true);
              databaseConfig.setTransactionalVoid(true);
              databaseConfig.setCacheModeVoid(CacheMode.EVICT_LN);

    Hi Ben, sorry for the slow response.
    as you can see, there is quite a large amount of data for each entity (~70 - 80 doubles), and I'm not sure storing them in this way is best. This is my first question.That doesn't sound like a large record, so I don't see a problem. If the map keys are repeated in each record, that's wasted space that you might want to store differently.
    For larger ranges, the read operations take quite a while. What would be the best approach for configuring this application?What isolation level do you require? Do you need the keys and the data? If the amount you're reading is a significant portion of the index, have you looked at using DiskOrderedCursor?
    Also, I want to define granularity of samples. Basically, If the number of samples returned by a query is very large, I want to only return a fraction of the samples. Is there an easy way to count the number of entities that will be iterated over with a cursor without actually iterating over them?Not currently. Using the DPL, reading with a key-only cursor is the best available option. If you want to drop down to the base API, you can use Cursor.skipNext and skipPrev, which are further optimized.
    environmentConfig.setAllowCreateVoid(true);Please use the method names without the Void suffix -- those are just for bean editors.
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Decode variant data w/o using 'Variant To Data' function.

    I need to decode variant data w/o having foreknowledge of the type used to create it. That is, I'm using the 'Flattened String To Variant' function which gives me the info I need, but it's all contained within one indicator. I need some way to break this info down into its constituent elements.
    For instance, let's say I have the flattened data and type descriptor from a cluster with two elements, a boolean and a string, but not the structure itself. Passing this flattened data and/or the type descriptor into a function, I would get a 2D array (or the like) as output containing the name of the boolean (its label), its value, and the name of the string and its corresponding value.
    There must be a way to
    do this, and I suspect it's been done already, but I can't find any reference to it.
    I have attached a file named Test.vi which demostrates this problem.
    Remember, even though I know the name of the control, I won't know the type, so I cannot use the 'Variant To Data' function to deference these values. I can make ready use of DLLs, CINs, or LabVIEW code for the solution.
    Thanks ahead of time for any help! Greg
    Attachments:
    Test.vi ‏26 KB

    You might be able to take advantage of the Variant to Flattened String VI from the Advanced>>Data Manipulation>>Variants pallette. This VI converts a Variant to a flattened data string and a type descriptor. The type descriptor is explained in ap note 154. You might be able to create a VI that would parse data from the flattened data string using the type descriptor. You might have to represent each piece of data as a flattened string to work around the data flow issues in LabVIEW.

  • Question on Time Variant

    Hello All
    How is the time variants gets the data, Do we need to LOAD data from Source system, like how we do for Master Data Load ?
    Thanks, looks silly questions, but good to understand ....
    BI

    Hi,
    In rsa1 of BW goto the source systems. Right click on your source system and select Transfer Global Settings. This will do your job. You need not to LOAD any data from Source system.
    Hope this Helps,
    Thanks,
    Amit

  • MSS Approve Time sheet data error

    Hi,
    In MSS Approve time sheet data I get a
    The ASSERT condition was violated., error key: RFC_ERROR_SYSTEM_FAILURE:com.sap.tc.webdynpro.modelimpl.dynamicrfc.WDDynamicRFCExecuteException: The ASSERT condition was violated., error key: RFC_ERROR_SYSTEM_FAILURE
    at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCModelClassExecutable.execute(DynamicRFCModelClassExecutable.java:101)
    at com.sap.xss.hr.cat.approve.blc.FcCatApprove.rfcExecute(FcCatApprove.java:307)
    at com.sap.xss.hr.cat.approve.blc.FcCatApprove.init(FcCatApprove.java:276)
    at com.sap.xss.hr.cat.approve.blc.wdp.InternalFcCatApprove.init(InternalFcCatApprove.java:243)
    at com.sap.xss.hr.cat.approve.blc.FcCatApproveInterface.onInit(FcCatApproveInterface.java:136)
    at com.sap.xss.hr.cat.approve.blc.wdp.InternalFcCatApproveInterface.onInit(InternalFcCatApproveInterface.java:133)
    In spro I have configured
    Approval Mode MSS_LTV_EE
    CATS Approval MSS_LCA_EE
    Request Mode ESS_LEA_EE
    Team View Mode MSS_LTV_EE
    I have added pernr and name in the fields selection
    Following is the st22 dump
    Error analysis 
    The following checkpoint group was used: "No checkpoint group specified" 
    If in the ASSERT statement the addition FIELDS was used, you can find 
    the content of the first 8 specified fields in the following overview: 
    " (not used) " 
    " (not used) " 
    " (not used) " 
    " (not used) " 
    " (not used) " 
    " (not used) " 
    " (not used) " 
    " (not used) " 
    Regards
    Srini

    Srini,
    This thread might be handy.
    ESS, Employee Search error: The ASSERT condition was violated
    Good Luck.
    Sandeep Tudumu

  • Find/Change Varying dates..

    I have a varied dates that appear throughout a LONG document.. for instance "January 14, 1945" date changes all the time of course.. usually appears at start of a paragraph.. i need to set up a find/change to be able to select it, and I need to change it's style.. is this the wildcard choice somehow in find/change?

    try a GREP search for      \<\w+\.? \d\d?, \d{4}\>      (those are ordinary typed spaces after the first ? and the comma). If should find dates with months spelled out or abbreviated with or without a period. You can use this in a GREP Style as part of a paragraph style to apply your character style so you don't need find/change

  • Power Spectrum Density conversion to Time Series Data

    Hi,
    This may seem an odd request but is there a way to convert power spectrum density data back to the time series data that generated it in the first place. I have lost the original time series data but still have the PSD and need the time series to do other analysis.
    Thanks,
    Rhys Williams

    Hate to be the bearer of bad news, but there are an infinite number of time series that will generate a given PSD.  You lose all phase information upon taking the PSD.  For this reason I almost always save time domain data, or at least complex FFT values.  

  • Frequency Analysis on Adobe Audition CS5.5 for bioacoustics research

    Hi everyone,
    In need of some help.
    I research whale/dolphin sounds, and have previously used Raven Pro for analysis. Ive found Adobe Audition produces a much better spectrogram (think it must be the FFT algorithm) and allows me to visualize a lot of whale calls that I may have missed previously by visual inspection on other software.
    I need to measure these calls. Basically I need the duration (seconds), minimum frequency (kHz), maximum frequency (kHz) etc.
    I have played around with the Frequency Analysis tool in Adobe Audition, and this cannot compute these figures for me at all. In Raven, it was extremely user friendly, and all you had to do was highlight the call by moving your cursor over and selecting the call, and in the left hand window, it would tell you the min F and max F and duration for that swatch that you had highlighted. Is there any way of doing this in Adobe? I know you can visually see on the right hand side the Frequency axis- but it doesn't give you the exact frequency i.e. I need it to be to 2 decimal places eg. 2.12 kHz minimum etc.
    I have inserted a screen grab of what I mean when you "highlight the call".
    Is there any way of doing this? I would be incredibly surprized if Adobe Audition does not have the ability to do so. But I have read through the manual and gone through a lot of threads and just can't find any information on it. Any help would be greatly appreciated!!!!!!!
    Thankyou so much in advance
    Bec.
    p.s. Whilst Im asking, is there anyway to change the time format in the "Selection/View" box? Ive seen you can display it many many ways, but I need it in seconds, and the most sensible time format is mm:ss.ddd. Is there anyway I can change it to just ss:ss? There are a bunch of options for frame times, but nothing else for actual time.

    becbioacoustics wrote:
    I need to measure these calls. Basically I need the duration (seconds), minimum frequency (kHz), maximum frequency (kHz) etc.
    I have played around with the Frequency Analysis tool in Adobe Audition, and this cannot compute these figures for me at all. In Raven, it was extremely user friendly, and all you had to do was highlight the call by moving your cursor over and selecting the call, and in the left hand window, it would tell you the min F and max F and duration for that swatch that you had highlighted. Is there any way of doing this in Adobe? I know you can visually see on the right hand side the Frequency axis- but it doesn't give you the exact frequency i.e. I need it to be to 2 decimal places eg. 2.12 kHz minimum etc.
    I have inserted a screen grab of what I mean when you "highlight the call".
    Is there any way of doing this? I would be incredibly surprized if Adobe Audition does not have the ability to do so. But I have read through the manual and gone through a lot of threads and just can't find any information on it. Any help would be greatly appreciated!!!!!!!
    When you highlight a section, in the bottom right corner of the screen you'll find the timing section, and in there the box marked 'duration' will show you exactly how much time you've highlighted. In Frequency Analysis, the way to note highest and lowest frequencies is, unfortunately, manual and involves finding them with the cursor and noting the cursor information (under the display). If you open the advanced window, you'll get more information, including the level of the frequency at the cursor position. Also there's a bug in the display (or more to the point, the way it's calculated) which means that if you highlight just one section in the spectral view, this isn't what the Frequency Analysis display shows - I'm reporting that one.
    p.s. Whilst Im asking, is there anyway to change the time format in the "Selection/View" box? Ive seen you can display it many many ways, but I need it in seconds, and the most sensible time format is mm:ss.ddd. Is there anyway I can change it to just ss:ss? There are a bunch of options for frame times, but nothing else for actual time.
    No I'm afraid there isn't. I did try a cheat to see if I could at least get the timeline to do this, but that won't work either. Yes I think it should be there as an option too...

  • Frequency Analysis? How do I get frequency characteristics of a signal given in .wav format ?

    I am new to Labview would really apprecite your time and help...
    frequency Analysis? How do I get frequency characteristics of a signal given in .wav format ?
    I have attached the signal I am trying to analyze.
    Have nothing to offer in return but gratitude
    Cheers !
    Message Edited by Komal Khalid on 04-11-2010 10:59 PM

    If you have labview 8.x or 9.x you can do this. Go to help in the toolbar. Select "Find Examples" and then search for sound. Locate the "Sound File to Sound Output.vi" This example will help in your task. Remember that Labview is shipped with a lot of useful examples. That can help you in your learning process
    Good luck
    Ps you can also read wav files, and find examples  in Labview 7.x. But I do not know the name of the similar examples in 7.x
    Edit: Please use zip files then you are not able to attach files. Do not link to sites outside. The site you linked to was very annoying. Could not download
    Message Edited by Coq Rouge on 04-12-2010 02:38 PM
    Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
    (Sorry no Labview "brag list" so far)

Maybe you are looking for