### SlideShare for iOS

by Linkedin Corporation

FREE - On the App Store

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.

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

- Likes
- 1
- Downloads
- 13
- Comments
- 0

No embeds

Uploaded via SlideShare as Adobe PDF

© All Rights Reserved

- 1. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusionAn Eﬃcient 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 1/21
- 2. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusion1 Dynamic ConvolutionIntroductionState of the art2 Proposed AlgorithmProposed algorithmSystem identiﬁcationPCA based preprocessingEmulation of the nonlinear system3 Eﬃcient DSP ImplementationTargetDynamic convolutionProposed approach4 ResultsCase study: a digital guitar pre-ampliﬁerObjective measure5 ConclusionConclusionFuture worksQuestionsAndrea Primavera An Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 2/21
- 3. Dynamic ConvolutionProposed AlgorithmEﬃcient 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 3/21
- 4. Dynamic ConvolutionProposed AlgorithmEﬃcient 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 eﬃcient 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 4/21
- 5. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusionIntroductionState of the artFor discrete-time signals x and impulse response h with a ﬁnite 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 5/21
- 6. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusionIntroductionState of the artFor discrete-time signals x and impulse response h with a ﬁnite 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 6/21
- 7. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusionProposed algorithmSystem identiﬁcationPCA based preprocessingEmulation of the nonlinear systemA simpliﬁed 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 Identiﬁcation• Preprocessing basedon PCA• EmulationAndrea Primavera An Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 7/21
- 8. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusionProposed algorithmSystem identiﬁcationPCA based preprocessingEmulation of the nonlinear systemA MMLS technique has been used in order to obtain M IRs related to Minput signals of diﬀerent amplitudes.MMLS signal used in the systemidentiﬁcation procedure.5010015020025004080120−1−0.500.51Time [samples]IR indexAmplitudeDataset of IRs obtained analyzing aguitar pre-ampliﬁer.Parameters conﬁguration: Amplitude decreasing of 1dB for step,M = 64, and sample rate of 48 kHz.Andrea Primavera An Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 8/21
- 9. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusionProposed algorithmSystem identiﬁcationPCA based preprocessingEmulation of the nonlinear systemPCA is applied to the matrix H obtained through the system analysisprocedure.PCA oﬀers 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 9/21
- 10. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusionProposed algorithmSystem identiﬁcationPCA 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-ampliﬁer.Andrea Primavera An Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 10/21
- 11. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusionProposed algorithmSystem identiﬁcationPCA based preprocessingEmulation of the nonlinear systemThe proposed approach allows one to approximate the dynamicconvolution operation using pairs of amplitude waveshapers and FIRﬁlters .The coeﬃcients of these structures are set as:• Amplitude waveshapers → basis vectors Vi• FIR ﬁlters → principal components WiThe number N of Waveshaper and FIR ﬁlters 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 11/21
- 12. Dynamic ConvolutionProposed AlgorithmEﬃcient 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 Uniﬁed Mapped RAM/Cache (DSP side)• Design constraints: Sample frequency 48 kHz, latency 64 samples,ﬂoating 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 12/21
- 13. Dynamic ConvolutionProposed AlgorithmEﬃcient 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 Uniﬁed Mapped RAM/Cache (DSP side)• Design constraints: Sample frequency 48 kHz, latency 64 samples,ﬂoating 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 12/21
- 14. Dynamic ConvolutionProposed AlgorithmEﬃcient 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 Uniﬁed Mapped RAM/Cache (DSP side)• Design constraints: Sample frequency 48 kHz, latency 64 samples,ﬂoating 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 12/21
- 15. Dynamic ConvolutionProposed AlgorithmEﬃcient 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 Uniﬁed Mapped RAM/Cache (DSP side)• Design constraints: Sample frequency 48 kHz, latency 64 samples,ﬂoating 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 12/21
- 16. Dynamic ConvolutionProposed AlgorithmEﬃcient 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 13/21
- 17. Dynamic ConvolutionProposed AlgorithmEﬃcient 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 buﬀer is used tomanage the accumulator.Andrea Primavera An Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 14/21
- 18. Dynamic ConvolutionProposed AlgorithmEﬃcient 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 eﬃcient 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 15/21
- 19. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusionCase study: a digital guitar pre-ampliﬁerObjective measureDynamic convolution can be employed to emulate several nonlineardevice.A digital guitar pre-ampliﬁer has been taken into account (Guitar RigVST plugin).Case Study: Guitar Pre-AmpliﬁerSeveral tests have been carried out to evaluate the eﬀectiveness of theproposed algorithm comparing the workload of dynamic convolutionand PCA based approach.TestsAndrea Primavera An Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 16/21
- 20. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusionCase study: a digital guitar pre-ampliﬁerObjective measureOBJECTIVE MEASURESignal waveforms obtained during the guitar pre-ampliﬁer 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 17/21
- 21. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusionCase study: a digital guitar pre-ampliﬁerObjective 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 18/21
- 22. Dynamic ConvolutionProposed AlgorithmEﬃcient 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-ampliﬁer as a particular case study.Andrea Primavera An Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 19/21
- 23. Dynamic ConvolutionProposed AlgorithmEﬃcient 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 Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 20/21
- 24. Dynamic ConvolutionProposed AlgorithmEﬃcient DSP ImplementationResultsConclusionConclusionFuture worksQuestionsQUESTIONS?Andrea Primavera An Eﬃcient DSP Implementation of a Dynamic Convolution Approach Using Principal Component Analysis 21/21

Full NameComment goes here.iam Hiraat Student 11 months ago