<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to improve i.MX RT1024 RFFT execution time too long? in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-improve-i-MX-RT1024-RFFT-execution-time-too-long/m-p/1766781#M27825</link>
    <description>&lt;P&gt;Hi&lt;BR /&gt;&lt;BR /&gt;I don't have a comparison with the RFFT but do have one with floating point FFT where the same code runs on a 120MHz Cortex m4 (K64) and the i.MX RT 1024 at 500MHz.&lt;BR /&gt;The values are for different FFT lengths and the times are for three steps in the process:&lt;BR /&gt;- converting sample to floating point buffer&lt;BR /&gt;- perform the in-place complex FFT (arm_cfft_f32()&lt;BR /&gt;- calculate the magnitude of output vectors&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE width="100%" cellspacing="0" cellpadding="6"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;FFT Length&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;FFT processing time on 120MHz K64 (m4) with SW floating point operations&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;FFT processing time on 120MHz K64 (m4) with HW FPU operations (us)&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;FFT processing time on &lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;500&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;MHz &lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;i.MX RT 1024&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; (m7) with HW FPU operations (us) with code in ITC&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;16&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;2.6/104/53&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;3.2/10.8/28&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;.3&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/1.&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/1&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;32&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;4.6/277/106&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;5.5/22.4/58&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;0.47/3.0/2.2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;64&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;8.6/641/211&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;10.7/40.4/112&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;0.85/5.5/4.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;128&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;17/1712/421&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;22/108/218&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;1.6/13.9/10.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;256&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;33/4057/841&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;43/236/433&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;3.1/33.4/16.8&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;512&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;65/10540/1683&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;88/427/865&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;5.3&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;64&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;34.6&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;1024&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;131/21170/3360&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;173/1073/1730&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;10.3&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;155&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;66&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;2048&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;260/43110/-&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;345/2439/-&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;26.4/335/34.5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;4096&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;516/63330/-&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;686/4340/-&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;-&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This should give an idea of the performance improvement expected, whereby the use of the FPU is important (notice that SW implementation on the 120MHz K64 is some 20x slower than when using its single-precision FPU). The 1024 (at 500Hz) is about 13x faster again when performing a 1024 point transformation.&lt;BR /&gt;&lt;BR /&gt;Based on this, I would expect that you can get your operation (207us on 80MHz M4) down to about 16us on the 500MHz i.MX RT 1024.&lt;BR /&gt;Make sure it is using its FPU and running the code in ITC (and data in DTC) for optimal efficiency. See this video as guide: &lt;A href="https://www.youtube.com/watch?v=fnfLQ-nbscI" target="_blank" rel="noopener"&gt;https://www.youtube.com/watch?v=fnfLQ-nbscI&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Mark&lt;BR /&gt;&lt;BR /&gt;P.S.: I also have a comparison for some FFT lengths when run on the 48MHz KL27 (Cortex-m0+), which has no FPU&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE width="100%" cellspacing="0" cellpadding="6"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;FFT Length&lt;/P&gt;&lt;/TD&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;FFT processing time on 48MHz KL27 (m0+) in us&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;16&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;11.&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;510&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;236&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;32&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;20.9/1355/471&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;64&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;78.6/3202/942&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;128&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;152/8341/1883&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;For our discounted i.MX and Kinetis stock availability see &lt;A href="https://www.utasker.com/Shop/semi.html" target="_blank" rel="nofollow noopener noreferrer"&gt;https://www.utasker.com/Shop/semi.html&lt;/A&gt;&lt;/EM&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 01 Dec 2023 02:15:36 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2023-12-01T02:15:36Z</dc:date>
    <item>
      <title>How to improve i.MX RT1024 RFFT execution time too long?</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-improve-i-MX-RT1024-RFFT-execution-time-too-long/m-p/1766426#M27809</link>
      <description>&lt;P&gt;Hi All&lt;/P&gt;&lt;P&gt;My customer had tried to use the ARM CMSIS DSP library, when use RFFT function discovery&amp;nbsp;execution time too long compare with another brand MCU Cortex-M4.&lt;/P&gt;&lt;P&gt;Another brand MCU Cortex-M4 80Mhz execution time around 207us.&lt;/P&gt;&lt;P&gt;i.MX RT1024&amp;nbsp;Cortex-M7 500Mhz&amp;nbsp;execution time is 850us~900us.&lt;/P&gt;&lt;P&gt;How to improve&amp;nbsp;execution time on&amp;nbsp;i.MX RT1024?&lt;/P&gt;&lt;P&gt;The target&amp;nbsp;execution time is 33us or less.&lt;/P&gt;&lt;P&gt;below is example code and oscilloscope result.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="code1.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/252288iA3B3E3C301B2647E/image-size/medium?v=v2&amp;amp;px=400" role="button" title="code1.png" alt="code1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="scope.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/252289i7A930C1D4D64C040/image-size/medium?v=v2&amp;amp;px=400" role="button" title="scope.png" alt="scope.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt; Thanks.&lt;/P&gt;</description>
      <pubDate>Thu, 30 Nov 2023 10:15:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-improve-i-MX-RT1024-RFFT-execution-time-too-long/m-p/1766426#M27809</guid>
      <dc:creator>Felix_ar</dc:creator>
      <dc:date>2023-11-30T10:15:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to improve i.MX RT1024 RFFT execution time too long?</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-improve-i-MX-RT1024-RFFT-execution-time-too-long/m-p/1766781#M27825</link>
      <description>&lt;P&gt;Hi&lt;BR /&gt;&lt;BR /&gt;I don't have a comparison with the RFFT but do have one with floating point FFT where the same code runs on a 120MHz Cortex m4 (K64) and the i.MX RT 1024 at 500MHz.&lt;BR /&gt;The values are for different FFT lengths and the times are for three steps in the process:&lt;BR /&gt;- converting sample to floating point buffer&lt;BR /&gt;- perform the in-place complex FFT (arm_cfft_f32()&lt;BR /&gt;- calculate the magnitude of output vectors&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE width="100%" cellspacing="0" cellpadding="6"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;FFT Length&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;FFT processing time on 120MHz K64 (m4) with SW floating point operations&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;FFT processing time on 120MHz K64 (m4) with HW FPU operations (us)&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;FFT processing time on &lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;500&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;MHz &lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;i.MX RT 1024&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; (m7) with HW FPU operations (us) with code in ITC&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;16&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;2.6/104/53&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;3.2/10.8/28&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;.3&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/1.&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/1&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;32&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;4.6/277/106&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;5.5/22.4/58&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;0.47/3.0/2.2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;64&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;8.6/641/211&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;10.7/40.4/112&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;0.85/5.5/4.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;128&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;17/1712/421&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;22/108/218&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;1.6/13.9/10.3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;256&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;33/4057/841&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;43/236/433&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;3.1/33.4/16.8&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;512&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;65/10540/1683&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;88/427/865&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;5.3&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;64&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;34.6&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;1024&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;131/21170/3360&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;173/1073/1730&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;10.3&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;155&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;66&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;2048&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;260/43110/-&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;345/2439/-&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;26.4/335/34.5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="25%"&gt;&lt;P&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;4096&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;516/63330/-&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;686/4340/-&lt;/P&gt;&lt;/TD&gt;&lt;TD width="25%"&gt;&lt;P&gt;-&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This should give an idea of the performance improvement expected, whereby the use of the FPU is important (notice that SW implementation on the 120MHz K64 is some 20x slower than when using its single-precision FPU). The 1024 (at 500Hz) is about 13x faster again when performing a 1024 point transformation.&lt;BR /&gt;&lt;BR /&gt;Based on this, I would expect that you can get your operation (207us on 80MHz M4) down to about 16us on the 500MHz i.MX RT 1024.&lt;BR /&gt;Make sure it is using its FPU and running the code in ITC (and data in DTC) for optimal efficiency. See this video as guide: &lt;A href="https://www.youtube.com/watch?v=fnfLQ-nbscI" target="_blank" rel="noopener"&gt;https://www.youtube.com/watch?v=fnfLQ-nbscI&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Mark&lt;BR /&gt;&lt;BR /&gt;P.S.: I also have a comparison for some FFT lengths when run on the 48MHz KL27 (Cortex-m0+), which has no FPU&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE width="100%" cellspacing="0" cellpadding="6"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;FFT Length&lt;/P&gt;&lt;/TD&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;FFT processing time on 48MHz KL27 (m0+) in us&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;16&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;11.&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;3&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;510&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;/&lt;FONT color="#000000"&gt;&lt;FONT face="Times New Roman, serif"&gt;&lt;FONT size="3"&gt;&lt;SPAN&gt;236&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;32&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;20.9/1355/471&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;64&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;78.6/3202/942&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;&lt;FONT face="Arial, sans-serif"&gt;&lt;STRONG&gt;128&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD width="50%"&gt;&lt;P class=""&gt;152/8341/1883&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;For our discounted i.MX and Kinetis stock availability see &lt;A href="https://www.utasker.com/Shop/semi.html" target="_blank" rel="nofollow noopener noreferrer"&gt;https://www.utasker.com/Shop/semi.html&lt;/A&gt;&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 01 Dec 2023 02:15:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-improve-i-MX-RT1024-RFFT-execution-time-too-long/m-p/1766781#M27825</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2023-12-01T02:15:36Z</dc:date>
    </item>
    <item>
      <title>Re: How to improve i.MX RT1024 RFFT execution time too long?</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-improve-i-MX-RT1024-RFFT-execution-time-too-long/m-p/1769663#M27894</link>
      <description>&lt;P&gt;Hi Mark&lt;/P&gt;&lt;P&gt;Thanks for your reply.&lt;/P&gt;</description>
      <pubDate>Wed, 06 Dec 2023 09:26:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-improve-i-MX-RT1024-RFFT-execution-time-too-long/m-p/1769663#M27894</guid>
      <dc:creator>Felix_ar</dc:creator>
      <dc:date>2023-12-06T09:26:01Z</dc:date>
    </item>
  </channel>
</rss>

