Sign in

username:

password:



Not a member?

Search Comp.Arch.Embedded



Search tips

embedded by Keywords

68HC11 | 68HC12 | 8051 | 8052 | ARM | ARM7 | Asic | AT91 | AT91RM9200 | Atmel | AVR | AVRStudio | Bootloader | CFP | CompactFlash | Cygnal | Cypress | Dataflash | DSP | eCos | EEPROM | Embedded Linux | Emulator | Endian | Ethernet | Firewire | FPGA | Freescale | GCC | GNUARM | GSM | H8 | HDLC | I2C | Infineon | Interrupts | Java | JTAG | LCD | LED | LPC2000 | MCU | Microchip | MMC | MPLAB | MSP430 | PC104 | PCB | PCI | PCMCIA | PowerPC | Rabbit | RS232 | RS485 | RTOS | SBC | SDRAM | Sensor | SPI | STK500 | UART | UML | USART | USB | Verilog | VHDL | VxWorks | Xilinx

Ads

Discussion Groups

There are 1 messages in this thread.

You are currently looking at messages 0 to 1.

C6713 DSK issue - ratemonotonic - 08:51 01-10-08

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