Skip to main content

DSP Processors

  • 4590 Accesses

Abstract

DSP processors play a vital role in many consumer, communication, medical, and industrial products like mobile phones, codecs, radar analysis systems. DSP processors are specially designed microprocessors for DSP applications. In comparison with microprocessors, DSP processors are faster and energy efficient. This chapter deals with an evolution of DSP processors, key features of various DSP processors, internal architectures, addressing modes, and important instruction sets of Texas TMS320C54xx, and Analog Devices TigerSHARCTSxxx DSP processors, followed by implementation examples.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-981-10-8081-4_13
  • Chapter length: 29 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   64.99
Price excludes VAT (USA)
  • ISBN: 978-981-10-8081-4
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   84.99
Price excludes VAT (USA)
Hardcover Book
USD   119.99
Price excludes VAT (USA)
Fig. 13.1
Fig. 13.2
Fig. 13.3
Fig. 13.4
Fig. 13.5: Architecture of TMS320C67xx Digital Signal Processor
Fig. 13.6
Fig. 13.7
Fig. 13.8
Fig. 13.9
Fig. 13.10
Fig. 13.11
Fig. 13.12

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to K. Deergha Rao .

Appendices

Appendix-A

C code for implementation of lowpass FIR filter on Texas Instruments TMS320C67xx DSP Processor

#include  < math.h> #include  < stdio.h> #include  < stdlib.h >    #include  < time.h> #include “inputs1.h”                                // this header file contains input data and filter coefficients #define   N                             14887         // length of the input data #define   FILTER_LENGTH      114           // order of the filter float output_filter[N];  void main() {  unsigned int i;    unsigned int j,input_length;  double temp;  FILE *fp;  fp = fopen(“dontworyrecccs.dat”,“w”);                input_length = N+FILTER_LENGTH-1;                 for(i = (FILTER_LENGTH-1);i < input_length;i ++)                         {                               temp  =  0.0;                               for(j = 0;j < FILTER_LENGTH;j++)                               {                                               temp  += (filter_coefficients[j] * (*(input_filter  +  i - j)));                               }                               *(output_filter  +  i - FILTER_LENGTH  +  1)  =  (float)temp;                 }                 input_length  =  input_length - FILTER_LENGTH;                    for(i = 0;i < 14886;i ++)                 fprintf(fp, “%f\n”, output_filter[i]);     fclose(fp);

Appendix-B

C code for implementation of narrowband FIR bandstop filter on TigerSHARC (TS201) Processor

#include  < stdio.h> #include  < stdlib.h> #include < defts201.h> #define   N           4002 //   // number of data points in input #define   FILTER_LENGTH      312  // coeffcients must be multiple of 4 float input_filter[N + FILTER_LENGTH-1]  =  {                   #include “input.dat”                   }; // input.dat and coefficients.dat files should be in the project folder // In these files values should be seperated by comma, float filter_coefficients[FILTER_LENGTH];  =  {                   #include “coefficients.dat”                   }; float output_filter[N];                 void main(void) {                 unsigned int i,j,input_length;                 double temp;                 input_length = N+FILTER_LENGTH-1;                 for(i = (FILTER_LENGTH-1);i < input_length;i ++)                         {                                temp  =  0.0;                                for(j = 0;j < FILTER_LENGTH;j ++)                                {                                                temp  += ((double)filter_coefficients[j] * (*(input_filter  +  i - j)));                                }                                *(output_filter  +  i - FILTER_LENGTH  +  1)  =  (float)temp;                 }                 input_length  =  input_length - FILTER_LENGTH;  } /*********************End of the Program*************************************/

Rights and permissions

Reprints and Permissions

Copyright information

© 2018 Springer Nature Singapore Pte Ltd.

About this chapter

Verify currency and authenticity via CrossMark

Cite this chapter

Rao, K., Swamy, M. (2018). DSP Processors. In: Digital Signal Processing. Springer, Singapore. https://doi.org/10.1007/978-981-10-8081-4_13

Download citation