Comparing NXT with RCX
created : 20/01/07 last update : 19/08/09
Meanwhile the NXT firmware and the NI toolkit for the LEGO NXT have improved so much that this page is no longer up to date. Please consult THIS PAGE for completion.
The idea was to get an impression about the features that may be unlocked from NXT using the LabVIEW toolkit in a comparative experiment. So we programmed both the RCX and NXT to compute the Digital Fourier Transform on a dataset of 128 points using the RFT algorithm. The virtual instrument test_stack_vfft_i32.vi from RFT254.llb library was loaded to the RCX and run. RFT_nxt_1_0.vi from nxt_rft.llb library was downloaded to the NXT and also run. (The look-up table has previously been created with Generate_LUT.vi from PC_RFT.llb.) The physical setup was the following, once with the RCX, once with NXT:
NXT program is quite compact, but the resulting durations are not impressive !
Here the inner loop:
With ULTIMATE ROBOLAB uploaded data:
With ULTIMATE ROBOLAB "Interrogate RCX" uploaded twiddle factors:
|NXT (LabVIEW toolkit)||RCX (ULTIMATE ROBOLAB)|
|Program size||6,9kB||2,5kB (task 1 and subroutines only)|
|Number of data||128||128|
|Number of harmonics||25||25|
|Total time (sampling + DFT)||11,9 seconds||0,52 seconds|
|Ratio||-||22,88 times faster than NXT !!!!!|
|Notes||-||Complete basic system running with interrupt handling and back ground handler (sensors, sound, display, IR etc.)|
|Additional test||no floating point variables||1,8 seconds with test_stack_vfft.vi and single precision IEEE standard floating point variables !!!!|
Hmmm !!! Of course we were certain to compare "apples and pears" - a Luxembourg expression "Äppel mat Bire vergläichen !" - But, we never thought that we would have such a slow NXT firmware. OK, some troubles might be in the NI G-compiler too. Guys, you have to improve that ! Where is the trouble?
A second experiment has been done to check the quality of the algorithm. Therefore another shaft-encoder has been used producing a more complex signal.