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
  • $\begingroup$ @Daniel. Perhaps the material at the following web page may help you: dsprelated.com/showarticle/938.php $\endgroup$ – Richard Lyons Feb 25 at 11:01

you can use envspectrum. a good example is shown in this example.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.