I am doing a project called "digitally tunable hearing aid" using TMS320C6713 DSK.I need your help.
In this project the human audible frequncy range(40hz-4khz) is divided into 7 bandpass filters.any ne or two of these filter have to be selected and digitally processed.these filters are designed using fdatool in MATLAB and coefficints are exported to CCS as .h files.Here i have written my c-code:
---------
#include "C:\CCStudio_v3.1\C6000\dsk6713\include\DSK6713_AIC23.h"
Uint32 fs=DSK6713_AIC23_FREQ_16KHZ;
#define DSK6713_AIC23_INPUT_MIC 0x0015
#define DSK6713_AIC23_INPUT_LINE 0x0011
Uint16 inputsource=DSK6713_AIC23_INPUT_LINE;
#include "C:\Documents and Settings\HDL&DSP\Desktop\New Folder\bpf63.h"
#include "C:\Documents and Settings\HDL&DSP\Desktop\New Folder\bpf125.h"
#include "C:\Documents and Settings\HDL&DSP\Desktop\New Folder\bpf250.h"
#include "C:\Documents and Settings\HDL&DSP\Desktop\New Folder\bpf500.h"
#include "C:\Documents and Settings\HDL&DSP\Desktop\New Folder\bpf1000.h"
#include "C:\Documents and Settings\HDL&DSP\Desktop\New Folder\bpf2000.h"
#include "C:\Documents and Settings\HDL&DSP\Desktop\New Folder\bpf4000.h"
short dly1[N1],dly2[N2],dly3[N3],dly4[N4],dly5[N5],dly6[N6],dly7[N7];
int yn,y1,y2,y3,y4,y5,y6,y7;
short gain=10;
short filter_select=1;
const short h1[N1],h2[N2],h3[N3],h4[N4],h5[N5],h6[N6],h7[N7];
interrupt void c_int11()
{
short i,j,in_sample;
in_sample= input_sample();
switch(filter_select)
{
case 1:
dly1[0]=in_sample;
for(i = 0;i<N1;i++)
{
y1+= (h1[i]*dly1[i]);
}
for(j= N1-1;j>0;j++)
{
dly1[j] = dly1[j-1];
}
break;
case 2:
dly2[0] = in_sample;
for(i= 0;i<N2;i++)
{
y2+=(h2[i]*dly2[i]);
}
for(j= N2-1;j>0;j++)
{
dly2[j] = dly2[j-1];
}
break;
case 3:
dly3[0] = in_sample;
for(i= 0;i<N3;i++)
{
y3+=(h3[i]*dly3[i]);
}
for(j= N3-1;j>0;j++)
{
dly3[j] = dly3[j-1];
}
break;
case 4:
dly4[0] = in_sample;
for(i= 0;i<N4;i++)
{
y4+=(h4[i]*dly4[i]);
}
for(j= N4-1;j>0;j++)
{
dly4[j] = dly4[j-1];
}
break;
case 5:
dly5[0] = in_sample;
for(i= 0;i<N5;i++)
{
y5+=(h5[i]*dly5[i]);
}
for(j= N5-1;j>0;j++)
{
dly5[j] = dly5[j-1];
}
break;
case 6:
dly6[0] = in_sample;
for(i= 0;i<N6;i++)
{
y6+=(h6[i]*dly6[i]);
}
for(j= N6-1;j>0;j++)
{
dly6[j] = dly6[j-1];
}
break;
case 7:
dly7[0] = in_sample;
for(i= 0;i<N7;i++)
{
y7+=(h7[i]*dly7[i]);
}
for(j = N7-1;j>0;j++)
{
dly7[j]=dly7[j-1];
}
break;
default:
yn=dly1[0];
}
yn=y1*gain+y2*gain+y3*gain+y4*gain+y5*gain+y6*gain+y7*gain+dly1[0];
output_sample(yn>>15);
return;
}
void main()
{
short i;
comm_intr();
for(i=0;i<N1;i++)
dly1[i] = 0;
for(i=0;i<N2;i++)
dly2[i] = 0;
for(i=0;i<N3;i++)
dly3[i] = 0;
for(i=0;i<N4;i++)
dly4[i] = 0;
for(i=0;i<N5;i++)
dly5[i] = 0;
for(i=0;i<N6;i++)
dly6[i] = 0;
for(i=0;i<N7;i++)
dly7[i] = 0;
while(1);
}
----------
I build the project it doesn't have an error except these warrnings :
warning: creating output section .vecs without SECTIONS specification warning: creating .stack section with default size of 400 (hex) words. warning: Detected a near (.bss section relative) data reference to the symbol
i am not getting any output. please help.i will be grateful to you if you make it as soon as possible.