2014-04-25 6 views
1

클리핑 기능이있는 자동 상관 기능을 사용하여 신호의 피치를 감지하려고합니다.
클리핑 기능을 코딩하는 데 문제가 있습니다. wav 파일의 진폭을 클립하는 방법은 무엇입니까?

나는 노력이 : 나는 잘린 부분을 플롯 할 때

[sig Fs]= wavread('sound.wav'); 

N = length(sig); 

for i=1:N 
    if sig > cl 
     sigp(i) = sig(i)-cl(i); 

    elseif sig < -cl 
     sigp(i) = sig(i)+cl(i); 
    else 
     sigp(i) = 0; 
end 

그러나 프로그램이 천천히, 그리고 빈 플롯을 반환합니다.

아이디어가 있으십니까?

답변

0

조건절에서 sig 배열 색인을 만드는 것을 잊었습니다. 아래 참조 :

[sig Fs]= wavread('sound.wav'); 

N = length(sig); 

for i=1:N 
    if sig(i) > cl 
     sigp(i) = sig(i)-cl; 
    elseif sig(i) < -cl 
     sigp(i) = sig(i)+cl; 
    else 
     sigp(i) = 0; 
end 

이 질문에 대한 답변이없는 경우 알려 주시면 다른 기회를 알려 드리겠습니다.

+0

네, 그게 문제였습니다. 고마워요. – Sams

+0

@Sams 멋지 네요! 그것이 당신이 필요로하는 것이라면 제 대답을 수락하는 것을 잊지 마십시오. 건배! –

관련 문제