Topics � Basic ideas and notions of embedded applications – digital signal processing – (media processing, network processing) SIGPL Summer School 2004 � Embedded processors – off-the shelf DSPs, DSP core, ASIP 임베디드 프로세서 구조와 프로그래밍 – data path, registers, memory, instruction sets, pipelining, VLIW… – (media processors, network processors) � Outstanding features of embedded code – numeric representations 서울대학교 전기컴퓨터공학부 – ALU operations 소프트웨어 최적화 및 재구성 (SO&R) 연구실 – data access patterns 백윤흥 2004 년 8 월 11 일 임베디드 프로세서 구조 및 프로그래밍 2 Embedded S/W development issues High-level languages for embedded S/W? � Embedded systems are now hot…getting even hotter!! � No serious embedded programmer uses high-level languages. – telecommunications, multimedia, and more… – More and more vendors, even now Intel, produce processors. � Why? – GPPs like Pentiums and PowerPC are not effective for embedded – Terrible performance of machine code generated applications like digital signal processing and network processing. � Who are responsible? � S/W and F/W development with assembly for embedded – Embedded processors are not compiler-friendly. processors is extremely difficult and too much costly. – Compilers are not smart enough to generate optimal machine code � As embedded processors become more sophisticated, the compatible with hand-written code in terms of performance. amount of legacy code grows too large to maintain it effectively. � High-level languages (esp. C) are good alternatives to assembly. – excellent portability, low cost for development, etc… 임베디드 프로세서 구조 및 프로그래밍 임베디드 프로세서 구조 및 프로그래밍 3 4 1
Embedded processing ≈ Signal processing Signal processing in embedded systems � No interface to human being � Signal � Processing elements in an embedded system communicate � Mathematical each other through signals. representations � Most embedded systems are designed to process signals. � Analog signal processing � Digital signal processing � DSP operations � FIR filters � IIR filters � FFT � Programming examples aliasing in DSP 임베디드 프로세서 구조 및 프로그래밍 임베디드 프로세서 구조 및 프로그래밍 5 6 Signal? Contiguous-time (analog) signals � Definition in the American Heritage(r) Dictionary � Mathematical representations of sinusoidal signals – cosine (or equivalently, sine) signals An impulse or a fluctuating electric quantity, such as voltage, current, – the most basic signals in the theory of signal processing or electric field strength, whose variations represent coded information � patterns of variations in time that represent or encode – a signal: = ω + φ = π + φ x ( t ) A cos( t ) A cos( 2 ft ) 0 information φ � carry information (e.g., audio, video) through an electronic A circuit to be used in measuring or probing other physical Time t (sec) 1 f systems � Mathematical representations of complex exponential � The pattern of variations forms a time waveform. signals ω + φ more convenient t o analyze and – the form: � = j ( t ) x ( t ) Ae 0 handle signals mat hemat i cal ly – Extraction of a sinusoidal signal after processing is done Time t ω + φ = = ω + φ + ω + φ = j ( t ) Re{ x ( t )} Re{ Ae } Re{ A cos( t ) jA sin( t )} x ( t ) 0 0 0 임베디드 프로세서 구조 및 프로그래밍 임베디드 프로세서 구조 및 프로그래밍 7 8 2
Signal Processing… Digital Signal Processing � analyzes and modifies the information conveyed in signals � Signals can be processed by digital devices instead. � speech synthesis/recognition, audio amplification, noise � Simplicity, cost-effectiveness reduction, high-speed modems w/ error correction, … – Tasks that would be difficult or even impossible can be accomplished at much lower cost. � indispensable for embedded system – The size of digital components is small & consistent unlike analog � Analog signal processing counterparts whose sizes vary with their values. – Signals from the real world are analog. � Versatility – Such natural signals can be processed directly using analog – A digital device like a programmable DSP processor can perform electronic devices such audio amplifiers ( w/ resist ances, conduct ors,… ) other tasks by simply reprogramming it. (no physical changes) – Generally too expensive or often even impossible to process signals � Predictability, repeatability using analog electronics. – considerably less insensitive to environment like temperature and to Signal Processing component tolerances. y ( t ) = T { x ( t )} x ( t ) Operation T – easily duplicated and ported to other H/W, while having exact known responses that do not vary. 임베디드 프로세서 구조 및 프로그래밍 임베디드 프로세서 구조 및 프로그래밍 9 10 DSP operation T Digital Signal for DSP � A typical DSP linear transfer function T � A digitized form of an analog signal – a series of discrete numbers representing a sequence of the samples of the analog signal b 0 y[n] x[n] Σ Σ – generated by sampling the analog signal at intervals of T seconds. a 1 b 1 – held in memory and processed by a DSP processor. D D a 2 = = b 2 � A digital signal: x [ n ] x ( nT ) [ x ( 0 ), x ( T ), x ( 2 T ),...] D D … x ( t ) … x [ n ] … … T − − Q 1 P 1 ∑ ∑ Al iasing dist ort ion S ampl ing frequency/ 2 = nyquist frequency = − + − y [ n ] b x [ n q ] a y [ n p ] q p � Conversion bet’n analog and digital signals in a DSP system = = q 0 p 1 � The time delay D implemented with a latch or register gives a delay of A-to-D DSP D-to-A x ( t ) x [ n ] y [ n ] y ( t ) a unit sample period T. converter converter Operation T 임베디드 프로세서 구조 및 프로그래밍 임베디드 프로세서 구조 및 프로그래밍 11 12 3
Common functions in DSP FIR filters � For FIR(finite impulse response) filters, each output signal � FIR filters y[n] is the sum of a finite number of weighted samples of � IIR filters the input signal sequence x[n]. � z-transform − Q 1 ∑ � Fourier transform = − y [ n ] b x [ n q ] q = q 0 b 0 y[n] x[n] Σ b 1 D b 2 D … … 임베디드 프로세서 구조 및 프로그래밍 임베디드 프로세서 구조 및 프로그래밍 13 14 The running average filter IIR filters − � A FIR filter that computes a running (moving) average of − Q 1 P 1 ∑ ∑ � A difference equation: = − + − y [ n ] b x [ n q ] a y [ n p ] q p several consecutive numbers of the input sequence, and = = q 0 p 1 produce a new sequence of the average values. � IIR filters involves previously computed values of the output signal as well as values of the ‘recent’ input signal in the − = ∑ ex) a difference equation for 2 x [ n q ] 1 computation of the present output. = + − + − y [ n ] ( x [ n ] x [ n 1 ] x [ n 2 ]) 3-point averaging method 3 3 = q 0 � important to model ‘resonance’ such as would occur in a speech synthesizer. coefficients: 0.5 and 2 � Ex: 1 = − + y [ n ] y [ n 1 ] 2 x [ n ] 2 effects of amplifying & feedback echoing Make the output signal smoother than the input signal 임베디드 프로세서 구조 및 프로그래밍 임베디드 프로세서 구조 및 프로그래밍 15 16 4
Recommend
More recommend