Hi,
I have OMAPl137, and I have seen the diferent examples about aic3106. At the moment I have done a Bypass, but when a want, for example, build a IIR filter, the music have very distorsion (the filter is stable, and I have proved with Matlab). I think that the problem is the type of data. My question is, if I have the sample in Int32, in the next step is my sample is in float (to implementation a IIR filter with float coeficients), what I do after the filter or other operation? My code is it:
Int32 sample_data, yi;
float yf;
while(1)
{
while ( ! ( MCASP1_SRCTL0 & 0x20 ) );
sample_data = MCASP1_RBUF0_32BIT;
yf = sample_data; //Bypass
while ( ! ( MCASP1_SRCTL5 & 0x10 ) );
MCASP1_XBUF5_32BIT = yf;
}
This code is ok, but when I put an operation, have more distorsion:
while(1)
{
while ( ! ( MCASP1_SRCTL0 & 0x20 ) );
sample_data = MCASP1_RBUF0_32BIT;
yf = 1.1*sample_data; //////////////////////////
while ( ! ( MCASP1_SRCTL5 & 0x10 ) );
MCASP1_XBUF5_32BIT = yf;
}
And if I put a IIR filter, I hear nothing.
I'd wish an example.
Thanks.