Digital signal processor

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

A digital signal processor or DSP (in English of digital signal processor) is a system based on a processor or microprocessor that has a set of instructions, hardware and software optimized for applications that require very high-speed numerical operations. Because of this, it is especially useful for signal processing and analog signal representation in real time: in a system that works in this way (real time), samples are normally received from an analog/digital converter (ADC).

History

In 1978, INTEL released the 2920 as an analog signal processor. Possessing an ADC/DAC chip with an internal signal processor, but not having a hardware multiplier, the 2920 was not successful on the market.

In 1979, AMI launches the S2811, it was designed as a peripheral microprocessor, just like the 2920 it was not very successful in the market. In the same year, Bell Labs introduces the first digital signal processor (DSP) chip, The Mac 4 Microprocessor. Then in 1980 the first complete DSPs were presented at ISSCC'80: NEC's PD7710 and AT&T's DSP1, both processors were inspired by PSTN Telecommunications research. In the same year NEC began production of the PD7710, the world's first production complete DSP.

The first DSP produced by Texas Instruments, the TMS32010, proved to be a great success. Currently the TMS320C4X designed and produced by TEXAS INSTRUMENTS, comes with certain advantages compared to the rest of the processors, since it is designed to be scalable; that is, so that it can work in parallel with other similar devices. Many of the processors are included within the CISC (Complex Instruction Set Computing) philosophy. Although some can be found on the market that operate under the RISC (Reduced Instruction Set Computing) philosophy; the latter dedicated to specific applications such as mobile telephony.

Operation

It has been said that it can work with analog signals, but the DSP is a digital system, therefore it will need an analog/digital converter at its input and digital/analog at the output. Like any system based on a programmable processor, it needs a memory to store the data with which it will work and the program it executes.

If one takes into account that a DSP can work with various data in parallel and a specific design and instructions for digital processing, it can give an idea of its enormous power for this type of applications. These characteristics constitute the main difference between a DSP and other types of processors.

To delve into its operation, the example of a filter will be used: the DSP will receive digital values or samples from the input signal, it calculates what output will be obtained for those values with the filter that has been programmed and outputs that output. A possible system based on a DSP can be the following:

Example of an antialiasing filter.

The incoming signal goes directly into an antialiasing filter to avoid frequencies higher than the one sampled by the analog-to-digital converter. Then the digital processing is carried out in the DSP module, to later be converted back to analog and give way to the output.

Architecture

A DSP is designed taking into account the most common tasks of digital processing: additions, multiplications and delays (store in memory).

DSPs abandon the classic Von Neumann architecture, in which data and programs are in the same memory area, and opt for the so-called Harvard Architecture. In a Harvard architecture there are physically separate blocks of memory for data and programs. Each of these memory blocks is addressed by separate buses (both addresses and data), and it is even possible that the data memory has a different word width than the program memory (as occurs in certain microcontrollers).

The basic elements that make up a DSP are:

  • Conversions in inputs and outputs
  • Data memory, program memory and DMA.
  • MACs: multipliers and accumulators.
  • ALU: arithmetic-logic unit.
  • Records.
  • PLL: Engaged loops in phase.
  • PWM: pulse width control modules.

Programming

A DSP can be programmed in both assembler and C. Each DSP family has its own assembly language and its own manufacturer-supplied tools. Thanks to collaboration between manufacturers, there are higher-level languages (and therefore easier and faster to use) that incorporate the ability to program DSPs, generally through automatic precompilation in C. These are the cases of LabVIEW and Matlab.

Example of a LabVIEW MathScript and Matlab compatible m scripted filter

The following example shows the programming of a digital filter in script m. The parameter "input" is a value that must be given to the program. Note that the filter coefficients are in the arrays den and num. Note that all operations are addition (or subtraction), multiplication, and memory storage (variable w).

w=[0 0 0 0 0];
y=zeros(1,length(entry));
for i=1:length(entry)
w(5)=entry(i)-den(2)*w(4)-den(3)*w(3)-den(4)*w(2)-den(5)*w(1);
y(i)= num(1)*w(5)+num(2)*w(4)+num(3)*w(3)+num(4)*w(2);
w(1)=w(2);
w(2)=w(3);
w(3)=w(4);
w(4)=w(5);
end;

Applications

The most common applications where DSPs are used are audio and video processing; and any other application that requires real-time processing. With these applications you can eliminate echo in communication lines, achieve clearer images of internal organs in medical diagnostic equipment, encrypt cell phone conversations to maintain privacy, analyze seismic data to find new oil reserves, make it possible to wireless LAN communications, voice recognition, digital audio players, wireless modems, digital cameras, and a long list of items that can be related to signal processing.

Contenido relacionado

Naval Engineering

The naval engineer deals with the design, planning, project and construction of ships, boats, and floating devices such as oil platforms and even wind farms...

Recursion (computer science)

For a more general treatment of recursive phenomena, see the article on...

Polarity (electricity)

In electrical engineering, polarity refers to the quality that makes it possible to distinguish each of the terminals of a cell, battery or other direct...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save