【发布时间】:2012-10-04 20:37:17
【问题描述】:
这是导致问题的部分。我真的找不到任何不好的东西。这部分是针对前端构造的 mel binning 功能。
原始文档在http://www.ee.columbia.edu/~stanchen/fall12/e6870/labs/lab1.html
提前感谢您的帮助!
double fmax = 0;
double w = 0; // half of the length of the bottom line of each bin of triangular
fmax = 1127*log(1+1/(1400*samplePeriod));
w = fmax/27;
double f = 0;
double fmel = 0;
double xf = 0;
double H = 0;
double sum = 0;
for (int frmIdx = 0; frmIdx < inFrameCnt; ++frmIdx)
for (int dimIdx = 0; dimIdx < outDimCnt; ++dimIdx){
sum = 0;
for (int j = 0; j < 256; ++j){
f = j/(256/20000);
fmel = 1127*log(1+f/700);
xf = sqrt(inFeats(frmIdx,2*j)*inFeats(frmIdx,2*j)+inFeats(frmIdx,2*j+1)*inFeats(frmIdx,2*j+1));
if (fmel > dimIdx*w && fmel < (dimIdx+1)*w){
H = (fmel- dimIdx*w)/w;
}
else if(fmel > ((dimIdx+1)*w) && fmel < ((dimIdx+2)*w)){
H = ( (dimIdx+2)*w-fmel)/w;
}
else {
H = 0;
}
sum = sum + xf*H;
}
outFeats(frmIdx,dimIdx)=sum;
if (doLog == true){
outFeats(frmIdx,dimIdx) = log(outFeats(frmIdx,dimIdx));
}
else{
outFeats(frmIdx,dimIdx) = outFeats(frmIdx,dimIdx);
}
}
【问题讨论】:
-
@Yazohong 我的意思是异常发生在哪里?
-
我不知道,因为我评论了这部分,不会有例外。当我取消注释这部分时,出现了异常。无论如何,我已经通过更改为 f=j/(256.0/20000.0) 解决了这个问题。谢谢!
标签: c exception point floating