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 from RFT254.llb library was loaded to the RCX and run. from nxt_rft.llb library was downloaded to the NXT and also run. (The look-up table has previously been created with 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:

Program size 6,9kB 2,5kB (task 1 and subroutines only)
Variable type I32 I32
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 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.

RetourMain Page