Hi All ,
I am starting off using the C6713 DSK (latest rev D). I am having some
problems sampling and doing some signal processing in the ISR. If I
add 1) two multipliers 2) 2 FIR filters( both 31 taps) 3)
downconverter into the ISR, then it looks like the DSP is not having
enough time between sample and hence missing out a lot of samples. The
ISR I am trying out is from a DSP book for doing BPSK carrier
recovery -
interrupt void serialPortRcvISR()
{
input_signal=((short)input_sample());
#ifdef DEMOD
// output_sample(input_signal);
mixer_out = input_signal*input_signal;
//output_sample(mixer_out);
dly[0] = mixer_out;
//add band pass filter for 16Khz (2*Fc)
yn = 0;
for (i = 0 ;i < N ;i++)
{
yn += (h[i] * dly[i]);
}
filter_output= (yn >> 15); //output of 16 kHz BP filter
//output_sample(filter_output);
x = 0; //init downsampled value
if (flag == 0) //discard input sample value
flag = 1; //don't discard at next sampling
else {
x = filter_output; //downsampled value is input value
flag = 0;
}
pd = x * input_signal; //product detector
//output_sample(pd);
dly1[0] = ((short)pd); //for 4 kHz LP filter
//add low pass filter for 4Khz (Fc/2)
yn2 = 0;
for (i = 0 ;i < G ;i++)
{
yn2 += (l[i] * dly1[i]);
}
// output_sample(yn2);
m = (yn2 >> 15); //output of LP filter
m *= 100;
output_sample(m);
#else
output_sample(input_signal);
#endif
return;
}
Also I cannot get profilling going on the DSK , when profiler is
enabled a message appears that the emulator on the DSK doesnt support
profiling. Can any one provide some info on profiling on DSK? By any
means by estimation I dont think a DSP running at 225 Mhz should have
any problem doing this processing between samples (sampling rate 48
Khz), is my assumption correct ?
Any help would be appreciated.
BR
Rate