Warning: Rank deficient, rank = 0... means what?
    106 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Rick
 el 25 de Sept. de 2012
  
    
    
    
    
    Comentada: Clara Casado-Coterillo
 el 10 de Dic. de 2024
            Hi,
I am using the original signal FS and nbits. When i played the sound, it does have the speech, but its very noisy. I am currently doing this:
wavwrite(sig, Fs, nbits, 'Scrambled.wav');
i = 1;
k = 1;
siz = wavread('Scrambled.wav', 'size');
tot_samples = siz(1); 
while(i<=tot_samples-15)  
    y =  wavread('Scrambled.wav',[i i+15]);
    ori_sig(:,k) = y\H;                                                                           
        if i == 1;                                          
            disp('Descrambling Speech in Progress...');         
        end                            
    i = i+16;
    k = k+1;
end
recon_sig = reshape(ori_sig,size(ori_sig,1)*size(ori_sig,2),1);
sound(recon_sig);
I have this warning: "Warning: Rank deficient, rank = 0, tol = 0.000000e+00."
What does it mean?
4 comentarios
  John D'Errico
      
      
 el 10 de Dic. de 2024
				
      Editada: John D'Errico
      
      
 el 10 de Dic. de 2024
  
			Please don't post new questions as an answer to an old question. Ask your question  separately.
As far as how to solve it, you need to post sufficient code to know why it is happening. We cannot see inside your computer. If it is annoying, it is the result of a mistake you made in some way, so annoyance should not be a factor. Write better code. Or post enough code that someone can help you.
  Clara Casado-Coterillo
 el 10 de Dic. de 2024
				I did not mean any disrespect by "annoying", and it was my first post, so I ask a little bit of patience. Sorry to have asked. Won't happen again.
Respuesta aceptada
  Wayne King
    
      
 el 25 de Sept. de 2012
        
      Editada: Wayne King
    
      
 el 25 de Sept. de 2012
  
      The inverse of a NxN matrix only exists only if the matrix has rank N. In other words, the linear operator that the matrix represents is surjective.
Computing the inverse in a computer has numerical subtleties. That warning is telling you that the matrix is rank deficient.
The wavwrite warning indicates that your signal values exceed +/- 1 and are being clipped when the .wav file is written. I don't think you want that clipping, that distorts the signal. You can scale the vector in MATLAB to make sure that the values do not exceed +/- 1 for writing.
6 comentarios
  Brandon Sackett
 el 18 de Nov. de 2020
				Isn't a surjective solution valid though? I guess bijections are the "best" but is there a reason a surjective solution gets that warning? Any relation to group theory would help my brain understand the problem.
Más respuestas (1)
  Walter Roberson
      
      
 el 25 de Sept. de 2012
        I can't tell what your "H" is there, but your "y" is all zero (or close to it) for 16 consecutive samples at some point.
The "clipped" indicates that you are attempting to write samples outside the range -1 to +1.
1 comentario
Ver también
Categorías
				Más información sobre Frequency Transformations 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!





