An Efficient DSP Implementation of a Dynamic Convolution Using Principal Component Analysis
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

An Efficient DSP Implementation of a Dynamic Convolution Using Principal Component Analysis

on

  • 1,081 views

In the recent years, several techniques have been proposed in the literature in order to attempt the emulation of nonlinear electro-acoustic devices, such as compressors, limiters, and pre-amplifiers. ...

In the recent years, several techniques have been proposed in the literature in order to attempt the emulation of nonlinear electro-acoustic devices, such as compressors, limiters, and pre-amplifiers. Among them, the dynamic convolution technique is one of the most common approaches used to perform a nonlinear convolution. In this paper, an efficient DSP implementation of a nonlinear system emulation based on the dynamic convolution technique and principal component analysis is proposed with the aim of lowering the required workload and the global memory usage. Several results are reported in order to show the effectiveness of the proposed approach, taking into consideration a guitar pre-amplifier as a particular case study and also introducing comparisons with the existing techniques of the state of the art.

Statistics

Views

Total Views
1,081
Views on SlideShare
1,081
Embed Views
0

Actions

Likes
1
Downloads
13
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

An Efficient DSP Implementation of a Dynamic Convolution Using Principal Component Analysis Presentation Transcript

  • 1. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionAn Efficient DSP Implementation of a DynamicConvolution Approach Using Principal ComponentAnalysisAndrea Primavera1, Stefania Cecchi1, Laura Romoli1, Michele Gasparini1andFrancesco Piazza11A3lab - DII - Universit`a Politecnica delle Marche -Ancona - ITALY5thEuropean DSP in Education and Research Conference, 13thand 14thSeptember, 2012, Amsterdam, Netherlands.Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 1/21
  • 2. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusion1 Dynamic ConvolutionIntroductionState of the art2 Proposed AlgorithmProposed algorithmSystem identificationPCA based preprocessingEmulation of the nonlinear system3 Efficient DSP ImplementationTargetDynamic convolutionProposed approach4 ResultsCase study: a digital guitar pre-amplifierObjective measure5 ConclusionConclusionFuture worksQuestionsAndrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 2/21
  • 3. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionIntroductionState of the artDynamic convolution technique is one of the most common approachesused to perform a nonlinear convolution (emulation of compressors,limiters and pre-amps).Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 3/21
  • 4. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionIntroductionState of the artDynamic convolution technique is one of the most common approachesused to perform a nonlinear convolution (emulation of compressors,limiters and pre-amps).DYNAMICCONVOLUTIONCOMPUTATIONALCOSTMINIMIZATIONProblemWe propose an efficient DSP based real-time implementation of adynamic convolution taking into account:• OMAP L137;• Usage of smart DSP expedients;• Principal component analysis (PCA);Proposed SolutionAndrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 4/21
  • 5. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionIntroductionState of the artFor discrete-time signals x and impulse response h with a finite length N,the linear convolution results:y[n] = x[n] ∗ h[n] =N−1m=0x(n)h(m − n) (1)This operation cannot be used in nonlinear case, since the outputsignal is not directly proportional to the input signal.ProblemAndrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 5/21
  • 6. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionIntroductionState of the artFor discrete-time signals x and impulse response h with a finite length N,the linear convolution results:y[n] = x[n] ∗ h[n] =N−1m=0x(n − m)h(m) (2)y[n] =N−1m=0x[n − m]H [m, S(x[n − m])] , (3)where:• H is the matrix of impulse responses obtained through thesystem analysis procedure.• S(x[n]) = 1 + {|x[n]| /(fs/M)} represents the selector function.Dynamic ConvolutionAndrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 6/21
  • 7. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionProposed algorithmSystem identificationPCA based preprocessingEmulation of the nonlinear systemA simplified model of dynamic convolution procedure has beendeveloped. It allows a faithful reproduction of the convolution operationlowering the computational cost required:Block diagram of the proposed algorithm.MAIN PHASES• System Identification• Preprocessing basedon PCA• EmulationAndrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 7/21
  • 8. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionProposed algorithmSystem identificationPCA based preprocessingEmulation of the nonlinear systemA MMLS technique has been used in order to obtain M IRs related to Minput signals of different amplitudes.MMLS signal used in the systemidentification procedure.5010015020025004080120−1−0.500.51Time [samples]IR indexAmplitudeDataset of IRs obtained analyzing aguitar pre-amplifier.Parameters configuration: Amplitude decreasing of 1dB for step,M = 64, and sample rate of 48 kHz.Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 8/21
  • 9. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionProposed algorithmSystem identificationPCA based preprocessingEmulation of the nonlinear systemPCA is applied to the matrix H obtained through the system analysisprocedure.PCA offers a mechanism for performing lossy data compression:high compression rate is provided by discarding the last principalcomponents, (i.e., those exhibiting the lowest variance).More in detail:ˆH = V · W , (4)where:• the basis vectors V is computed as the eigenvector of thecovariance matrix C = (H − H)(H − H)Twith H representinga L × M matrix with the averages of hk (n).• the principal components W are obtained as follows:W = V T· H (5)Going Deeper into PCAAndrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 9/21
  • 10. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionProposed algorithmSystem identificationPCA based preprocessingEmulation of the nonlinear system0 20 40 60 80 100 120−3−2−10123IR indexAmplitudeFirst basis vectorSecond basis vectorThird basis vector(i)0 100 200 300 400 500−2−10123Time [samples]AmplitudeFirst principal componentSecond principal componentThird principal component(ii)0 1 2 3 4020406080100Number of principal componentsCumulativepercentageofvariance(iii)Basis vectors (i), principal components (ii), percentage of cumulative variance (iii)obtained using the PCA analysis for a guitar pre-amplifier.Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 10/21
  • 11. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionProposed algorithmSystem identificationPCA based preprocessingEmulation of the nonlinear systemThe proposed approach allows one to approximate the dynamicconvolution operation using pairs of amplitude waveshapers and FIRfilters .The coefficients of these structures are set as:• Amplitude waveshapers → basis vectors Vi• FIR filters → principal components WiThe number N of Waveshaper and FIR filters used during the emulationdepends on the desired value of cumulative percentage of variance(higher is the percentage value better is the approximation).Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 11/21
  • 12. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionTargetDynamic convolutionProposed approachThe real time implementation of the proposed approach has been donethrough the Texas Instruments Evaluation Board OMAPL137.Hardware featuresDual-Core System-On-Chip300MHz ARM926EJ-S RISC MPU300MHz C674x VLIW Floating Point DSP128KByte RAM Shared Memory64MByte SDRAMEnhanced Direct-Memory-Access Controller 3 (EDMA3)2 I/O audio channel32KByte L1P Program RAM/Cache (DSP side)32KByte L1D Data RAM/Cache (DSP side)256KByte L2 Unified Mapped RAM/Cache (DSP side)• Design constraints: Sample frequency 48 kHz, latency 64 samples,floating point implementation;• ARM: used to manage the control parameters;• DSP: used to perform the DSP operations, exploiting its ownlibraries (i.e., DSPLib).Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 12/21
  • 13. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionTargetDynamic convolutionProposed approachThe real time implementation of the proposed approach has been donethrough the Texas Instruments Evaluation Board OMAPL137.Hardware featuresDual-Core System-On-Chip300MHz ARM926EJ-S RISC MPU300MHz C674x VLIW Floating Point DSP128KByte RAM Shared Memory64MByte SDRAMEnhanced Direct-Memory-Access Controller 3 (EDMA3)2 I/O audio channel32KByte L1P Program RAM/Cache (DSP side)32KByte L1D Data RAM/Cache (DSP side)256KByte L2 Unified Mapped RAM/Cache (DSP side)• Design constraints: Sample frequency 48 kHz, latency 64 samples,floating point implementation;• ARM: used to manage the control parameters;• DSP: used to perform the DSP operations, exploiting its ownlibraries (i.e., DSPLib).Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 12/21
  • 14. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionTargetDynamic convolutionProposed approachThe real time implementation of the proposed approach has been donethrough the Texas Instruments Evaluation Board OMAPL137.Hardware featuresDual-Core System-On-Chip300MHz ARM926EJ-S RISC MPU300MHz C674x VLIW Floating Point DSP128KByte RAM Shared Memory64MByte SDRAMEnhanced Direct-Memory-Access Controller 3 (EDMA3)2 I/O audio channel32KByte L1P Program RAM/Cache (DSP side)32KByte L1D Data RAM/Cache (DSP side)256KByte L2 Unified Mapped RAM/Cache (DSP side)• Design constraints: Sample frequency 48 kHz, latency 64 samples,floating point implementation;• ARM: used to manage the control parameters;• DSP: used to perform the DSP operations, exploiting its ownlibraries (i.e., DSPLib).Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 12/21
  • 15. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionTargetDynamic convolutionProposed approachThe real time implementation of the proposed approach has been donethrough the Texas Instruments Evaluation Board OMAPL137.Hardware featuresDual-Core System-On-Chip300MHz ARM926EJ-S RISC MPU300MHz C674x VLIW Floating Point DSP128KByte RAM Shared Memory64MByte SDRAMEnhanced Direct-Memory-Access Controller 3 (EDMA3)2 I/O audio channel32KByte L1P Program RAM/Cache (DSP side)32KByte L1D Data RAM/Cache (DSP side)256KByte L2 Unified Mapped RAM/Cache (DSP side)• Design constraints: Sample frequency 48 kHz, latency 64 samples,floating point implementation;• ARM: used to manage the control parameters;• DSP: used to perform the DSP operations, exploiting its ownlibraries (i.e., DSPLib).Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 12/21
  • 16. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionTargetDynamic convolutionProposed approachThe use of external memory is required due to the large amount ofmemory required by the application (i.e, lot of IRs to store).Block diagram of dynamic convolutionimplementation.It is possible to remove thenormalization operation:y[n] =N−1m=0x[n−m]H [m, s(x[n − m])] .y[n] =N−1m=0H [m, s(x[n − m])] .Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 13/21
  • 17. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionTargetDynamic convolutionProposed approachThe use of external memory is required due to the large amount ofmemory required by the application (i.e, lot of IRs to store).Block diagram of dynamic convolutionimplementation.1 The value of a pointer ischanged on the basis of alogarithmic function of theinput sample value.2 The IRs having amplitude justbelow and above theamplitude of the currentsample are stored into internalmemory and a linearinterpolation is performed.3 Circular buffer is used tomanage the accumulator.Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 14/21
  • 18. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionTargetDynamic convolutionProposed approachThe PCA procedure allows one to reduce the global memory usage andpermit to use internal memory for data storage.• Amplitude waveshaperAll the expedients used for dynamic convolution have been takeninto account (similar concepts assuming the length of each impulseresponse equals to 1 (L = 1)).• FIRAn efficient implementation has been obtained using the partitionedoverlap and save (POLS) algorithm.• The use of FFT symmetry property allows to reduce the number ofcomplex multiplications.• The use of DMA engine permit to parallelize external memorytransfers and processing operation.Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 15/21
  • 19. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionCase study: a digital guitar pre-amplifierObjective measureDynamic convolution can be employed to emulate several nonlineardevice.A digital guitar pre-amplifier has been taken into account (Guitar RigVST plugin).Case Study: Guitar Pre-AmplifierSeveral tests have been carried out to evaluate the effectiveness of theproposed algorithm comparing the workload of dynamic convolutionand PCA based approach.TestsAndrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 16/21
  • 20. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionCase study: a digital guitar pre-amplifierObjective measureOBJECTIVE MEASURESignal waveforms obtained during the guitar pre-amplifier simulation. (i) input signal,(ii) output generated by the nonlinear system, (iii) output produced with the dynamicconvolution, (iv) residual error using 1 PC, (v) residual error using 2 PCs, (vi) residualerror using 3 PCs.Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 17/21
  • 21. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionCase study: a digital guitar pre-amplifierObjective measureOBJECTIVE MEASURE100 200 300 400 500020406080100120IR length [samples]Workload(a) (b) (c) (d)Workload as a function of the IR length. (a)Dynamic convolution, (b) proposed approachusing 1 PC, (c) proposed approach using 2PCs, (d) proposed approach using 3 PCs.Principal components MSE1 1.67 ∗ 10−52 1.27 ∗ 10−63 2.59 ∗ 10−7MSE as a function of the numberof PCs.• The presented algorithm allows a faithful approximation of thedynamic convolution operation.• The proposed approach introduce a remarkable improvement interms of computational cost reduction.ConsiderationsAndrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 18/21
  • 22. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionConclusionFuture worksQuestionsIn conclusion:• A novel approach useful to reproduce nonlinearity behaviors andbased on dynamic convolution and principal component analysis, isproposed in this paper.• Exploiting the PCA procedure, it is possible to approximate thedynamic convolution operation reducing the computational costrequired during the nonlinear system emulation.• A DSP-based real time implementation has been performed andseveral experimental results have been carried out considering adigital guitar pre-amplifier as a particular case study.Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 19/21
  • 23. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionConclusionFuture worksQuestionsFuture works:• Will be oriented toward a further investigation of the proposedapproach through deeper listening test sessions and considering realanalog nonlinearities.Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 20/21
  • 24. Dynamic ConvolutionProposed AlgorithmEfficient DSP ImplementationResultsConclusionConclusionFuture worksQuestionsQUESTIONS?Andrea Primavera An Efficient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 21/21