This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AICPUREPATH_STUDIO: Spectrum Analyzer Help

Part Number: AICPUREPATH_STUDIO

Hello,

I have been trying to get the Spectrum Analyzer block working on PurePath Studio to measure different sound levels. I have not been able to get it working. Whenever I put any signal into it, I am getting a reading of 0x80 no matter what. I tried to create an extremely simple flow with a tone generator connected to a spectrum analyzer. I am still only getting 0x80. Below is some screenshots and explanation of what I have been doing.

  1. The Tone Generator is set to 1kHz with an amplitude of 0.5
  2. I download the code
  3. I change the state on the Tone Generator to Run
  4. I open the Memory Tool, change the Address to 0 and the miniDSP_D_Coef
  5. Every time I peek, it always shows 0x80.

Flow

Tone Generator Properties

Spectrum Analyzer Properties

Peek Window

I2C Read Window

Version Window

Whenever I change the amplitude, it always shows 0x80. Is there anything that I am doing wrong?

  • Hi,

    First, you need to place a band-pass filter as mentioned in the help page. You can right click on the spectrum component and select help for more information on the component.

    You can see the component interface overview under tool to see the coefficients and addresses for the components you used in the flow.

    I used the flow below as an example to show you the spectrum power with input tone from Audacity.

    Upon providing the tone and running the codes, you can view the spectrum power in the I2C Memory Tool.

    You can view it either from the peek/poke or I2C.

    In peek/poke, enter the coefficient start address (0 for spectrum) in the Address and select miniDSP_D then hit Peek.

    Use M7 to directly reflect the power in dB or the hex value shown above M7 if needed. The conversion is in the help page.

    If reading from I2C then enter the page and register address as shown:

    Regards.

  • Hello. I have added the bandpass filter. (center frequency: 1kHz; Bandwidth: 50Hz)

    I am still reading a 0x80 from the spectrum analyzer regardless of what I do. Does it work with the AIC3262 framework?

  • I don't have AIC3262 board, but I tested with AIC3268 and I'm seeing the same data as yours.

    I'm checking internally if there's additional setting.

    The work around is probably use peak instead of spectrum. 

  • Thank you for checking on that. Keep me posted on what you find out. I will see if the peak works instead.

  • I ordered the AIC3262 board and will check again when it arrives likely next week.

    I have checked the peak component works with the AIC3268 board.

    I'll let you know then.

  • Hi,

    I just received the board today and it's showing similar results.

    I suggest that you use the peak component instead.

    Regards.

  • Thanks for your help. I am trying to use the peak detector and am a little confused at how to read the output. Could you provide me an example or something of how to use and read the values from the peak detector?

  • For example, you measure the peak and use tool like Audacity to measure the peak.

    You get alpha for the peak from the help menu, remember to uncheck the hexadecimal display as shown below and paste the alpha value there.

    e.g if you give a sine tone at 0.5 amplitude, the peak output will show 0.32. You multiply 0.32 by (pi/2) and you get 0.5.

    Regards.