Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. And if possible, at each write operation write the same channels, this will prevent the creation of a new segment, as Hooovahh hinted.
  3. Today
  4. You mean you're overlapping the subpanel and the tabcontrol on purpose? This is usually seen as a bad practice. That being said, this is a interesting "bug", I had not seen it before.
  5. There is a section for job postings further down the main page. Please move your post if you can. Thanks!
  6. Can you explain what you mean by "key" in this context? Maybe you can post a little screenshot of the code you have so far?
  7. 5 years later... Have things happened in the recent years with PPLs that would remove some of the reasons people may have abandonned them in the past? I was one of those people back in 2012, I'm thinking that 12 years later I could give them a try again...
  8. Hi all,I'm new here I have 1 element in combox box in GUI and it has a key which is written in INI file and read to cluster. Now , I need to add another element to combo box and read it to cluster. So technically it comes under same key. Idk how to programmatically code it in LabVIEW. Can anyone please help.
  9. The data in the sub-panel is always at the very top level when refreshed, I don't want that, what should I do? The picture below is a screenshot of me.
  10. Thank you for your continued help and advice. I'll think about it myself and learn to implement it on FPGA. Thanks!🙂
  11. Yesterday
  12. Option 1: Find your 2 nearest W points (minimum Euclidian distance) Find where on the line between those two W points that's perpendicular to your unknown point Use 1D interpolation between the two W points to estimate the W point's value. Option 2: Because W1,W2, and W3 are not colinear, you can define a surface between them. The approach would be somewhat similar to the above: Find the 3 nearest points and use them to define a surface. Find the cross product of the two vectors give you a normal to the surface Find the cross product of the normal and your unknown point. That should give the point on the surface that corresponds to your unknown point. Based on what you drew (your points were nearly colinear), I expect the second method to be very sensitive to noise and thus somewhat unstable and inferior to method 1.
  13. I think I know what I need, but I can't seem to describe it accurately. I'm sorry.😭
  14. Last week
  15. Frankly, It seems more that you don't know what you want, than that you don't know how to do it on a FPGA.
  16. I know about bilinear interpolation. But I don't know how to do it with my lack of data points. The hollow points in the graph are known points and the solid points are the points to be interpolated, (Hollow points don't have some kind of linear relationship) I don't know how to use bilinear interpolation. I am not able to find 4 known points.
  17. Yes, I think that should work fine for positive numbers. It's probably less efficient than my method though.
  18. It's the same as 1D interpolation except you repeat it a few times. So, if you have data at 0,0 0,1 1,0 and at 1,1 and you wanted to get (0.7,0.3), you could start with finding the values at 0.7,0 0.7,1 and then interpolate between those two values. https://en.wikipedia.org/wiki/Bilinear_interpolation (see repeated linear interpolation)
  19. There is a GPU Toolkit if you want to try it. No need to write wrapper DLL's. It's in VIPM so you can just install it and try. Don't bother with the download button on the website-it's just a launch link for VIPM and you'd have to log in. One afterthought. When benchmarking you must never leave outputs unwired (like the 2d arrays in your benchmark). LabVIEW will know that the data isn't used anywhere and optimise to give different results than when in production. So you should at least do something like this: On my machine your original executed in ~10ms. With the above it was ~30ms.
  20. Breathe BioMedical is looking to hire a LabVIEW Developer. Breathe BioMedical (BBM) is a medical technology company focused on developing an accurate breath test to detect early-stage breast cancer in women with dense breast tissue. If you are interested in the opportunity to design, develop, test, and document software necessary for the operation of our company’s medical device products and internal software applications, then this might be the role for you! Learn more about this job opportunity and how to apply at: https://breathebiomedical.com/join-our-team/
  21. Thanks for trying! How "easy" is to use GPUs in LabVIEW for this type of operations? I remeber reading that I'm supposed to write the code in C++, where the CUDA api is used, compile the dll and than use the labview toolkit to call the dll. Unfortunally, I have zero knowlodge in basically all these step.
  22. Nope. I can't beat it. To get better performance i expect you would probably have to use different hardware (FPGA or GPU). Self auto-incrementing arrays in LabVIEW are extremely efficient and I've come across the situation previously where decimate is usually about 4 times slower. Your particular requirement requires deleting a subsection at the beginning and end of each acquisition so most optimisations aren't available. Just be aware that you have a fixed number of channels and hope the HW guys don't add more or make a cheaper version with only 2.
  23. These graphs are just an example, and sometimes the slope may not be a constant. I would now like to tell you about my idea or need. This kind of graph above is done by planning in advance, I know the correspondence between each group (X,C) and W. I need to read the value of X and C from two encoders to find the corresponding value of W. But since it is ideal, the values of X and C are divided equally, for example, the value of X is 10 and divided into 10 parts, each with an interval of 1, but the values I read from the encoders may be 1.1 or 2.3, 3.5, etc., and the same goes for the value of C! And the values of X and C can't correspond to each other, so I can't just interpolate X or C in one dimension to get W. So I think I should find the corresponding W value by interpolating in two dimensions, but I don't know how to do it. I've only implemented one-dimensional interpolation via lookup tables so far. Anyway, thank you very much for your reply and help!🥳
  24. If my requirement does not include the case of negative numbers, can I use the procedure I wrote above.
  25. The change to "librarize" all OpenG functions is a real change in terms of requiring any and every caller to need to be recompiled. This can't be avoided so I'm afraid you will either have to bite the sour apple and make a massive commit or keep using the last OpenG version that was not moved to libraries (which in the long run is of course not a solution).
  26. Hi, I updated recently all my OpenG packages from VIPM directly (OpenG array 6.0.1.20 with LabVIEW 2020). Since I'm using them a lot, I thought it was the correct move. However, by opening afterwards VIs using openG, they got the start and are forced to recompile. Since I'm using Gitlab, I would like to avoid a commit on all my projects because of that. Do you have a better solution? Am I doing something wrong? thanks and regards, Laurent
  27. That part that's still confusing is that it looks like you have just one independent variable (time). If that's the case, that's just 1D interpolation. Also, your time vs x and your time vs C look like it has one slope so potentially, that's even more simple in that it's just a simple Y=m*X+b calculation. Also, it's not clear how much of this is calculable offline (no real time required). Also, your original example used extrapolation and it's not clear if that's a requirement.
  28. No, that probably doesn't work how you expect for negative numbers. Fortunately, for fixed point numbers, the decimals are just the least significant bits. The cool thing about that approach is that the code is just a wiring operation and thus uses ~0 resources and 0 time to calculate.
  29. I seem to have implemented this feature. Using the module round toward-infinity. That should do it, right?🤨
  1. Load more activity
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.