LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Symbol spectrum test

Spoiler
 

Senhor_0-1655493331568.png

Hello everyone, I would like to implement the logic described in the figure below. It is one of the steps necessary for converting a time series into a symbolic series. The image is an explanation of how the logic works, in this case the partition length is l=12. attached is the partition I want to convert using the same logic. I'm new to Labview and I'm not able to proceed with this step. Any help is welcome, thanks for your attention
Download All
0 Kudos
Message 1 of 12
(2,151 Views)

Here's a quick, not checked for every case, solution. You may need to change the logic a bit.

 

Snap14.png

Message 2 of 12
(2,126 Views)

It worked for me, thank you very much for your help. A question, how can I convert these 6 Columns that appear in the image, to their respective decimal numbers? Thank you very much for your help, God bless you. 

Senhor_0-1655516117888.png

 

0 Kudos
Message 3 of 12
(2,104 Views)

Do you want the rows converted to numbers or the columns? Is the order Little Endian or Big Endian? Why do you need the convert the boolean to numbers only to convert back? The numbers you wrote in your reply do not seems correct for any case. You can use "Boolean Array to Number" on the original array or convert the numbers to an array of booleans then "Boolean Array to Number". You may need to reverse the array depending on the endianess and/or tranpose the 2D number array if you want the columns instead of the rows.

 

snip1.pngsnip2.png

Message 4 of 12
(2,099 Views)

Yes, you're right, I wrote the numbers in the figure to exemplify. I think I expressed myself badly, I don't need to re-convert the array to boolean. I need to convert each column of the array to a decimal value, and thus plot a graph. I will attach a figure to improve understanding. The second VI you made is quite promising. Thank you very much. 

 

Senhor_1-1655521359511.png

 

0 Kudos
Message 5 of 12
(2,092 Views)

 

Your VI does not have very intuitive naming, but you already start out with a boolean array ("subarray 3") and you can operate directly on that. No need to convert to an array of 0,1.

What is the max size of the boolean array? If it is is small (i.e. less than 64), you can just convert it directly to a single numeric and generate all the derived numbers using bit shifting and masking. Would be much more efficient.

 

Next time you attach a VI, make sure that all controls have some typical interesting default data. Empty arrays are not interesting. 😉

 

0 Kudos
Message 6 of 12
(2,083 Views)

@altenbach wrote:

 

Your VI does not have very intuitive naming, but you already start out with a boolean array ("subarray 3") and you can operate directly on that. No need to convert to an array of 0,1.

What is the max size of the boolean array? If it is is small (i.e. less than 64), you can just convert it directly to a single numeric and generate all the derived numbers using bit shifting and masking. Would be much more efficient.

 


Here's one possibility:

 

altenbach_0-1655539151448.png

 

 

Message 7 of 12
(2,079 Views)
  1. I would like to be able to use your code in a 1000x50 matrix, the conversion seems to work fine. I'm trying to reproduce an article. A time series was converted into a symbolic series generating a 1000x50 matrix. For each column, the logic described in the first figure must be used and then converted to decimal values, after the conversion, the number of times each column number is repeated, a graph is plotted. The same process is repeated for all subsequent columns. At the end I will have 50 plotted graphs superimposed. The result should be similar to the attached figure. If interested, the article is also attached. Sorry for the delay, thank you very much.
Download All
0 Kudos
Message 8 of 12
(2,015 Views)

It would have been nice to see the full problem you are trying to solve instead of letting us all guess wildly what the scope of the problem actually is!

 

So far we dealt with a 1D array input, but now you are talking about a 1000x50 "matrix" (My guess it is just a 2d array. This is not a linear algebra problem!). It is not clear at all how the two dimensions (rows, columns) relate to the original problem at all. Can you point to a paragraph in the pdf that talks about it? Why do you now use an orange array to represent zeroes and ones? That is 64 times too many bits!!!

 

Your new VI makes absolutely no sense! For example the first loop basically pumps hot air to just output the last value at the end (which could have been done even without a loop!)

 

If you have more than one dimension, you get an array of sizes, which seems to confuse you. We really need to know more. Do you want to analyze each row separately? Do you want to reshape the 2D array into one long 1D array with a size of the product of the dimensions (50k)?

0 Kudos
Message 9 of 12
(2,008 Views)
  • I want to solve the first example of the article, the logistic map. In this problem I have to generate the signal through the logistic map function, convert this signal (Time series) to a symbolic series (0 and 1), after this step, I need to divide the signal into 50 parts, with each part having a l= 1000 points, which would theoretically give me a matrix of 50 columns per 1000 points. The conversion base used is an L=6 (Symbol Tree). Using the formula l-(L-1) would have the number of possible new combinations, in this case 1000-(6-1) = 995 6-bit combinations. After these combinations I would convert to decimal numbers, obtaining 995 whole numbers, (All this for just one column), the next step would be to check the number of times each number is repeated and then I would have a graph, in all I would have 50 superimposed graphs, the which theoretically should be similar to figure 1 of the attached article.

 

  • ----The time series has already been converted to symbolic series and separated into 50 columns per 1000 rows.
0 Kudos
Message 10 of 12
(1,940 Views)