Sign in

username:

password:



Not a member?

Search motoroladsp



Search tips

Subscribe to motoroladsp



motoroladsp by Keywords

56303 | 563xx | 5680 | 56805 | 5680x | 56F80 | 56F800DEMO | 56F805 | 56f807 | 56F830 | ADC | Bootloader | Codec | CodeWarrior | CW5 | CW6 | Debugger | DSP56303 | DSP56303EVM | DSP563xx | DSP5680 | DSP56800 | DSP56807 | DSP56858 | DSP56858EVM | DSP56F803 | DSP56F805 | DSP56F807 | DSP56F80x | DSP56F826 | DSP56F827 | DSP56F8xx | EVM | FFT | Flash_over_jtag | GPIO | Interrupt | Interrupts | JTAG | LCD | Linker | MCF5307 | Metrowerks | Modulus | MSCAN | PCMaster | PWM | Quad | Rif | RTOS | SDK | SPI

Ads

Discussion Groups

Discussion Groups | Freescale DSPs | IIR filter usage with DSP56858EVM

Technical discussions about Freescale (Motorola) DSPs (including the DSP56000, DSP56300, DSP56600, 56800 DSPs).

  

Post a new Thread

IIR filter usage with DSP56858EVM - rwolfbrandt - Oct 29 21:54:00 2002



Hello,

I am new to the group as well as to the Motorola DSP56858EVM. I am
trying to implement a simple IIR filter, but it is not working
properly (i.e. the cutoff frequency is not where it is supposed to
be). If someone could help I would very much appreciate it and hope
to repay the favor in the future. Here are the specifics.

Lowpass IIR, second order, Fc = 200 Hz.
Coefficients from Matlab: b0=8192, b1=16384, b2=8192, a0=32767, a1=-
32768, a2=26241

relevant code:
//initializations
const Frac16 LP_io_filter[5] = {26241, -16384, 8192, 16384, 8192};
UInt16 nbiq=1, block_size=16;
dfr16_tIirStruct *pIIR_lp;
int i = 0;
//processing
//input is read from codec
void process(Frac16 *input_buffer, Frac16 *output_buffer)
{
if(i==0)
{
this++;
pIIR_lp = dfr16IIRCreate ((Frac16 *)&LP_io_filter[0],nbiq);
}

dfr16IIR (pIIR_lp, input_buffer, output_buffer, block_size);
}

//output is written to codec

I know it isn't working properly because I injected white noise into
the codec and viewed the output spectrum with Cool Edit Pro to see
that Fc appeared to be around 1000 Hz.

I've been struggling with this isssue for a few days now and could
really use a hand. Thank you!

Rob





(You need to be a member of motoroladsp -- send a blank email to motoroladsp-subscribe@yahoogroups.com )

RE: IIR filter usage with DSP56858EVM - Estevam Fabio-R49496 - Oct 30 10:42:00 2002

Hi Rob,

I would suggest you to go to http://e-www.motorola.com/cgi-bin/faq.cgi and write
"IIR" in the Search box. Then you can downnload a project example of how to
implement IIR filters for the 56858EVM. It also allows you to use Matlab to
generate data that can be read using SDK´s File I/O.

Best regards,

Fabio Estevam

-----Original Message-----
From: rwolfbrandt [mailto:]
Sent: terça-feira, 29 de outubro de 2002 19:54
To:
Subject: [motoroladsp] IIR filter usage with DSP56858EVM Hello,

I am new to the group as well as to the Motorola DSP56858EVM. I am
trying to implement a simple IIR filter, but it is not working
properly (i.e. the cutoff frequency is not where it is supposed to
be). If someone could help I would very much appreciate it and hope
to repay the favor in the future. Here are the specifics.

Lowpass IIR, second order, Fc = 200 Hz.
Coefficients from Matlab: b0=8192, b1=16384, b2=8192, a0=32767, a1=-
32768, a2=26241

relevant code:
//initializations
const Frac16 LP_io_filter[5] = {26241, -16384, 8192, 16384, 8192};
UInt16 nbiq=1, block_size=16;
dfr16_tIirStruct *pIIR_lp;
int i = 0;
//processing
//input is read from codec
void process(Frac16 *input_buffer, Frac16 *output_buffer)
{
if(i==0)
{
this++;
pIIR_lp = dfr16IIRCreate ((Frac16 *)&LP_io_filter[0],nbiq);
}

dfr16IIR (pIIR_lp, input_buffer, output_buffer, block_size);
}

//output is written to codec

I know it isn't working properly because I injected white noise into
the codec and viewed the output spectrum with Cool Edit Pro to see
that Fc appeared to be around 1000 Hz.

I've been struggling with this isssue for a few days now and could
really use a hand. Thank you!

Rob
_____________________________________
/groups.php3




(You need to be a member of motoroladsp -- send a blank email to motoroladsp-subscribe@yahoogroups.com )

RE: IIR filter usage with DSP56858EVM - Estevam Fabio-R49496 - Oct 30 11:13:00 2002

Hi Rob,

This can also help you. In this project
(...EmbeddedSDK\src\dsp56824evm\nos\applications\nbfilter) data is received by
codec, IIR filtered and then sent back to codec.

Hope this helps.

Best regards,

Fabio Estevam -----Original Message-----
From: rwolfbrandt [mailto:]
Sent: terça-feira, 29 de outubro de 2002 19:54
To:
Subject: [motoroladsp] IIR filter usage with DSP56858EVM Hello,

I am new to the group as well as to the Motorola DSP56858EVM. I am
trying to implement a simple IIR filter, but it is not working
properly (i.e. the cutoff frequency is not where it is supposed to
be). If someone could help I would very much appreciate it and hope
to repay the favor in the future. Here are the specifics.

Lowpass IIR, second order, Fc = 200 Hz.
Coefficients from Matlab: b0=8192, b1=16384, b2=8192, a0=32767, a1=-
32768, a2=26241

relevant code:
//initializations
const Frac16 LP_io_filter[5] = {26241, -16384, 8192, 16384, 8192};
UInt16 nbiq=1, block_size=16;
dfr16_tIirStruct *pIIR_lp;
int i = 0;
//processing
//input is read from codec
void process(Frac16 *input_buffer, Frac16 *output_buffer)
{
if(i==0)
{
this++;
pIIR_lp = dfr16IIRCreate ((Frac16 *)&LP_io_filter[0],nbiq);
}

dfr16IIR (pIIR_lp, input_buffer, output_buffer, block_size);
}

//output is written to codec

I know it isn't working properly because I injected white noise into
the codec and viewed the output spectrum with Cool Edit Pro to see
that Fc appeared to be around 1000 Hz.

I've been struggling with this isssue for a few days now and could
really use a hand. Thank you!

Rob
_____________________________________
/groups.php3


Attachment (not stored)
sweepfilt.c
Type: application/octet-stream



(You need to be a member of motoroladsp -- send a blank email to motoroladsp-subscribe@yahoogroups.com )