Why my mel filters do not overlap on each other?
    10 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    cat0530
 el 18 de Mzo. de 2016
  


The 26 filters should overlap on each other. Could someone help me with this?
1 comentario
  Star Strider
      
      
 el 18 de Mzo. de 2016
				I’ve never used or designed MEL filters. I refer you to: Mel Frequency Cepstral Coefficient (MFCC) tutorial since it seems to be a comprehensive discussion. Compare your code with that discussion.
Respuesta aceptada
  Rick Rosson
    
 el 20 de Mzo. de 2016
        
      Editada: Rick Rosson
    
 el 21 de Mzo. de 2016
  
      I think the problem is in the second elseif statement:
   elseif (k>=f_range(m+1) && k<=f_range(m))
These two sub-conditions are mutually exclusive, so this condition is always false. As a result, the line after this condition, which creates the right half of the triangle, is never executed.
Please try:
   elseif (k>f_range(m) && k<=f_range(m+1))
That being said, there are much easier and more efficient ways to create the filter bank in MATLAB, for example:
- logical indexing
- the tripuls function
2 comentarios
  Rick Rosson
    
 el 21 de Mzo. de 2016
				You need to create 2 extra points in f_range. So replace the following two lines:
   %Need 26 points spaced linearly between minfreq and maxfreq
   f_range = linspace(minMel, maxMel, nfilts);
with these two:
   %Need 28 points spaced linearly between minfreq and maxfreq
   f_range = linspace(minMel, maxMel, nfilts+2);
Más respuestas (1)
  Rick Rosson
    
 el 20 de Mzo. de 2016
        
      Editada: Rick Rosson
    
 el 20 de Mzo. de 2016
  
      2 comentarios
  Star Strider
      
      
 el 20 de Mzo. de 2016
				I’m not certain that will work. When I looked up the MEL filters (that are designed to emulate cochlear frequency responses), the pass-bands were intersecting and looked something like: ...XXXXX...
Ver también
Categorías
				Más información sobre Time-Frequency Analysis en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


