why the Real Cepstrum code doesn't give an accurate figure?
Mostra commenti meno recenti
Hi, implementing a basic cepstral analysis, but there's a problem that we haven't got it; please look at ;

this's the saved voice of vowel 'e' and the basic code for real cepstrum is that;
eplot=find(abs(e)>0.01,1):length(e);
y=ifft(log(abs(fft(eplot))));
plot(y)
and getting this;

I think, we should have got a figure like that ;

What we miss? Thanks in advance.
4 Commenti
Adam
il 7 Ago 2017
find returns the indices at which the condition you give it is true. I doubt you want to perform cepstrum analysis on this.
Maybe you meant
e( eplot )
although I would put some thought into naming your variables in a more representative way in that case.
Enez Furkan Cihan
il 7 Ago 2017
Modificato: Enez Furkan Cihan
il 7 Ago 2017
Adam
il 7 Ago 2017
If you aren't taking the fft of the indices rather than the data it would help if you show tha actual code you are using because what you posted is doing an fft on index values which is equivalent to something like this:
y = ifft( log( abs( fft( 200:20000 ) ) ) );
figure; plot( y )
which gives a plot similar to yours.
Enez Furkan Cihan
il 7 Ago 2017
Modificato: Enez Furkan Cihan
il 7 Ago 2017
Risposte (0)
Categorie
Scopri di più su Cepstral Analysis in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
