All Activity
- Today
-
Does anyone know anything about 2D interpolation using labview FPGA?
infinitenothing replied to 王佳's topic in Real-Time
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. -
How to separate decimals and integers on the FPGA side?
infinitenothing replied to 王佳's topic in Real-Time
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. - Yesterday
-
I seem to have implemented this feature. Using the module round toward-infinity. That should do it, right?🤨
-
bbean started following GPM and Gcentral Status?
-
Does anyone know the status of GPM and/or Gcentral? I went to gpackag.io and website isn't working. last commit here https://gitlab.com/mgi/gpm/gpm was a few years ago
-
hooovahh started following TDMS help needed
-
Several things can be done to optimize TDMS writing. TDMS has to occasionally write header data to the file to keep track of the data being written. Because of this you can add one TDMS file to the end of another and it will make a valid file. You can't for instance append an Excel file (XLSX) to the end of another and get a valid file. So you want to minimize the amount of times the header data needs to be written to disk. The easiest way to do this is to write multiple samples at once, or writing multiple channels at once. You want to avoid writing single samples. So build up N samples for your N channels and write them once the buffer is full. The buffer doesn't need to be your whole 12-18 hours. You can start small with say 10 samples and see how it performs.
-
bjak joined the community
-
Rolf Kalbermatter started following Help with constructions!
-
And what is the program on your ESP32 doing? Does it even listen on the according serial port? Does it know what it should do when seeing an *IDN?<new line> on that port? What does it send back when seeing that command? The ESP32 is a capable microcontroller board but it needs a program that can implement the reading of your sensors and react to commands from your LabVIEW program and send something back. And that program needs to be implemented by you in one of the supported programming languages for the ESP32. Most likely you will want to use ESP-IDF as a plugin in either Eclipse or VSCode.
-
ive been trying to get this function to run all night in labview but i keep getting a "TyperError' message all its supposed to do is output an excel sheet with all the combinations created by the program but im at the point where id just be happy if it could just output a txt file with the combinations if anything. I know the program works in python as ive tested it but i just cant figure out why it errors when i try to call the function. any help would be appreciated generated_sequence.vi file.py
-
matthew fernandes joined the community
-
stefanoorion joined the community
-
蘇宗德 joined the community
- Last week
-
I am new with labview and i am a little stuck! I build this in order to read the data from 2 senzors one for temperature and humidity and one for air quality conected to an esp32. What i want is to take the data and make it that the values i recevie to be put separately each one in his own output! What to do?
-
Diac Stefan joined the community
-
d 4 joined the community
-
I'm sorry, I probably didn't phrase it very well. As you can see in this graph, each value of X and C corresponds to a value of W, that is, a set of (X,C) determines a W. After sampling the data on this graph, the value of (X,C) that I get now may not correspond exactly to the sampled points. At this point, I need to perform a 2D interpolation to get the W value. This is my idea, not sure if I have expressed it clearly, thanks anyway!
-
I'm sorry, I probably didn't phrase it very well. As you can see in this graph, each value of X and C corresponds to a value of W, that is, a set of (X,C) determines a W. After sampling the data on this graph, the value of (X,C) that I get now may not correspond exactly to the sampled points. At this point, I need to perform a 2D interpolation to get the W value. This is my idea, not sure if I have expressed it clearly, thanks anyway!
-
Firstly thank you very much for your reply! My idea is simple, input a fixed point number and how to output its integer part separately from its decimal part. For example, if the input is 1.5, the output will be 1 and 0.5.🤪
-
Luis Izagirre joined the community
-
Can you post your example? 300-400 points per second should be no problem at all and quite fast
-
Does anyone know anything about 2D interpolation using labview FPGA?
infinitenothing replied to 王佳's topic in Real-Time
I believe what you described is extrapolation and I think you've under defined your system (or you actually want 1d interpolation). What would points (1,2 and 2,1) correspond to? It's not totally clear how you would want to determine that 0.5,0.5 corresponds to 0.5. A naive approach would be to use the slopes of 1,1 to 1,2 and from 1,1 to 2,1. -
Gokul N A changed their profile photo
-
Jaliek Davis changed their profile photo
-
I'm not sure I undestand the question. LabVIEW FPGA can handle math caluclation, although decimal numbers are a bit cumbersome, and the straight line formula is pretty straight forward to implement. Are you sure you need a LabVIEW FPGA for this? Do you have a very specific application?
-
OK , i am looking into using TDMS , but , i am struggling to get it to work how i envisioned. I know i am missing something , i am very tired been up for 1.5 days (travelling) ... anyway , i like the idea of the meta data aspect vs a text file... what i am looking to do is write 350-400 data points per second , for this particular test it is basically 10 rows x 35 or so columns... i have mocked up some simulated data etc... when i try to write the 10 rows , it is very slow ... if i write all 216000 rows at once after the data , it is very fast , however , this test will run 12-18 hours , so i do not want to wait until the end to write the data ... if someone could point me in the right direction that would be great. Regards Dan
-
This question can be interpreted a bunch of ways. Can you explain with a bit more detail? Maybe show us some pictures?
-
Some additions: the name ni9871cmp is an abbreviation from NI9871 Create Methods and Properties. when looking for a way to create them, I attempter to use "pylabview" https://github.com/mefistotelis/pylabview to examine VI-s created manually and with scripting and to find their differences; first of all, the "pylabview" is said to be for LabVIEW 2014 - in fact, it couldn't handle VI-s from the LabVIEW 2018 I am using, and it couldn't handle VI-s saved for older LabVIEW versions until I specified as old as 2011; even then, when I used the pylabview to extract contents of a VI containing a valid serial port Method or Property, none of text files produced contained the port name - I found the port name in a binary file only, and it contained UUID-s in "{}", with ">>" as a separator, like "Mod1.{uuid1}>>Port2.{uuid2}" - and I found this all must be exactly the same for the port to be recognized - when I put exactly this string in the alue used for port specification, the scripting produced valid Methods and Properties; then I started to look for a function that can get such a string from my project...
- 21 replies
-
- property node
- method
-
(and 2 more)
Tagged with:
-
c ht changed their profile photo
-
Please give me some advice and help, thanks guys!
-
The point (1,1) corresponds to the value 1, the point (2,2) corresponds to the value 2, when I get the point (0.5,0.5) I need to output the value 0.5, similar to this interpolation😐
-
Firstly, thank you very much for your reply. Please forgive me for uploading the wrong image, what I meant to upload was actually this. Its name is Discrete Transfer Function Direct VI. Also could you please tell me which transfer function is expressed in the example you gave? I'm sorry. I'm probably stupid.
-
FPGA module -Implementation of control algorithms
infinitenothing replied to 王佳's topic in Real-Time
I don't quite recognize that node. It looks a bit like a delay node. Regarding the transfer function, you can always use something like the central difference to approximate the derivative and simpson's rule to approximate an integral. Once you have those, you can take the derivative of the derivative to get the higher order derivatives and so forth. Here's an example using slightly simpler approximations: -
Optimization of reshape 1d array to 4 2d arrays function
Bruniii replied to Bruniii's topic in LabVIEW General
Sure, the attached vi contains the generation of a sample 1d array to simulate the 4 channels, M measures, N samples and the latest version on the code to reshape it, inside a sequence structure. test_reshape.vi -
Optimization of reshape 1d array to 4 2d arrays function
ShaunR replied to Bruniii's topic in LabVIEW General
Post the VI's rather than snippets (snippets don't work on Lavag.org) along with example data. It's also helpful if you have standard benchmarks that we can plug our implementation into (sequence structure with frames and getmillisecs) so we can compare and contrast. e.g -
Optimization of reshape 1d array to 4 2d arrays function
Bruniii replied to Bruniii's topic in LabVIEW General
I do not have a "nice" vi anymore but the very first implementation was based on the decimate array function (I guess you are referring to decimate and not interleave) but it was slower than the other two solutions: -
X___ started following Optimization of reshape 1d array to 4 2d arrays function
-
Optimization of reshape 1d array to 4 2d arrays function
X___ replied to Bruniii's topic in LabVIEW General
Try decimate array?