10-10-2013 11:14 PM
I forgot to tell about the parameters in the picture with strain energy formula. The Phi represents Mode shape vector and the second derivative of Phi represents Modal curvature.
Thank you
Venu
10-14-2013 09:34 AM
Greetings Vgrchada.
I apologize for not getting back to you earlier.
I know of no other way to perform integration other than calculating it by hand (but I don’t think it would make any difference). However, I don’t think the integration failed. I just ran the Example A, the Mode shape spline curve looks like an inverted parabola, and if you integrate that it would look like the strain energy graph. In the expected results, the undamaged graph looks like a sine wave, and the damaged one too (except for that big spike) and your curve doesn´t. Is it possible that your data requires some pre processing before trying to calculate the strain energy? Were all the strains gauges offsets accounted for and corrected before acquisition?
Have a good day.
10-14-2013 12:48 PM
Hi Luis,
I understood what you did and just gone through the theory again. I was actually reading the theory related to mode shapes obtained from accelerometers and thought of doing derivatives the same way to mode shapes from strain gages, now I realized that it is a mistake because the derivatives are done to obtain displacements from accelarations and then integrated to find strain energy, whereas, for the strain gages it is actually the straight integration. Yes, what you got is absolutely right in my opinion. I know how to do it by hand too. What I want to know is, how to do the integration between two adjacent data points in Labview? I tried using integration vi's from mathamatics and signal processing but didn't get the answer finally.
To avoid the noise from the graph, the actual data is picked from the excel by using limits to rows (for instance, row 620 to 845 in the excel that we used). The out of range values are avoided by doing so. In my opinion, the data don't need preprocessing anymore. It is very hard to see each and every graph to pick the actual data from the strain vs time graph. Can you tell me how to pick the actual data directly from the strain vs time graph using an algorithm? Suggest me if there is something that I am missing in doing preprocessing.
Yes, the strain gage values are zeroed before the test begins and there don't seem to be any offset that need to be accounted for. Any suggestions let me know.
Thank you
Venu
10-14-2013 04:10 PM - edited 10-14-2013 04:14 PM
hi vgrchada,
Regarding your other posts on this topic, it appears to me like you're not happy with the output of "integral x(t).vi", which results in a cumulative distribution function.
Have you tried 1d numeric integration.vi instead?
Here's what I have in mind
Regards,
Alex
10-14-2013 06:05 PM
Hi Alex,
If you take a look at my MS (XY graph). The x-axis is the span of the beam in inches. The limits for doing the integration should be the distance between the adjacent points of that beam, which I would prefer to be taken as (1inch, 2inch), (2inch, 3inch) and so on. The final graph after integration over each zone has to look like the dotted line in picture (photo 4) that I attached in my previous posts. Please take a look at it. I tried what you have suggested but it is not coming out to be right becuase there is no where we are giving the limits to it. can you check that once again.
Hi Luis,
Can you tell me how to get that final graph in Labview? and also I want to know about the second question from my previous post.
Thank you
vgrchada
10-15-2013 01:01 PM - edited 10-15-2013 01:03 PM
hi,
honestly, at the moment I can't see how to get from the data presented in your "Maximum Amplitudes" Array to the graph plotted in photo (4).JPG
But I'de like to understand.
Let's look at your input data, which is shown in "Strain and time data" Array from "trial 1 case B.xlsx":
There are 32 sensors lined up. Between every sensor, theres the same distance (x-axis).
Your sensors produced values in a range between -5,6 to +60,6 (z-axis, intensity) every 0,01 second respectively 100 hz (y-axis).
Now, you want to integrate the produced values from sensor 1 to 32 (x-axis, row), right?
How do you take time (y-axis, column) into consideration?
At the moment, you do a FFT of each column and extract the maximum amplitude (real part) of each column.
How's that related to the graph plotted in photo (4).JPG?
Does every peak in photo (4).JPG represent a sensor/column?
Regards,
Alex
10-15-2013 02:46 PM
Hi Alex,
I will tell you briefly one by one in an organized manner. The goal is to find the strain energy of the 53ft (i.e., 646inches) beam. The first strain gage is installed at 26inches from the support and the following gages are 20inches apart.
1) The strain vs time raw data was collected and exported to excel spreadsheet.
2)The data is now imported into labview by assigning it in file path.
3) The actual data (periodic signal data) that is inbetween rows 710 and 890 is taken from all the strain gages (i.e., from column 3 to 34) to find maximum amplitudes of FFT of each gage. The for loop is used to collect the maximum amplitudes of each gage. Note : The actual data will be inbetween different rows for different trials. For instance the data is inbetween 620 and 845 in trial 1 case A and inbetween 710 and 890 for trial 1 case B. I want to extract the periodic data from each trial by using an algorithm, which is one of my problem. (for this look at extracting excel values.vi)
4) Then I used an other for loop to select the location of the strain gages on the x-axis where I can place those maximum amplitudes of each gage, respectively. The results are plotted on MS (XY graph (which is nothing but the first Mode shape of the beam).
5) Now I need to integrate the square of the mode shape graph over each zone (i.e between two adjacent data points) and plot it in a different graph, which is nothing but the strain energy. If you take a look at the vi, you will understand what I did. When you give the file path to trial 1 case B.xlsx in the vi, you will see the difference in MS (XY graph) at a distance from 200 to 300inches. At this location there should be a peak occuring in the SE graph. The final graph has to be same as the dotted line in the photo 4. This is my other problem. (for this look at SE from final graph.llb).
6) The Photo 4 is an example to show you how the strain energy graph looks like for undamaged and damaged beam. The trial 1 case A.xlsx is the data for undamaged beam and trail 1 case B.xlsx is for the damaged beam. ( Note : trail 1 case A.xlsx and Strain and time data.xlsx are the same) All the excel files are previously attached to different posts.
Let me know if you have any more questions.
Thank you
vgrchada
10-16-2013 10:57 AM
Greetings Vgrchada.
So I believe there are two questions still unsolved:
I want to extract the periodic data from each trial by using an algorithm, which is one of my problem. (for this look at extracting excel values.vi
For this, there are some suggestions with increasing difficulty level. The first one is to organize your data previous to running the program, so that they are always in the same range of rows. The second is fairly easy too, use controls in your Front Panel to select the proper range each time you want to parse a spreadsheet. The third one is to define an all encompassing range, and have the program parse this. This means that it will look for example from colums 6 to 1000 and if the data is between 645 and 853 or 10 and 900, it won't matter, since it will still be read by the program. The last one is to define a cell range somewhere in the spreadsheet that your program can look and interpret, so that it extracts the correct data, depending on the spreadsheet. I will leave it to you to choos the one that works best for you.
[integrating] between two adjacent data points
This sounds like a work for the resampling.vi that is included in the Advanced Signal Processing Toolkit. This basically changes the "timebase" of the signal (which in this case is actually a spacebase a suppose) and using interpolation assigns the new times (in this case locations) with a proper value. If you don't have that toolkit or function, you will have to do it by hand. Define a new locations array but this time, it will increase inch by inch (or the spatial precision you want) and calculate the proper strain for each new "sensor" (This value can be found using the interpolation method you wanted earlier) Once you have this new waveform, you can integrate normally that and it should give you the results you want.
Regards
10-17-2013 08:48 AM
@Tortu wrote:
Greetings Vgrchada.
[...]
[integrating] between two adjacent data points
This sounds like a work for the resampling.vi that is included in the Advanced Signal Processing Toolkit. This basically changes the "timebase" of the signal (which in this case is actually a spacebase a suppose) and using interpolation assigns the new times (in this case locations) with a proper value. If you don't have that toolkit or function, you will have to do it by hand. Define a new locations array but this time, it will increase inch by inch (or the spatial precision you want) and calculate the proper strain for each new "sensor" (This value can be found using the interpolation method you wanted earlier) Once you have this new waveform, you can integrate normally that and it should give you the results you want.
Regards
How about this solution based on a general linear fit : http://forums.ni.com/t5/LabVIEW/how-can-I-extract-a-gaussian-function-out-of-a-spectrum-which/m-p/24...
Regards,
Alex
10-17-2013 12:52 PM
Hi Alex,
I gone through the block diagram of FourGaussiansII.vi. In this program, every gaussian has a specific width and position with same amplitudes. Depending upon the assigned values of width and position, the exponential curves are drawn for each guassian using forloop. The linear fit of each known amplitudes is shown for each guassian using the whileloop. However, In the case, the maximum amplitudes of FFT for each strain gages and there positions are known values. I think the maximum amplitudes are to be squared in the forloop just the same way the widths and positions are carried out with exponential graphs and the integration between two adjacent positions has to be done in the whileloop just the same way where the A x vector.vi is given as input. All the remaining things will remain same to give the required graph.
If you think I am right with what I explained above. Then the problems are, how to square the amplitudes in forloop and how to carry out the integration between two adjacent points in the whileloop? which is again the same problem that I mentioned before. I am working on this right now. Let me know if you find something in more specific.
The studies that I am doing right now on this problems are upto a 4th decimal precision. So that very minute problems have to be identified with it. This is not some thing impossible. The later part of the theory will prove it but now I need to come over this problem and later steps can be studied.
Thank you
Vgrchada