我在 Code Composer Studio版本:6.0.1.00040 中工作 卡 LCDK C6748 ,但我认为这是一个更普遍的问题,一般与CCS有关。 我试图用LMS来消除声学回声, 这是我的.c文件的骨架:
void waitForInterrupt()
{
while (flag==0) {}
flag=0; // reach this line only when flag == 1
}
interrupt void interrupt4(void)
{
// Inputs
inputRight_micSignal = (float)input_right_sample();
// Outputs
outputLeft_referenceSignal= whiteNoiseSample;
codec_data.channel[RIGHT]= (uint16_t)outputRight_cleanedSound;
codec_data.channel[LEFT]= (uint16_t)outputLeft_referenceSignal;
output_sample(codec_data.uint);
flag = 1;
}
void main()
{
// variables decelerations
int i;
float filter_output;
// initialising filter coefficients
for (i=0 ; i<ADAPTIVE_FILT_SIZE ; i++) // initialise weights and delay line
{
w[i] = 0.0;
x[i] = 0.0;
}
// initialising the interrupt routine
L138_initialise_intr(FS_8000_HZ,ADC_GAIN_0DB,DAC_ATTEN_0DB,LCDK_MIC_INPUT);
while(1) // adaptive filtering routine
{
waitForInterrupt();
whiteNoiseSample = getPrnFiltered();
for (i = ADAPTIVE_FILT_SIZE-1; i > 0; i--) // update delay line - TDL:merge later with w loop (still make sure no magic NaN's appear)
{
x[i] = x[i-1];
}
x[0] = outputLeft_referenceSignal; // input to adaptive filter
filter_output = 0; //reseting filter output
// compute adaptive filter output
for (i = 0; i < ADAPTIVE_FILT_SIZE; i++)
filter_output += (w[i]*x[i]);
outputRight_cleanedSound = inputRight_micSignal - filter_output; // compute error
for (i = ADAPTIVE_FILT_SIZE-1; i >= 0; i--) // update weights and delay line
{
w[i] = w[i] + beta*outputRight_cleanedSound*x[i]; // w[i]+=beta*"error"*"reference"
}
出于某些原因我将数组x[]
和w[]
放入&#34;观看表&#34;
我暂停程序的运行(为了在一段时间后检查w []系数,我看到它充满了NaN&#39;而x []包含&#34;常规&#34;
值。
当我把断点放在计算w []的行内时:
w[i] = w[i] + beta*outputRight_cleanedSound*x[i]; // w[i]+=beta*"error"*"reference"
我看到流动在那里。 NaN的原因是什么? 有没有办法在&#34; wach表&#34;?
中观看w []答案 0 :(得分:1)
这三个步骤对我有用:
1)首先,您需要确保变量全局可用(例如,它们未在堆栈中分配)。
2)在尝试读取变量之前,需要暂停处理器。 (在调试视图中:工具 - &gt;调试器选项 - &gt;自动运行和启动选项)。
3)在监视窗口中启用“在任何调试器访问之前暂停目标”,然后单击“变量”窗口中的“自动更新”图标。
我上传了一个屏幕截图,上面有你需要触摸的东西。 看看这对你有帮助:)否则请查看TI的Engineer2Engineer论坛(E2E)。根据我的经验,TI的人很快回答,我得到了他们非常称职的帮助。
告诉我它对你有用:)?
FWIW我正在使用Code Composer Studio v.5.5.0.00077。