Block Convolution: overlap-save method  Input Signal x[n]: arbitrary length  Impulse response of the filter h[n]: lenght P  Block Size: N  we take.

Slides:



Advertisements
Similar presentations
DFT & FFT Computation.
Advertisements

Michael Phipps Vallary S. Bhopatkar
DFT properties Note: it is important to ensure that the DFTs are the same length If x1(n) and x2(n) have different lengths, the shorter sequence must be.
Digital Filters. A/DComputerD/A x(t)x[n]y[n]y(t) Example:
Chapter 8: The Discrete Fourier Transform
MM3FC Mathematical Modeling 3 LECTURE 3
FFT-based filtering and the Short-Time Fourier Transform (STFT) R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003.
20 October 2003WASPAA New Paltz, NY1 Implementation of real time partitioned convolution on a DSP board Enrico Armelloni, Christian Giottoli, Angelo.
Frequency-Domain Adaptive Filters Wu, Yihong EE 491D
Finite Impuse Response Filters. Filters A filter is a system that processes a signal in some desired fashion. –A continuous-time signal or continuous.
Analysis of Discrete Linear Time Invariant Systems
EE513 Audio Signals and Systems Digital Signal Processing (Systems) Kevin D. Donohue Electrical and Computer Engineering University of Kentucky.
Discrete-Time and System (A Review)
ELEN 5346/4304 DSP and Filter Design Fall Lecture 4: Frequency domain representation, DTFT, IDTFT, DFT, IDFT Instructor: Dr. Gleb V. Tcheslavski.
Numerical Analysis – Digital Signal Processing Hanyang University Jong-Il Park.
1 Signals & Systems Spring 2009 Week 3 Instructor: Mariam Shafqat UET Taxila.
Chapter 3 Convolution Representation
8.1 representation of periodic sequences:the discrete fourier series 8.2 the fourier transform of periodic signals 8.3 properties of the discrete fourier.
1 BIEN425 – Lecture 8 By the end of the lecture, you should be able to: –Compute cross- /auto-correlation using matrix multiplication –Compute cross- /auto-correlation.
The Discrete Fourier Transform 主講人:虞台文. Content Introduction Representation of Periodic Sequences – DFS (Discrete Fourier Series) Properties of DFS The.
Zhongguo Liu_Biomedical Engineering_Shandong Univ. Chapter 8 The Discrete Fourier Transform Zhongguo Liu Biomedical Engineering School of Control.
Hossein Sameti Department of Computer Engineering Sharif University of Technology.
Copyright ©2010, ©1999, ©1989 by Pearson Education, Inc. All rights reserved. Discrete-Time Signal Processing, Third Edition Alan V. Oppenheim Ronald W.
Lecture 6: DFT XILIANG LUO 2014/10. Periodic Sequence  Discrete Fourier Series For a sequence with period N, we only need N DFS coefs.
Convolution in Matlab The convolution in matlab is accomplished by using “conv” command. If “u” is a vector with length ‘n’ and “v” is a vector with length.
LIST OF EXPERIMENTS USING TMS320C5X Study of various addressing modes of DSP using simple programming examples Sampling of input signal and display Implementation.
| Page Angelo Farina UNIPR | All Rights Reserved | Confidential Digital sound processing Convolution Digital Filters FFT Fast Convolution.
EEE 503 Digital Signal Processing Lecture #2 : EEE 503 Digital Signal Processing Lecture #2 : Discrete-Time Signals & Systems Dr. Panuthat Boonpramuk Department.
Linear filtering based on the DFT
Dr. Engr. Sami ur Rahman Assistant Professor Department of Computer Science University of Malakand Visualization in Medicine Lecture: Convolution.
Signal and System I The representation of discrete-time signals in terms of impulse Example.
DEPARTMENTT OF ECE TECHNICAL QUIZ-1 AY Sub Code/Name: EC6502/Principles of digital Signal Processing Topic: Unit 1 & Unit 3 Sem/year: V/III.
Signal and systems LTI Systems. Linear Time-Invariant Systems.
Analysis of Linear Time Invariant (LTI) Systems
CS 179: GPU Programming Lecture 9 / Homework 3. Recap Some algorithms are “less obviously parallelizable”: – Reduction – Sorts – FFT (and certain recursive.
1 Computing the output response of LTI Systems. By breaking or decomposing and representing the input signal to the LTI system into terms of a linear combination.
Digital Signal Processing Lecture 3 LTI System
Finite Impuse Response Filters. Filters A filter is a system that processes a signal in some desired fashion. –A continuous-time signal or continuous.
Digital Signal Processing
EE345S Real-Time Digital Signal Processing Lab Fall 2006 Lecture 17 Fast Fourier Transform Prof. Brian L. Evans Dept. of Electrical and Computer Engineering.
Lecture 20 Outline: Laplace Transforms Announcements: Reading: “6: The Laplace Transform” pp. 1-9 HW 7 posted, due next Wednesday My OHs Monday cancelled,
بسم الله الرحمن الرحيم Digital Signal Processing Lecture 14 FFT-Radix-2 Decimation in Frequency And Radix -4 Algorithm University of Khartoum Department.
EENG 420 Digital Signal Processing Lecture 2.
1 Chapter 8 The Discrete Fourier Transform (cont.)
DIGITAL SIGNAL PROCESSING ELECTRONICS
Digital Signal Processing
Lect2 Time Domain Analysis
3.1 Introduction Why do we need also a frequency domain analysis (also we need time domain convolution):- 1) Sinusoidal and exponential signals occur.
Signal Processing First
Lecture 12 Linearity & Time-Invariance Convolution
FFT-based filtering and the
Laplace and Z transforms
EE Audio Signals and Systems
Fast Fourier Transform
Lecture 4: Discrete-Time Systems
Research Institute for Future Media Computing
4.1 DFT In practice the Fourier components of data are obtained by digital computation rather than by analog processing. The analog values have to be.
UNIT V Linear Time Invariant Discrete-Time Systems
Chapter 8 The Discrete Fourier Transform
APPLICATION of the DFT: Convolution of Finite Sequences.
CS3291: "Interrogation Surprise" on Section /10/04
Lecture 16 Outline: Linear Convolution, Block-by Block Convolution, FFT/IFFT Announcements: HW 4 posted, due tomorrow at 4:30pm. No late HWs as solutions.
Signal Processing First
Chapter 8 The Discrete Fourier Transform
Chapter 8 The Discrete Fourier Transform
Extra Credit ECE Signals and Systems Exam II By: Joseph Cunningham
Lecture 7 Spatial filtering.
Signals and Systems Lecture 18: FIR Filters.
Fast Fourier Transform
CE Digital Signal Processing Fall Discrete Fourier Transform (DFT)
Presentation transcript:

