<?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: Audio Spectrum Analyzer with Freescale GT60 LCD in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Audio-Spectrum-Analyzer-with-Freescale-GT60-LCD/m-p/165722#M10473</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From user's viewpoint it is real time. Nice job, Camilo!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 31 Oct 2011 23:06:40 GMT</pubDate>
    <dc:creator>celsoken</dc:creator>
    <dc:date>2011-10-31T23:06:40Z</dc:date>
    <item>
      <title>Audio Spectrum Analyzer with Freescale GT60 LCD</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Audio-Spectrum-Analyzer-with-Freescale-GT60-LCD/m-p/165718#M10469</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style=";"&gt;&lt;SPAN style=";"&gt;Using a microcontroller&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.freescale.com%2F" rel="nofollow" target="_blank"&gt;&lt;SPAN style=";"&gt;&lt;SPAN style=";"&gt;Freescale&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style=";"&gt;&lt;SPAN style=";"&gt;HCS08 family (8 bits) and ANSI C language, configure the internal ADC converter to take a sample every 25US (40KHz) and so apply a 64-point FFT in real time (thanks to the internal bus microcontroller running at 20MHz), resulting in 32 levels representing frequencies from 20Hz to 20kHz with a range of 312.5Hz each level.&lt;/SPAN&gt; &lt;SPAN style=";"&gt;As we have a display of 16 x 2 characters, we made an average of the value of contiguous levels in order to obtain results in 16 levels and to represent them as bars&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;look at my blog (future updates)&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fcandelectronica.blogspot.com%2F" rel="nofollow" target="_blank"&gt;http://candelectronica.blogspot.com/&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Sep 2011 05:12:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Audio-Spectrum-Analyzer-with-Freescale-GT60-LCD/m-p/165718#M10469</guid>
      <dc:creator>CamiloA_</dc:creator>
      <dc:date>2011-09-08T05:12:05Z</dc:date>
    </item>
    <item>
      <title>Re: Audio Spectrum Analyzer with Freescale GT60 LCD</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Audio-Spectrum-Analyzer-with-Freescale-GT60-LCD/m-p/165719#M10470</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Awesome!&lt;/P&gt;&lt;P&gt;Is thesource code available?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Sep 2011 06:17:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Audio-Spectrum-Analyzer-with-Freescale-GT60-LCD/m-p/165719#M10470</guid>
      <dc:creator>JimDon</dc:creator>
      <dc:date>2011-09-08T06:17:46Z</dc:date>
    </item>
    <item>
      <title>Re: Audio Spectrum Analyzer with Freescale GT60 LCD</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Audio-Spectrum-Analyzer-with-Freescale-GT60-LCD/m-p/165720#M10471</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;As an audio guy, I am impressed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If anybody had asked me if a S08 was fast enough to implement a spectrum analyzer, I would have said "no way". I would never have guessed you could execute a 64-point FFT in real-time. How often is the FFT computed? Is the FFT code available somewhere?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Sep 2011 06:42:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Audio-Spectrum-Analyzer-with-Freescale-GT60-LCD/m-p/165720#M10471</guid>
      <dc:creator>rocco</dc:creator>
      <dc:date>2011-09-08T06:42:44Z</dc:date>
    </item>
    <item>
      <title>Re: Audio Spectrum Analyzer with Freescale GT60 LCD</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Audio-Spectrum-Analyzer-with-Freescale-GT60-LCD/m-p/165721#M10472</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rocco, hi guys.&lt;/P&gt;&lt;P&gt;The application of Camilo is tricky and his short video is really impressive but the answer to the Rocco's question is still "no". A HC9S08 cannot perform 40kHz sample 8bit FFT "real time" at any clock speed up to 40 or 50MHz (20/25MHz busclock).&lt;/P&gt;&lt;P&gt;Camilo instead shown it may perform a "live" Audio Analyzer with 20 kHz band and 64x8bit samples giving 16 or 32 frequency output lines up to 20kHz windowed or unwindowed.&lt;/P&gt;&lt;P&gt;To do that you do not either need a lot of resources: any small 9S08 MCU with at least 512B RAM and 8kB flash can do the job at 20MHz busclock or even at 10MHz, so much less powerful than a 9S08GT60 at full speed. I guess than a 1.12$ (Digikey/100pcs) 16 pin 9S08SH8CTG running at 20MHz or even a less powerful 0.88$ (Digikey/100pcs) 16 pin 9S08QB8CTG running at 10MHz could do the job, in the same electrical diagram of Camilo, with some pins left unused... I will explain how.&lt;/P&gt;&lt;P&gt;-------------------&lt;/P&gt;&lt;P&gt;Performing a basic 256x8bit FFT on a 20MHz BusClock 9S08 MCU requires at least:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;6.4ms sample time (256 samples, 40ks/s)&lt;/LI&gt;&lt;LI&gt;~25ms FFT calculation elapsing time (full 8 bit signed precision, 37-40dB dynamic range on output)&lt;/LI&gt;&lt;LI&gt;512B RAM (+256Bytes if the output array should not cover the input data which isn't usually required)&lt;/LI&gt;&lt;LI&gt;&amp;lt;1kB FLASH ROOM, including tables&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;To perform the same duty with 64 samples, some process and LCD display on 2x16ch display you'll need approx (same clock):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;1.6ms sample time (64 samples, 40ks/s)&lt;/LI&gt;&lt;LI&gt;~5ms (25/(2*2*(8/7)*(7/6)) FFT calculation elapsing time for 32 sample output frequency lines 0-20kHz&lt;/LI&gt;&lt;LI&gt;~1ms output processing and formatting&lt;/LI&gt;&lt;LI&gt;~2.5ms LCD display&lt;/LI&gt;&lt;LI&gt;256B RAM keeping separate 4x64B input, output and elaboration vectors&lt;/LI&gt;&lt;LI&gt;&amp;lt;1kB FLASH ROM, including tables for FFT and &amp;lt;2kB for the whole application&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;From this calculation you may easily see you need some 10ms for a full upgrade of the display. Being the display vs. sample time some 4:1 this is not "real time" (there is some 3/4 of the time in which the input is ignored) but a real "live" application which is not practically discernible from "real time" for our purpose. I do not take in count massive processing during the ADC sample time which cannot anyway make a real difference (less than 10%).&lt;/P&gt;&lt;P&gt;From my experience there is not a visible improvement on upgrading an alphanumeric display more than 10 times/s, i.e.. every 100ms. From this derives that even slowing the busclock to 10MHz or even 5MHz you may be able to display 20 or 10 screens/s with "a lot of time" to perform other tasks. Obviously the sample time would be only 1/35 or 1/70 of the "real time" but nevertheless for practicaly anybody you would not see any difference from 100%.&lt;/P&gt;&lt;P&gt;All assumptions are valid for good Assembly program. I do not know how C would perform, but I would not be surprised that it was (badly?) worse if not &lt;U&gt;very well&lt;/U&gt; designed...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Salvatore&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Oct 2011 22:35:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Audio-Spectrum-Analyzer-with-Freescale-GT60-LCD/m-p/165721#M10472</guid>
      <dc:creator>Encoder</dc:creator>
      <dc:date>2011-10-31T22:35:10Z</dc:date>
    </item>
    <item>
      <title>Re: Audio Spectrum Analyzer with Freescale GT60 LCD</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Audio-Spectrum-Analyzer-with-Freescale-GT60-LCD/m-p/165722#M10473</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From user's viewpoint it is real time. Nice job, Camilo!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Oct 2011 23:06:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Audio-Spectrum-Analyzer-with-Freescale-GT60-LCD/m-p/165722#M10473</guid>
      <dc:creator>celsoken</dc:creator>
      <dc:date>2011-10-31T23:06:40Z</dc:date>
    </item>
  </channel>
</rss>

