I need to compute the envelope of a spectrum in MATLAB. Is there a specific function that can do it? I saw the function

[yupper,ylower] = envelope(x,np,'peak')

but i'm not sure this one can be used in the frequency domain. The image below shows the result I would like to obtain (green line).

spectrum envelope

Any suggestion? Thank you.

  • $\begingroup$ Can you elaborate about this function [yupper,ylower] = envelope(x,np,'peak') or if possible share its code, most probably you can get the green curve by changing the order of cepstrum env. calculation. $\endgroup$ – Arpit Jain Feb 25 '16 at 12:01
  • 1
    $\begingroup$ That is a built-in MATLAB function, you can find more here. The cepstral envelope is an estimation, I'm interested in computing the real envelope. @arpit $\endgroup$ – Daniel Feb 25 '16 at 17:52
  • $\begingroup$ Thanks for the reference, I think you can use linear prediction for your calculation. this link might be helpful for you dsprelated.com/freebooks/sasp/Spectral_Envelope_Examples.html $\endgroup$ – Arpit Jain Feb 26 '16 at 4:21
  • $\begingroup$ Thanks for the link, I think I'll try the LPC method. Many thanks for your answers! @arpit $\endgroup$ – Daniel Feb 26 '16 at 17:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.