Block Convolution: overlap-save method  Input Signal x[n]: arbitrary length  Impulse response of the filter h[n]: lenght P  Block Size: N  we take N samples of x[n]  There’s ALIASING! right samples: L = N - (P - 1) CIRCULAR CONVOLUTION LINEAR CONVOLUTION + ALIASING

Signal x[n] The input signal x[n] is splitted into blocks of length = L...

Signal x[n] Lenght FFT = N The entry signal x[n] is splitted in blocks of lenght = N... P - 1 zero padding The Impulse response lenght = P, so we aggregate P - 1 zeros to the signal beggining Then when we compute the circular convolution, only L = N - (P - 1) samples match the linear convolution. Lenght L

Signal x[n] Signal h[n] Lenght PN - P zero paddingLenght FFT = N To complete the lenght of the N FFT, we aggregate N-P zeros to the impulse response h[n] (lenght P)...

Signal x[n] Signal h[n] x1[n]*h[n]x1[n]*h[n] We compute the first segment of the output performing a circular convolution of x 1 [n] and h[n] Length FFT = N Circular convolution DOESN’T match the linear convolution  we discard P - 1 samples It HAS “aliasing” of P - 1 samples

Signal x[n] Signal h[n] x1[n]*h[n]x1[n]*h[n] We compute the first segment of the output performing a circular convolution of x 1 [n] and h[n] Lenght FFT = N x 1 [n] * h[n] = IFFT{X 1 [k]xH[k]} It HAS “aliasing” of P - 1 samples

Sucesión x[n] Sucesión h[n] x1[n]*h[n]x1[n]*h[n] We “copy” the result of the circular convolution of x 1 [n] and h[n] To the system output, discarding the wrong samples

Signal x[n] Signal h[n] x1[n]*h[n]x1[n]*h[n] We “copy” the result of the circular convolution of x 1 [n] and h[n] to the system output, discarding the wrong samples

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] Signal x 2 [n] We process the second block x 2 [n] of the input x[n]... (overlapping P - 1 samples with the previous block)

(solapando P - 1 muestras con el bloque previo) Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] We process the second block x 2 [n] of the input x[n]... with the impulse response h[n]

(overlapping P - 1 samples with the previous block) Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] We process the second block x 2 [n] of the input x[n]... and we obtain the second segment x 2 [n] * h[n] x2[n]*h[n]x2[n]*h[n] with the impulse response h[n] Again, we have to discard P - 1 samples of the segment, that are wrong (due to aliasing)

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] We “copy” the result of the second circular convolution of x 1 [n] and h[n] (discarding the wrong samples)

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] We “copy” the result of the second circular convolution of x 1 [n] and h[n] (discarding the wrong samples)

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] we process the third block x 2 [n] of the input x[n]... x2[n]*h[n]x2[n]*h[n] (overlapping P - 1 samples with the previous block)

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] we process the third block x 2 [n] of the input x[n]... x2[n]*h[n]x2[n]*h[n] (overlapping P - 1 samples with the previous block) with the impulse response h[n]

we obtain the third segment of the output x 3 [n] * h[n] Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] x3[n]*h[n]x3[n]*h[n] discarding the P - 1 first samples

we copy it to the output... Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] x3[n]*h[n]x3[n]*h[n]

we copy it to the output... Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] x3[n]*h[n]x3[n]*h[n]

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] x3[n]*h[n]x3[n]*h[n] we process the fourth block of the input x[n]

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] x3[n]*h[n]x3[n]*h[n] we process the fourth block of the input x[n] with the impluse response h[n]

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] x3[n]*h[n]x3[n]*h[n] we obtain the fourth segment of the output x 4 [n] * h[n] x4[n]*h[n]x4[n]*h[n]

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] x3[n]*h[n]x3[n]*h[n] We discard the first P - 1 samples... x4[n]*h[n]x4[n]*h[n]

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] x3[n]*h[n]x3[n]*h[n] x4[n]*h[n]x4[n]*h[n] …we copy it to the output

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] x3[n]*h[n]x3[n]*h[n] x4[n]*h[n]x4[n]*h[n] …we copy it to the output

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] x3[n]*h[n]x3[n]*h[n] x4[n]*h[n]x4[n]*h[n] We add the 4 output segments eliminating the correspoding samples!!

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] x3[n]*h[n]x3[n]*h[n] x4[n]*h[n]x4[n]*h[n] BLOCK convolution

Signal h[n] x1[n]*h[n]x1[n]*h[n] Signal x[n] x2[n]*h[n]x2[n]*h[n] x3[n]*h[n]x3[n]*h[n] x4[n]*h[n]x4[n]*h[n] BLOCK convolution LINEAR convolution =