Why is this matlab function causing trouble in the r2013a version?
이전 댓글 표시
Hi,
I just purchased the matlab r2013a software version. The code below was running without error in the previous version I had (r2011a). But when I run it in the r2013a version I get an error message.
Please help.
function VowelFormants = FormantsExtraction (Vowel, fs)
[Vowel fs]=wavread('SymphonyVowel.wav');
n = round(fs/1000) + 2;
w = hamming(length(Vowel));
Vowel = Vowel.*w;
th = ar(Vowel,n); % auto-regressive model of voice
[b,a] = tfdata(th); % transfer function of vocal tract
[h,w] = freqz(b,a);
end
ERROR MESSAGE: Undefined function 'mrdivide' for input arguments of type 'cell'.
Error in freqz (line 101) [h,w,options] = firfreqz(b/a,options);
Error in FormantsExtraction (line 8) [h,w] = freqz(b,a); % frequency response of vocal tract
How can I fix this problem? Your help is much appreciated. Thank you.
댓글 수: 10
Walter Roberson
2013년 4월 4일
tfdata() is from the Control Systems toolbox, which does not have a freqz(). Are you trying to use freqz() from the Signal Processing Toolbox or from the DSP Toolbox ?
MatlabFan
2013년 4월 4일
편집: Walter Roberson
2013년 4월 4일
Walter Roberson
2013년 4월 4일
Are you sure? hamming() is from the Signal Processing Toolbox, unless you are using an implementation from the File Exchange.
MatlabFan
2013년 4월 4일
Walter Roberson
2013년 4월 4일
Please show the output of
which ar(0)
and of
which -all ar
which -all tfdata
This will help me trace which routines are being called.
Notes to myself:
MatlabFan
2013년 4월 4일
Walter Roberson
2013년 4월 4일
At the moment I do not understand why the ar() call did not fail, as you are not passing ar an iddata object as the documentation indicates it requires. The examples I find would have required that you used
Vowel = iddata(Vowel);
before the ar() call.
Without that iddata() call, I cannot predict what the output data type is from ar().
Walter Roberson
2013년 4월 4일
I will be eating my meal now; I will continue my research later.
MatlabFan
2013년 4월 4일
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Simulink에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!