LabVIEW Embedded

cancel
Showing results for 
Search instead for 
Did you mean: 

fft blackfin bf537

Hi everybody, I have some problems with the fft-analysis using the BF537 Blackfin Board: Although the FFT works (I used the debug mode to display the spectrum) pretty good, the whole program takes too much time for execusion. I think the problem is the "__Blackfin_cplxfr16_to_fr16_LV" VI. With this VI I want to get the real part of an complex value. But I need this funtion for an array, so I probably need the "__Blackfin_cplxfr16_to_fr16_LV_1d" VI. The problem is that this VI is selectable, but not executeable. An error occures when I want run the LV-program using this VI. Maybe someone can help me with my problem. Maybe when I get the "__Blackfin_cplxfr16_to_fr16_LV_1d" VI, my time problams could be solved. mfg Christian Schirmbrand
0 Kudos
Message 1 of 10
(8,912 Views)

Christian:

I did a search for this "__Blackfin_cplxfr16_to_fr16_LV" VI and could not find it on my computer. Could you please point me to where you got the VI from (where on the functions palette) or post the part of your application thata reproduces this issue. It will greatly help in troubleshooting this issue.

Regards,

Rudi N.

 

 

 

 

0 Kudos
Message 2 of 10
(8,895 Views)
You can find the VI at Functions -> Blackfin -> Blackfin Numeric -> Conversion -> BF Complex Fract16 to Fract16 ReIm. When you place this VI you can choose the 1d and 2d versions of the VI, but they do not work.
Enclosed you can find the subVI I use to manage the conversion of an array.
I have also added the error that occurs when I want to run the program with the 1d-VI.

sincerely Christian Schirmbrand
Download All
0 Kudos
Message 3 of 10
(8,865 Views)

Christian:

Thank you very much for providing me with more information to better understand the issue at hand. I was able to reproduce it on my end and see that we get a compile error when using the 1d and 2d polymorphic instances of BF Complex Fract16 to Fract16 ReIM.vi. I have filed two Corrective Action Requests (96337 & 96338) to bring this up to our R&D team. However, I am not sure about when I will hear back from them regarding this issue. In the meantime, I was able to find a workaround for you; it basically involves using for loops to index through the arrays - it is similar to what you had in your application. I tested it on my end and was able to compile the application just fine. I have attached the project files to this post, feel free to try it out and let me know if it is an adequate solution for you in the short term.

Have a great day !!!

Regards,

Rudi N.

Download All
0 Kudos
Message 4 of 10
(8,853 Views)
Hi Rudi

Sorry for my absence in the last two weeks.
These are really good news you have written to me. I hope the R&D team solves the problem as soon as possible.
Please inform me when the functioning VIs are available.

Regards,
Christian Sch.
0 Kudos
Message 5 of 10
(8,807 Views)
Christian:
 
Thank you very much for getting back with me. I do not know when I will hear back from the R&D team, but will be sure to notify you as soon as I do. In the meantime, is your development handicaped by this issue?. Is the workaround sufficient for the time being?. Please let me know so that I can address the urgency.
 
Regards,
 
Rudi N.
0 Kudos
Message 6 of 10
(8,800 Views)
Hello

I need the working VIs very urgent. I am working on a project which determines the marks in my school leaving certificate, so it is very important for me.
It would be fine if the VIs are available by the next one or two weeks, afterwards it will not help me any more.

The interim solution with the for-loop does not work for my application.

I hope the NI technicians are able to fix the problem in time.

Regards,
Christian Schirmbrand
HTBL Hollabrunn
0 Kudos
Message 7 of 10
(8,797 Views)

Christian:

Thank you very much for getting back with me. My understanding was that the workaround would allow for the same functionality. Why is it not working for you?. Please let me know.

Regards,

Rudi N.

0 Kudos
Message 8 of 10
(8,793 Views)
Christian:
 
I hope that things are going well for you. You mentioned in your last correspondence that the workaround that I suggested did not work for you. I did further research and found another workaround for you. The purpose behind using BF Complex Fract16 to Fract16 is to decompose a cluster of type complex_fract16 into its component real and imaginary parts. As you can see in the attached screenshot, you can also achieve this by unbundling each element of the input array to extract the real and imaginary parts. Please feel free to check this out and let me know if it suffices as a workaround in the mean time.
 
Regards,
 
Rudi N.
0 Kudos
Message 9 of 10
(8,743 Views)
Hello

Also this new workaround does not work.
This part of the project does just take too long. The problem is that the buffer reads and writes take to much time.
I think the only way to solve my problem is to get the 1d version of the BF_Complex_Fract16_to_Fract16. I hope the buffer access is faster in this VI.

Regards
Christian Schirmbrand
0 Kudos
Message 10 of 10
(8,668 Views)