Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
574,2 KB
Nội dung
Chapter p FIR filtering and Convolution Ha Hoang Kha, Ph.D.Click to edit Master subtitle style Ho Chi Minh City University of Technology @ Email: hhkha@hcmut.edu.vn Content Block p processingg methods Convolution: direct form, convolution table Convolution: LTI form,, LTI table Matrix form Flip-and-slide form Overlap-add block convolution method Sample processing methods FIR filtering in direct form Ha H Kha FIR Filtering and Convolution Introduction Block processing methods: data are collected and processed in blocks FIR filtering of finite finite-duration duration signals by convolution Fast convolution of long signals which are broken up in short segments DFT/FFT spectrum computations Speech analysis and synthesis Image processing Sample processing methods: the data are processed one at a timewith each input sample being subject to a DSP algorithm which transforms it into an output sample Real-time applications Digitall audio d effects ff processing Digital control systems Adaptive signal processing Ha H Kha FIR Filtering and Convolution Block Processing method The collected signal samples x(n), n=0, 1,…, L-1, can be thought as a block: x=[x [ 0, x1, …, xL-1] The duration of the data record in second: TL=LT Consider a casual FIR filter of order M with impulse response: h=[h0, h1, …, hM] The length (the number of filter coefficients): Lh=M+1 Ha H Kha FIR Filtering and Convolution 11.1 Direct form The convolution in the direct form: y ( n) = ∑ h( m) x ( n − m) m For DSP implementation, p , we must determine The range of values of the output index n The precise range of summation in m Find index n: index of h(m) Ỉ 0≤m≤M index of x(n-m) x(n m) Ỉ 0≤n-m≤L-1 0≤n m≤L Ỉ ≤ m ≤ n ≤m+L-1 ≤ M+L-1 ≤ n ≤ M + L −1 Lx=L input samples which is processed by the filter with order M M=L Lx + M yield the output signal y(n) of length L y = L + M Ha H Kha FIR Filtering and Convolution 1Direct form Find index m: index of x(n-m) ( ) index of h(m) Ỉ 0≤m≤M Ỉ 0≤n-m≤L-1 Ỉ n+L-1≤ m ≤ n max ( 0, n − L + 1) ≤ m ≤ ( M, n ) The direct form of convolution is given as follows: y ( n) = min( M , n ) ∑ h( m) x ( n − m) = h ∗ x m = max(0, (0 n − L +1) with ≤ n ≤ M + L − Thus,, y is longer g than the input p x byy M samples p This property p p y follows from the fact that a filter of order M has memory M and keeps each input sample inside it for M time units Ha H Kha FIR Filtering and Convolution Example Consider the case of an order-3 filter and a length of 5-input signal Find the output o t ? h=[h0, h1, h2, h3] x=[x0, x1, x2, x3, x4 ] yy=h*x=[y h x [y0, y1, y2, y3, y4 , y5, y6, y7 ] Ha H Kha FIR Filtering and Convolution 1.2 Convolution table It can be observed that y ( n) = ∑ h(i) x( j ) i, j i+ j =n Convolution table The convolution table is convenient for quick calculation b h by hand d because b iit displays all required operations compactly Ha H Kha FIR Filtering and Convolution Example Calculate the convolution of the following filter and input signals? h=[1, 2, -1, 1], x=[1, 1, 2, 1, 2, 2, 1, 1] Solution: S l i sum of the values along anti-diagonal line yields the output y: y=[1, =[1 3, 3, 5, 3, 7, 4, 3, 3, 0, 1] Note that there are Ly=L+M=8+3=11 output samples Ha H Kha FIR Filtering and Convolution 1.3 LTI Form LTI form of convolution: y ( n ) = ∑ x ( m) h ( n − m) m Consider the filter h=[h0, h1, h2, h3] and the input signal x=[x0, x1, x2, x3, x4 ] Then, the output is given by y (n) = x0 h(n) + x1h(n − 1) + x2 h(n − 2) + x3 h(n − 3) + x4 h(n − 4) We can represent the input and output signals as blocks: Ha H Kha 10 FIR Filtering and Convolution 1.3 Matrix Form It can be b observed b d th thatt H has h th the same entry t along l each h diagonal di l Such a matrix is known as Toeplitz matrix Matrix representations of convolution are very useful in some applications: Image processing Advanced DSP methods such as parametric spectrum estimation and adaptive filtering Ha H Kha 14 FIR Filtering and Convolution Example Using the matrix form to calculate the convolution of the following filter and input signals? h=[1, 2, -1, 1], x=[1, 1, 2, 1, 2, 2, 1, 1] Solution: since Lx=8, M=3 Ỉ Ly=Lx+M=11, the filter matrix is 11x8 dimensional Ha H Kha 15 FIR Filtering and Convolution 1.4 Flip-and-slide form The output at time n is given by yn = h0 xn + h1 xn −1 + + hM xn − M Flip-and-slide li d lid fform off convolution l i The flip-and-slide form shows clearly the input-on and input-off transient and steady-state steady state behavior of a filter Ha H Kha 16 FIR Filtering and Convolution 1.5 Transient and steady-state behavior M From LTI convolution: y(n) = ∑h(m)x(n − m) = h0 xn + h1xn−1 + + hM xn−M m=0 The output is divided into subranges: Transient T i andd steady-state d fil outputs: filter Ha H Kha 17 FIR Filtering and Convolution 1.6 Overlap-add block convolution method As the input signal is infinite or extremely large, a practical approach is to divide the longg input p into contiguous g non-overlapping pp g blocks of manageable length, say L samples Overlap Overlap-add add block convolution method: Ha H Kha 18 FIR Filtering and Convolution Example Using the overlap-add method of block convolution with each bock length L=3, calculate the convolution of the following filter and input signals? h=[1, 2, -1, 1], x=[1, 1, 2, 1, 2, 2, 1, 1] Solution: The input is divided into block of length L L=33 The output of each block is found by the convolution table: Ha H Kha 19 FIR Filtering and Convolution Example The output of each block is given by Following F ll i from f time i invariant, i i aligning li i the h output blocks bl k according di to theirs absolute timings and adding them up gives the final results: Ha H Kha 20 FIR Filtering and Convolution Sample processing methods The direct form convolution for an FIR filter of order M is given by Introduce the internal states Sample p p processingg algorithm g Fig: Direct form realization off Mth M h order d fil filter Ha H Kha Sample processing methods convenient for real-time real time applications 21 are FIR Filtering and Convolution Example Consider the filter and input given by Using the sample processing algorithm to compute the output and show the input-off transients Ha H Kha 22 FIR Filtering and Convolution Example Ha H Kha 23 FIR Filtering and Convolution Example Ha H Kha 24 FIR Filtering and Convolution Hardware realizations The FIR filtering algorithm can be realized in hardware using DSP chips, for example the Texas Instrument TMS320C25 MAC: Multiplier Accumulator Ha H Kha 25 FIR Filtering and Convolution ... Kha 22 FIR Filtering and Convolution Example Ha H Kha 23 FIR Filtering and Convolution Example Ha H Kha 24 FIR Filtering and Convolution Hardware realizations The FIR filtering algorithm can... FIR Filtering and Convolution 1.4 Flip -and- slide form The output at time n is given by yn = h0 xn + h1 xn −1 + + hM xn − M Flip -and- slide li d lid fform off convolution l i The flip -and- slide... the input-on and input-off transient and steady-state steady state behavior of a filter Ha H Kha 16 FIR Filtering and Convolution 1.5 Transient and steady-state behavior M From LTI convolution: