113D_1_EE113D_CR1_IntroToDSP - Electrical Engineering 113L...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Electrical Engineering 113L Table of Contents Introduction to DSP Dig ital versus Analog Signal Processing Hard ware versus Software Digital Signal Processing Implementation From Analog to Digital Anal og Interface Circuit Assem bly Language Programming Internal Register Format Digital Waveform Generators Filtering Demonstrations FIR Digital Filtering Applications of DSP Modulation Techniques Speech Synthesis The Frequency Dom ain Fast Fourier Transform 1 25 25 45 67 71 79 85 89 119 121 125 149 153 167 197 u4D University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP LECTURE 1 INTRODUCTION TO DSP OBJECTI VES This lecture should achieve the following: • • • • Explain the design ideas behind a specialized digital signal processing architecture Explain the benefits of DSP Introduce the TMS320C5x architecture Introduce some applications of nsp LECTURE 1 1-1 University of Hertfordshi re STUDENT'S GUI DE INTRODUCTION TO DSP WHAT IS DSP ? AN A LO G COMP UTE R 9 - BAC . OUTPU T -----.. ~ .> ;,;.~ DIGIT AL COM P U TER 0 ,-0 WNN DSP YNM 10 10 1001 Our environment is full of signals that we sense, such as sound, temperature and light. In the case of sound, our ears convert the se signals into electrical impulses, which are sent to the brain. We can then ana lyze properties such as amplitude, frequency and phase to categorize the sound and determine its direction. We may recognize it as music, speech, a dog's bark, a pneumatic drill, etc. Our bodies are equipped with five kinds of sensors: hearing, touch, taste, smell and sight; and an extremely powerfu l "computer" - the brain - to process them all. As humans, we can make most decisions for ourselves, but there are many cases when we may want a machine to make decisions based on its own perception of environmental variables. It is fairly easy to equip a machine with sensors that convert these variables to an electrical signal. The difficulty arises when we need an electronic computer to make decisions like our own brain . Our brain works with electrical representations of continuously variable signals such as sound intensity, pressure, etc. These continuously variable signals are known as analog signals, and the brain, which processes these signals, could be considered an extremely powerful analog computer. Although we can build analog computers, we are much more used to digital computers such as the PC. These machines are excellent tools for processing numbers in database and spreadsheet applications, but are not particularly good at processing the continuously variable signals found in the real world. Our ears, eyes and skin convert the signals that they receive into electrical energy, which is passed through our nervous system to our brain. We can use electronic sensors to convert pressure, temperature, sound, etc. into electrical sign als in the same way, but we must still change these signals into numb ers to be passed through a digital computer for processing. This process is ca lled Analog-to-Digital Conversion. LECT URE 1 1-2 ~I TEXAS NSlRUMENTS 2 u~ UI' University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP The processing which we apply to a signa l is carried out by a digital computer, and is thus called Digital Signal Processing (DSP). Modem DSP systems typically use a single-chip microcomputer that is specially designed for digital signal processing. These special chips are known as Digital Signal Processors (DSPs) . Once the signal has been processed by the DSP chip, it is still in the form of a seque nce of numbers, and must be converted back to an analog signal before being passed to an actuator (e.g., a loud speaker). This process is called Digital-to-Analog Conversion. The complete conversion and processing chain is shown in the diagram on the facing page. This may seem a lot of trouble for what appears to be a fairly simply task. The misconception here is that signal processing is simple. Although it is possible to do some processing with analog electronics and omit the conversion stages, the capabilities of analog signal processing are limited. We will see later in these lectures why we put ourselves to the trouble of doing things digitally. LECTURE 1 1-3 '!IJ 1EXAs INSIRUMENTS 3 University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP A TYPICAL DSP SYSTEM ...---.~ MEMORY • • • DSP CHI P MEMORY CO N V ERTERS (O PTI O NA L ) • ANALOG TO DIGITAL • DIGITAL TO ANA LOG CO M M UNICA T IO N PORTS • SERIAL • PARALLEL ...----1A DC DSP • ? ...----1~ PORTS A typical DSP system is shown above. Not all DSP systems requi re all of these sections. For instance, DSPs are increasingly used as mathematica l accelerators for graphics applications, in which case, there would be no need for any converters. Likewise, the DSP chip itself may have sufficient memory within the chip such that external memory may not be needed. • DSP Chip A DSP chip can contain many different hardware elements. Some of the more common features of a typical DSP chip are listed below: Central Arithmetic Unit This is the part of the DSP which performs the major arithmetic functions such as multiplication and addition, and makes the DSP so quick compared with traditional processors. Auxiliary Arithmetic Unit DSPs frequently have an auxiliary arithmetic unit. This is used to perform other mathematical calculations and logical operations while the main arithmetic unit is occupi ed. Serial Ports DSPs normally have serial ports for high-speed communication with other DSPs and data converters. These serial ports, rather than parallel links, reduce address decoding problems in DSPs. LECTURE 1 1-4 '!!1TEXAS INSlRUMENfS 4 u~ University of Hertfordshire STUDEN T'S GUIDE INTRODUCTION TO DSP • Memory The DSP system may also require externa l memory. Many DSPs now have sufficient memory on-chip to run all of their programs within main memory. This means that in theory they don' t need external memory. However, in practice, the program to be run is normal ly held in external memory, and then downl oaded onto the DSP when the syste m is started . If external memory is needed, there will have to be two memory chips for any DSPs using the Harvard Architecture - one for hold ing the program and one for holding the data. • Co nvert ers Converters are require d to conv ert " real world " analog signals into information that a computer can understand, and to convert computer signals into signals that the rest of the world can understand . To con ve rt an analog sign al toa digital signal that a computer can understand, we use an Analog-to-Digital Converter (ADC). Not surprisingly, we use a Digital-to-Analog Converter (DAC) to do the opposite . • Ports Communication ports are the necess ary communication channels for a DS P system where raw information comes in and processed information is fed to the outs ide world. For example, a DSP system could output some information to a printer through a port, the most common of which are serial ports and parallel ports. A serial port accepts a serial stream of data and converts it to processor format. When the processor wishes to output serial data, the port accepts processor data and converts it to a serial stream. For example, pes use serial ports for modem connections. A parallel port does the same job except the output and input are in parallel format , The most com mon ex ample of this type of port is the printer port on PCs. LECTURE 1 1-5 INSIRUMENTS ~ 1ExAs 5 University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP MULTIPLY AND ADD A DD 1+2 MUL T1PLY =3 + 0001 001 0 00 1 1 2°4 =8 SHIF T LE FT TWI C E ~ i CJ ? MO ST COMMON OPE R A TION IN I A"' S oC + 0 I osp MU L TI PLY OP E R ATIO N T Y P IC A L L Y 70 CL O C K CYCLE S WIT H O R D I N A RY P R O C E S S O RS WE NEED TO MAC IN ONE CYC L E E "' FOG + A !!.ULT I P L Y . ~DO AND A£CUMULATE MAC INSTRU CTIO N Dig ital signal processing involves many calcu lations of the form: A =B*C + D This simple equation involves a multiply operation followed by an add operation. The addition function is quite simple for conventional computers, and can be performed in a single clock cycle. The same is true of subtraction. Most computers subtract by negatin g one number and then adding it to the other. However, a multiply operation takes a long time on a Complex Instruction Set Comp uter (CISC) or a Reduced Instruction Set Comput er (RlSC). Both of these computers perform multiplications by a series of shifts and additions. For instance, if we want to multiply a number by 4, we shift the multiplicand twice to the left. If we need to multiply by 5, we left-shift the multiplicand twice and add the result to the original number. On a CISC, this is performed in a single instruction. However, the instruction itself is converted to a series of smaller "microcode" instructions, which are then executed. Therefore, although the multiplication is only one instruction, it will take the computer many clock ticks to execute. The RIse might not have a single instruction to perform the multiplication function, but it uses a series of simple instructions to execute the multiplication. Although the RISC takes more instruction, it takes a similar amount of clock ticks to execute. Neither of these architectures are very efficient at perform ing multiplication, and they become even worse when we multiply "real" numbers such as 1t (3.14159) as opposed to the integer multiplication in the above example. The processor may take several hundreds of clock ticks to implement such a calculation. What we need is a machine which can perform a multiply and an add in one clock cycle. For this, we need a different approach to computer architecture. We need an architecture molded specifically to our application. • MAC Most DSPs have a specia lized instruction which causes them to multip ly, add and save the result in a single cycle. This instruction is usually called Multiply and Accumulate (MAC). If you work with DSPs, you will come across this instruction and its variations quite often. LECT URE 1 1-6 NSIRUMENrS " I TEXAS 6 University of Hertfordshire STUDENrs GUIDE INTRODUCTION TO DSP DROP IN MULTIPLICATION TIMES TI M E (n S ) 600 500 400 300 200 100 °-t-..:.;";,,;,,;,,;,,,;.;,,;,,,:,;r:--;,,;,,:,;,,,;,,;,,;,,,;4 = ....'-II.lI.0l., 1 971 1976 1 994 YE A R S In real time digital signal processing, our main concern is the amou nt of processing we can do before a new item of data has to be dealt with . Early DSP systems were built using standard components to construct shift registers, adders and multipliers. The mult iplication operation was soon determined to be the limiting factor in the performance of these computers. Multiplier design advanced through the use of pipelining techniques, and the first single-cycle multipliers were implemented in the early 1970s with standard high-speed emittercoupled logic (EeL) components. The earliest leading OSP research institution was .Lincoln Laboratories. The Lincoln FOPTM (Fast Digital Processor), which was .completed in 1971, had a multiply time of600ns, but was made up of 10,000 separate integrated circuits! It also suffered from the complications of trying to perform parallel operations using the sequential von Neumann architecture. The Lincoln LSPI2TM was built taking into account the lessons learned from the FOP, and used an architecture similar in principle to the Harvard 1 computers of the 1940s. By using an inherently parallel architecture, a DSP computer four times faster than the FOP was possible with about one third as many integrated circuits. Once the design of a fast multiplier was achieved, it was just a matter of time until improvements were made in silicon production technology. As shown in the above graph, multiply times have dropped dramatically over the last 25 years from around 600ns to 20ns. LECTURE 1 1-7 " stRUMENTS TEXAS IN 7 University of Hertfordshire STUDENT'S GUIDE INTR ODUCTION TO DSP D IG ITAL COMPU TERS VON NEUMAN MACHIN E A STORED PROGR A M AN D DATA D I INPUT OUTPU T II ARITHME TIC L~~II; I A = A DD R E SS D = DA T A HARVARD ARCH ITEC TURE STORED PROGRAM --..... A ARITHMETIC L~~I~ II A INPU T OUTPUT ST O RE D D ATA D 0- In order to operate, dig ital computers need instructions. At regular time .intervals, the processor must be told what to do. If the instru ctions are stored, this is easy. The comput er can simply fetch the next instruction and execute it. Such computers are known as "stored program '~ machines. Not only are the instructions (programs) stored, but data is stored as we ll. A computer typically fetches an instru ction and some data, operates on it, and then returns data to the store . There are two widely used computer architectures for com puters and single-chip microcomputers: • • Harvard von Neumann • Harvard Ar chitectu re The architecture for the first significant electromechanical computer had separate memory spaces for the program and the data so that each could be accessed simultaneously. This type, known as Harvard Architecture, was developed in the late 1930s by Howard Aiken, a physicist at Harvard University. The Harvard Mark ITM computer became operational in 1944 . The first general-purpose electronic computer was probably the ENIAC TM (Electronic Numerica l Integrator and Calculator) built from 1943 to 1946 at the University of Pennsylvania . Its arch itecture was similar to that of the Harvard Mark I, but with separate program and data memories. Due to the complexity of two separate memory systems , the Harvard architecture has not proven popular in general-purpose computer and microcomputer des ign . LECTURE 1 1-8 INSTRUMENTS ~1ExAs 8 University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP • Von Neumann One of the consu ltants to the ENIAC project was a Hungarian-born mathematician named John von Neumann. This is the man widely recognized as the creator of a different and very significant architecture that has set the standard for development of computer systems over the last 40 years. The basis of von Neumann's breakthrough was that he realized there was no need for any difference between program memory and data memory. Therefore, he used a single memory space for instructions as well as data . The new architecture simplified the design of the computer, but it had one drawba ck: the machin e could access only the instruction or the data at anyo ne time. Historically, this limitation has not been serious in generalpurpose comp uting. • Applications Common general-purpose personal computers use processors designed with von Neumann architecture. These and other general-purpose microprocessors also have characteristics wh ich are typical of most computers over the last 40 years. The basic computational blocks are an arithmetic logic unit (ALU) and a shifter. Ope rations such as add, move and subtract are easily perform ed in a few clock cycles. Complex instruction s such as multiply and divide are built up from a series of simple shift, add or subtract operations. The Harvard architecture is generally found more in specialized microprocessors, which are used for embed ded or "real-time" applications. LECTURE 1 1-9 ~TEXAS INSTRUMENTS 9 University of Hertfordshire STUDEN rs GUIDE INTRODUCTION TO DSP A N EXAMPLE TMS320C5x ARCHITECTU RE INTERNAL PROGRAM BUS t I" OGAAMI I t 01 5 ·00 I DA TA MEMORY I t CENTRAL PROCESSING UNIT • --l t INTERNA L DATA BUS t • TMS320C5x Architecture A lmost all early DSP devices used Harvard architecture. Data and program instructions could be fetched simultaneously, which greatly enhanced perform ance because it allowed the processors to do two jobs at the same tim e. There was no need to interrupt the data flow to fetch instructions. The simplified block diagram of the TMS320C5x shows the separation of data and program buses and the modification that enables exchanges between them. Externally, the 'C5x could be mistaken for a von Neumann architecture processor since it only has one visible data and program bus. But internally, data and program buses are separated. Modified Harvard Architecture reduces cost because the silicon uses fewer pins externally. The advantage gained in cost far outweighs the pe rformance loss. The 'C5x architecture is built around two major buses - the program bus and the data bus. The program bus carries the instruction code and immediate operands from program memory. The data bus interconnects various elements to the data memory, such as the central processing unit (CPU) and the auxiliary register file . Together, the program and data buses can carry data from on-chip data memory and internal or external program memory to the multiplier in a single cycle for multiply/accumulate (MAC) operations. The 'C5x has a high degree of parallelism; i.e., while the data is being operated on by the CPU , arithmetic operations may also be executed in the auxiliary arithmetic unit (AAU). Such parallelism results in a powerful set of arithmetic, logic and bit-manipulation operations that can all be performed in one machine cycle. The internal hardware of the 'C5x executes functions that other processors typically implement in software or microcode. For example, the device contains hardware for single-cycle 16 x 16-bit multiplication, data shifting, and address manipulation . This hardware-intensive approach provides computing power previously unavailable on a single chip . LECTURE 1 I- IO INSTRUMENTS ~1ExAs 10 u~ University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP DSP DEV E LO P ME N T A DD A, B 111000 10 0 1 0 10 00 0 1001 TOOLS OF THE TR A D E PRODUC T • The Program If you were to build an analog filter and supply it with power, it would function as a filter. If you were to build the hardware for a DSP digital filter and switch it on, it would do nothing. You have to give a DSP instructions (program) in order to run . Without a program, a DSP is just a useless piece of hardware. A program is a sequence of instructions which perform a function, such as playing a tune or acting as a digital filter. The actual program consists of nothing more than "O"s and "l ''s stored in the DSP's memory . Humans aren' t very good at remembering sequences of " 1"s and "O"s, so we have developed several tools to aid the production of software . • Assemblers Assemblers convert machine instructions from a language we can understand into a language that the DSP processor can understand. It is easier to remember "Add A, B" than "1 1000110110100100101". • High-Level Language The problem with assembly language is that it varies from one DSP manufacturer to another. If we use the example of adding two numbers on one DSP, this might be achieved by the command: "ADD A, B" With another DSP, we may have to write : "LOAD A B" This clearly causes a problem, since any code we write would have to be completely rewritten in order to work on another DSP. A high- level language uses a common language that can be converted (compiled) to different assembly languages . A high-level language also works at a "h igher" level. That is, instead of just giving simple instructions such as "add" and "subtract", it also gives more complex instructions such as "print", which are translated into many hundreds of simpler instructions used by the assembler. LECTURE 1 1-11 INSIRUMENTS -'1ExAs 11 u~ 'L' University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP • Simulators A simulator is a software version of a DSP. It simulates all of the functionality of a DSP on another comp uter, but without having to invest in any DSP hardware. This is a useful tool for evaluating the feasibility of a design before committing it to hardware. • Emulators An emulator behaves the same as a real DSP. It can interact with any hardware to which it is attached, but it allows the user to control and see the results of instructions being executed. This is an invaluable tool for development engineers , since they can actually see what is happening and change the actions, rather than just guess what is happ.ening. Modem emulators do not replace the DSP chip on the board, but instead exe rt their control through a serial scan path. • Th e Development Cycle The first stage of any development is to decide on the feasibility of a project. This is done using a com bination of software simulation, hardware specification, and experience. Once the design is considered feasible, a "system analysis" is performed . This consists of defining what the system should do, what it sho uld not do, how it should respond to different input conditions, etc. Once the system is clearly defined, we can start writing code for it. The traditional process of producing code is to write the code, test it, and alter it if it does not meet the requ irements determined in the system analysis. This function of writing and rewriting code produces several loops over the life span of the software. .. LECTURE 1 1-12 "TEXAS INSIRUMENTS 12 u4D University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP W HY DIGITAL? • IS IT WORTH IT? ~ B---I.~I • • • • PROCESS I----l·~ ~ • IS DIGITAL PROC ESSING BETTER? APPLICATION DEPENDENT PROGRAMMABILITY STABILITY AND REPEATABILJTY SPECIAL APPLICATIO NS • Why is Digital Processing Better? The answer is not short or clear-cut. There are many advantages in using digital techniques for generalpurpose signal processing. These advantages also apply to more specific applications, but there are some functions which may be performed by a DSP that cannot be implemented in analog systems. The advantages of using digital techniques in data processing fall into several broad categories: programmability, stability, repeatability, easy implementation of adaptive algorithms, and the ability to implement error-correcting codes and special functions such as linear phase filters. Digital processing also offers significant advantages over . analog in areas such as data transmission, storage and compression. At first glance, these advantages make it appear that DSP is the universal solution to all problems, but unfortunately, things are never quite so simple. There are limits to what can be done by realistic DSP systems, just as there are areas where an analog solution would be preferable. Next, we will look a bit deeper into the advantages that DSP systems offer. LECTURE 1 1- 13 13 v4D University of Hertfordshire STUD ENT'S GUI DE INTRODUCTION TO DSP PROG RAMMABIL ITY • ON E HARD WAR E SOFTW A RE 1 SOFTW AR E 2 SOFTWA RE N ~ = MANY TASKS LOW PASS FILTER MUSIC SYN THE SIZER MO TOR CON TRO L SA ME HA RDWA RE • UPGRADABILITY AND FLEXI BILITY • DEVELO P NEW CODE --.. UP GRADE • ANALOG -.. SOLDER NEW COMPONENT • Programmability One reason for the universal uptake of the digital computer (in the form of PCs) is that they are programmable and re-programmable. We take for granted this capability to tum our PCs from word processors to game consoles in a few seconds. Microprocessor technology gives the same advantage to digital signal processing systems. • Upgradability In many cases, there is no need to reprogram a system - only to upgrade its operation. An example might include a missile guidance system, where use in live combat circumstances could bring to light deficiencies not found in trials. This ability to perform alterations by simply replacing a single memory device is a significant advantage for DSP. One can upgrade an analog signal processing system by changing component values, but this is generally a redesign and modification job. There is a limit to the amount that its function or performance can be changed in this manner. • Flexibility It is possible to design one hardware configuration that can be programmed to perform a wide variety of signal processing tasks simply by loading different software. For example, a digital filter may be reprogrammed from low-pass to high-pass with no change in hardware. In an analog system, the entire design may need to be changed. LECTURE 1 1-14 1 TEXAS -' NS11UJMENTS 14 u4D Universityof Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP S TABI L ITY AND REPEA TABILITY • A NA LOG CIR C UIT S A R E AFFECTED BY • TEMP E RA TUR E • AGIN G -11• T OLE R A N C E OF CO M P O NEN T S • TWO AN A LO G SYSTEMS • USING SAME DES IGN • USIN G SAME COMPONENTS • MAY DIFFER IN PE RFORMA NCE • Temp erature The field performance of analog circuits over a period of time makes digital processing look even better. Components such as resistors, capacitors, and operational amplifiers all change their characteristics with changes in temperature. An analog circuit, therefore, may perform differently at O°C than at 70°C. Digital circuits show no variation in function with temperature changes within their guaranteed operating range. • Aging Another environmental factor which affects analog circuits is component aging. In particular, capacitors are prone to variations due to aging of the dielectric material. This causes a change in value and alters the behavior of the circuit. Compensation has to be built into the circuit to allow for component, thermal and aging variations. This can greatly complicate the design process and compromise overall circuit performance, • Tolerances Likewise, we cannot guarantee that components perform in exactly the same manner. Analog components always exhibit some variation in value after fabrication devices are selected within tolerance bands. This not only creates a problem for designers, but is also very expensive for manufacturers. If a manufacturing cycle hits a particularly bad batch of components, many circuits will not work properly and may cause severe problems. Putting all of this into perspective, there are many thousands of analog systems in use for signal processing, so these problems are by no means insurmountable. Nevertheless, they do exist in the analog realm. Digital signal processors are immune to these variables, and may even be programmed to detect and compensate for changes in the analog and mechanical parts of a complete system. LECTURE 1 1-15 INSTRUMENTS ~TEXAS 15 University of Hertfordshire STUOENrs GUIDE INTRODUCTION TO DSP DI GITA L R E P EA T A B IL IT Y • PERFECT REPRODUCIB ILITY • • • • NEA R LY ID ENTI CAL PER FOR M A N C E F R O M U N IT T O UN IT C O M PO N E N T T O L E R A N C E S DO NOT AFF E C T P E R F O RM A N C E N O DR IF T IN PE R F O R M A N C E D U E TO T E M P E RA T U R E OR AG ING G U A RANTEE D A C C U R A C Y g • Digital Re peatab ility A CD PCAYER A LW A YS PLA YS THE SA " E M U S IC DUA L IT Y Digital systems are inherently repeatable. If you have 500 identical digital computers perform a sequence of sums, they will all provide the same answer. If you apply an analog signal to 500 identical analog circuits, built using components of identical specification, you will certainly not get the same output from each circuit. The reason for this is very simple - there is a spread of performance of components in analog systems . Resistors have a tolerance specification, usually 5% of their value, and more expensive components may have toleran ces of 2% or I%. Typical capacitors have a tolerance of 20% or worse. Similarly, analog (or linear) semiconductor circuits have a specification range within which they are guaranteed to operate, but natural variations in the manufacturing process means that the precise performance of the components varies from device to device. For this reason, it is impossible to predict the precise behavior of an analog system. If precis ion operation is required of an analog system, it is necessary to. adjust the performance by including variable capacitors and variable resistors into the system design and adjusting their settings during system calibration. LECT URE 1 1- 16 "TEXAS I N SlRUMENTS 16 University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP PERFORMAN C E • S O M E SPECIAL FUNCTIO N S CAN O N LY B E IMPLE M E N T E D DIGITALLY • LOSS LESS COM P RESSION • NOTC H FIL TERS ga in • LINEAR P HASE FILT E RS ~ y ph ase • Lossless Compression Storage media and transmission channels cost money. For example, there is a substan tial cost di fference between a 20-minute telephone call and a 2-minute call, although the scale of the difference may de pend on the distance called. Storage media are also expensive. Although prices are always on a downward curve, our needs for more information seem to be on an upward curve. These two balancing forces produce almost a straight line for the price of storage media that are adequate for our needs at any given time. Therefore, we must carefully consider the method by which we store data. Lossless compression is one of the answers to storage and transmission channel problems. Let's consider the example of a transmission channel. One megabyte of data is compressed down to 500KB ( 1/2 megabyte) and sent. On arrival at its destination, it can be decompressed to its exact original form. • Notch Filters DSPs can also be used to implement notch filters. These filters allow all but a very narrow range of frequencies to pass throu gh them. To produce a good notch filter with conventional analog electronics is a difficult proposition. Several years ago, DSP systems were developed which could cancel some of the .noise within cockpits of cars, helicopters and airplanes. The noises to be canceled in cars were those of the engine and resonances set up in the body panels by the engine vibrations. The noise cancellation system used the engine speed as a reference and attempted to produce an "anti-noise" signal to cancel the cockpit noise. There were microphones in each headrest which determined the success of the attempt. Based on the changes detected by the microphones, the system changed the characteristics of the "anti-noise" until the best possible noise reduction was achieved. When the engine speed changed , the system had to adapt to the new engine noise. LECT URE 1 1- 17 "TEXAS INSTRUMENTS 17 u~ University of ~ Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP A DSP system can easi ly adapt to some changes in environmental variables. The adaptive algorithm simp ly calculates the new parameters required and stores them back in main memory , overwriting the previous values. A very basic level of adaptation is possible in analog systems, but the complete change of a complex set of filter characteristics (as used in noise cancellation) is beyond the practical scope of analog signal processing. • Linear PhaseFilters There are some vahiable signal processing techniques which cannot be performed by analog procedures. The classic example is that of linear phase filters. Conventional analog filters cannot produce a linear phase response. This means that some frequencies will gain or lose phase in relation to others after going through a filter. With a digitally implemented filter, it is possible to keep the phase of the signal consistent at all frequencies. This is possible by using a Finite Impulse Response (FIR) filter (this term will be explained later). Another type of filter which is easily implemented digitally is a notch filter with a steep cut-off. It is virtually impossible to create a similar analog filter. LECTURE 1 1-18 "TEXAS INSIRUMENTS 18 University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO OS? PRACTIC AL DSP SYSTEMS • HI-F I EQUIPMEN T • TOYS • VIDEOP HON E S • • • • • MODEM S P HONE S YS TE MS 3 D GRAP H IC S IM A G E PR OCESS ING AND MORE .. . • Pract ical DSP Systems Since their introduction to the marketplace, DSPs have found a wide variety of different applications, from children's toys to high-end virtual reality systems. In general, DSP is not an expensive technology. • Hi-Fi Equipment (Music Systems) We already know that DSPs playa vital role in CD players. The current price of CD systems demonstrates that DSP technology is not particularly expensive. DSPs are also being used increasingly in "sound processors" - devices which form part of a home music system but produce movie-quality sound. DSPs can also be used to compensate for the poor acoustics of a room . • Toys Many teaching and learning-toys contain DSPs for sound synthesis. Some toys can even recognize and reproduce speech. • Videophones Videophones are an application of DSPs that will effect the lives of people from all walks of life. These systems are now becoming much better in quality, and it is only a matter of time before the prices drop and they become widely used. The videophone uses a DSP to sufficiently compress the video image of the speaker such that the data can be sent down a telephone line (a normal telephone line does not have sufficient bandwidth to be able to directly transmit video signals). The DSP also has to decompress incoming compressed images at the same time. There are several international standards for the method of compressing and decompressing video images. A DSP has the advantage that when a new standard is defined, only the software has to be changed, not the hardware. LECTURE 1 1-19 . . 1ExAs .NSTRUMENTS 19 University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP • Modems Modems are becoming faster and more efficient in their operation. Their use is spreading very rapidly due to the demand for use of the Internet. DSPs perform essential functions in modems, such as canceling the echo on a phone line, and compressing and expanding data. • Phone Systems It is quite common these days to be answered by a machine when you make business call. You might receive options such as " Press I for Sales", "Press 2 for Technical Support", etc. The DSPs used in many of these systems can also recognize simple words such as "yes" and "no", and allow for the recording of messages, • 3D Graphics Most flight simulators use 3D (three dimensional) real-time graphics for realism. To calculate all of the details required for three dimensions (and to do this 30 times a second) requires a very efficient and powerful processor. DSPs are now frequently used in this area, and will probably dominate areas such as virtual reality in the future. ' • Image Processing DSPs are used extensively in image processing. Image processing covers areas such as robot and machine vision, image enhancement, fmgerprint recognition , and many others. One example is that of printed circuit board inspection systems. These work by recording an image of a perfectly working board, and then comparing it to the image of newly manufactured ones as they pass under a video camera. LECTURE 1 1-20 20 University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSp TMS320 Family 16-BIT FIXED POINT 'Clx - Hard Disk Controllers 'C2x • Fax Machines 'C2xx - Embedded Control 32-BIT FLOATING POINT 'C3x - Videophones 'C4x • Paralle l Processing OTHERS 'C5x - Voice Processing 'C8x - Video Conferencing 'C54x - Digital Cellular Phones 'C6x Advanced VUW Processor - Wireless Base StationS/Pooled Modems Most manufacturers of DSPs produce several different types of processors. These are generally known as a "series" or "family". The Texas Instruments family is shown above. One of the fundamental differences among processors is whether they support "fixed-point" or "floating-point" arithmetic. • Fixed-Point and Floating-Point Fixed-point devices operate in a smaller number range than floati ng-po int devices. The typical operational range of a fixed-point device (such as a 'C50) is ± is (± 32,768) to ± 2-IS (± 0.000031). Typical floatingpoint devices provide a range of ±2 128 to ±2-128• This is a considerable d ifference, and it plays an importa nt part in selecting a device for a particular application. For example, quality sound reproduction equipment would be suitable for a floating-point device, whereas for children's toys, a fixed-point device may be perfectly acceptable. • 'Clx, 'C2x, 'C2xx, 'C5x, 'C54x These are 16-bit devices because the width of their data bus is 16-bit. All have modified Harvard architectures as discussed earlier. These devices are all fixed-point, and are cheaper than floating-point devices. They have been used in toys, hard disk drives, modems, and active car suspensions. • 'C3x The width of the data bus in the 'C3x series is 32-bit . Because they are floating-point, these devices have a wide dynamic range. Their high level of accuracy makes them suitable for high-performance hi-fi systems, voice mail systems, and 3D graphics processing. LECTURE 1 1-21 " 1EXAS INSIRUMENTS 21 University of Hertfordshire STUDENT'S GUIDE INTRODUCTION TO DSP • ' C4x This range is designed for parallel processing. The 'C4x devices have a 32-bit data bus and are floating-point. T hey have an optimized on-chip communication channel, which enables a number of them to be put together to form a parallel processing cluster. The ' C4x range has been used in virtual reality, image recognition, and parallel processing systems. • ' C8x The 'C80 is the first processor in this range. It has parallel processing on a single piece of silicon with four advanced DSPs (.ADSPs) and a RISC master processor. It is used in high-performance video telephony, 3D computer graphics, virtual reality, and a number of multimedia applications. A lower-cost version, the 'C 82, features two ADSPs and the RISC master processor. • 'C6x The 'C6x devices feature VeiociT PM , an advanced very long instructio n word (VLIW) architecture developed by Texas Instruments. Eight functional units, including 2 multipliers-and 6 arithmetic logic units (ALUs), provide 1600 MIPS of cost-effective performance. The 'C6x DSPs are optimized for multi-channel, multifunction applications, including wireless base stations, pooled moderns, remote access servers, digital subscriber loop systems, cable modems, and multi-channel telephony systems. "c LECTURE 1 1-22 INSIRUMENI'S ~1ExAs 22 u~ \&1 University of Hertfordshire STUDENrs GUIDE I NT ~ O D U C TI O N TO DSP REFERENCES Ahmed, lrfan (ed.) [199 1]. Digital Control Applications with the TMS320 Family , Texas Instruments, Dallas TX ' Allen, J. {1 975]. "Computer Architecture for Signal Processing," Proceedings of the IEEE, vol. 63, no. 4, pp. 624-633 , April 197.5 Arazi, Benjamirr. [1988] . A Commonsense Approach to the Theory of Error Correcting Codes, MIT Press, Cambridge, MA . Augarte n, S. [ 1984]. Bit by Bit, Ticknor & Fields, New York Auslander, E. [1993]. " Digita l signal processing and the emerging markets of the ' 90s," Le Traitement du Signal et ses App lications , Actes des Conferences, DSP'93 Bell, C. G. and Newell, A. [1971]. Computer Structures, McGraw-Hili , New York Bowen, B. A. and Brown, W. R. [1982]. VLSI Systems Design for Digital Signal Processing, Volume I : Signal Processing and Signal Processors, Prentice-Hall, Englewood Cliffs, NJ Cooley, J. W. Lewis, P. A. W. and Welch, P. D. [1967]. " Historical Notes on the Fast Fourier Transform," IEEE Transactions on Audio and Electroacoustics, Vol AU-15, No .2, pp. 76-79, June 1967 Cooley, J. W. and Tuk ey J. W. [1965]. "An algorithm for the machine computation of complex Fourier series ," Math. of Comiput., Vol 19, pp. 297-30 1 Danielson, C. G. and Lanczos, C. [1942]. "Some improvements in practical Fourier analysis and their application to X-ray scattering from liquids," 1. Franklin Inst., Vol 233, pp. 365-380 and 435-452, April 1942 Def'atta, David J. Lucas, Joseph G. and Hodgkiss, William S. [1988]. Digital Signal Processing: A System Design Approach, John Wiley, New York Dote, Y. [1990] . Servo Motor and Motion Control Using Digital Signal Processors, Prentice-Hall, Englewood Cliffs, NJ Hanselmann, H. [1987]. "Implementation of Digital Controllers - A Survey", Automatica, Vol 23, No I, 1987 Hayes , John P. [1979]. Computer Architecture and Organization, McGraw-Hili International Heidemann, Michael T., Johnson, Don. H. and Burrus, C. Sidney [1984]. "Gauss and the History of the Fast Fourier Transform ," IEEE ASSP Magazine, pp. 14-2 1, October 1984 Jury, E. I. [1964 ]. Theory and Application of the Z-Transform Method, John Wiley, New York LECTURE 1 1-23 " TEXAS INSTRUMENTS 23 u~ '11 University of Hertfordshire STUDENT'S GUIDE INTR_ ODUCTION TO DSP Lewis, F. [1992]. Applied Optimal Control & Estimat ion: Digital Design & Implementation. Prentice-Hall, Englewood Cliffs, NJ Lynn, Paul A. [1982]. The Analysis and Processing ofSignals, MacMillan, London Oppenheim, A. V. and Schafer, R. W. [1975 and 1988]. Digital Signal Processing, Prentice-Hall, Englewood Cliffs, NJ Runge, C. [1903). Zeit. fur Math. and Physik, Vol 48. p. 433 LECTUR E 1 1-24 INSTRUM ENTS ~TEXAS 24 ...
View Full Document

Ask a homework question - tutors are online