Why my mel filters do not overlap on each other?
    10 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    cat0530
 am 18 Mär. 2016
  
    
    
    
    
    Bearbeitet: cat0530
 am 21 Mär. 2016
            

The 26 filters should overlap on each other. Could someone help me with this?
1 Kommentar
  Star Strider
      
      
 am 18 Mär. 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.
Akzeptierte Antwort
  Rick Rosson
    
 am 20 Mär. 2016
        
      Bearbeitet: Rick Rosson
    
 am 21 Mär. 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 Kommentare
  Rick Rosson
    
 am 21 Mär. 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);
Weitere Antworten (1)
  Rick Rosson
    
 am 20 Mär. 2016
        
      Bearbeitet: Rick Rosson
    
 am 20 Mär. 2016
  
      2 Kommentare
  Star Strider
      
      
 am 20 Mär. 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...
Siehe auch
Kategorien
				Mehr zu Time-Frequency Analysis finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


