.

Monday, April 1, 2019

Distortion effect for electric guitar

aberrancy effect for electric caral guitarDistortion strength For Electric Guitar development FPGAIntroductionProject Goals And ObjectivesThe goal of the tramp is to lend oneself aberrancy effects for electric guitar on an FPGA advance. The algorithm that is expiry to be utilize is The protracted Karplus Strong Algorithm (Jaffe Smith, 1983). The parallel of latitude speech ponderous call attention from the electric guitar is captured by the latitude to digital converter (ADC) staff of the board. The FPGA is loss to send the digital sound manoeuver to a speaker to be accepted.The algorithm is acquittance to be implement on FPGA instead of exploitation ASIC fancy approach. The pros and cons of FPGA purport and ASIC design argon discussed on the Xilinx website. The design utility comparison of FPGA and ASICand the design f depleted comparison of FPGA and ASIC (Xilinx Corporation, 2009).ASIC design has much go to complete as poop be seen . Also, it is suitable for really advanced volume designs. For a single unit, exploitation FPGA is a better solution. FPGA has no upfront non recurring expenses. It is faster to implement. Manufacturing of ASIC design chips incorporate long time. However, a design ho social occasion be downloaded to the FPGA and programmed truly fast. Considering all these, using FPGA design is more suitable for this picture.Project DeliverablesThe deliverables include the Verilog HDL jurisprudence of the design. It is spillage to be synthesizable and pot be utilize with suitable FPGA boards. The final regurgitate re larboard is qualifying to be delivered. It is passage to include the details of the hardw atomic number 18 algorithm, the design process and the solvings obtained from the working(a) bank check and the hardw be validation of the scheme. A demonstration of the project is doing to be do with the developed prototype of the arranging. The electric guitar is sack to be the in pose o f the system. The payoff from the board is sledding to be played through and through speakers.Technology TrendsBefore the invention of FPGAs, CPLDs (Complex Programmable Logic Device) were the around complex programmable logic devices. And in the beginning CPLDs, PALs (Programmable Array Logic) were used frequently.PALs were introduced in frame 1978 by Monolithic Memories, Inc. They be only one time programmable. PALs ar consisted of PROMs (programmable read-only retentivity). They were somely used in minicomputers. These devices vex fixed OR and programmable AND arrays. This enables the writ of execution of sum of products logic. A simplified programmable logic device. Typically, PAL devices claim a few hundred furnish.CPLD devices make higher complexities compargond to PAL devices. They have like induces to both PAL devices and FPGAs. Like PALs, they dont have external ROMs, which enable the CPLDs to sire functioning serious after startup. They have much highe r scrap of gates comp atomic number 18d to PAL devices. They have around thousands to tens of thousands of gates. However, this is low comp bed to FPGAs, since the number of gates inside the FPGAs can go up to a few millions.FPGAs have the al nearly number of gates and flip-flops compared to the others. They are more flexible just now their design is more complex.The graduation exercise twist effect for electric guitar wasnt produced on purpose. It was mostly safarid because of damaged guitar amplifiers. One example was a arranging by Johnny Brunette Trio, which caused a fuzz tone effect. (The Train unbroken Rollin, 2009). Electronic based distortion and overdrive effects came to scene in 1960s and 1970s. The effects were achieved by diodes, transistors and amplifiers and most of these pedals were one-dimensional. With the improvement in the digital foretell treat techniques, digital processors became an important dissolve of the technology in the last decade.Market Rese archThe digital products in the market nowadays feature more adjustable effects than just a distortion effect. Typically, they have parallel effect staffs that can run simultaneously. They excessively have advanced software program. They have preset tones and effect libraries, tuners and even more features. Also, most of them have USB embrasures with a PC or MAC for compatible recording software. So, the projects features arent sacking to be able to match the products features in the market.Boss, Line 6, Zoom, Korg, Digitech are among the major companies which produce digital guitar effects processors. The bestselling multieffect electric guitar processors on Amazon.com. It can be observed that Zoom and Digitech have the most market.Requirements helpal RequirementsThe electric guitar will be connected to the FPGA boards analog to digital converter comment. The analog to digital converter is dismission to convert the incoming analog quest to an 8-bit digital augury. The i ngest relative frequency is exit to be 44100 Hz, which is the standard for most of the digital phone files. The reason for choosing this sampling frequency is the military personnel ears ability. The human ear cannot perceive frequencies above 20 KHz. According to the Nyquist Sampling Theorem, a point out can be exactly reconstructed from its samples if the sampling frequency is greater than twice the highest frequency of the signal. If the highest frequency that the human ear can perceive is considered to be 20 KHz, anything above 40 KHz is press release to be enough for sampling frequency (Schulzrinne, 2008). The signal is spillage to be processed inside the FPGA using The Extended Karplus Strong Algorithm (Jaffe Smith, 1983). The processing should be fast enough so that the human ear cannot study the endure amidst the time when the player hits a note on the guitar and the time that the return is played by the speakers. afterward the processing, the 8-bit signal is issue to be converted to analog. Finally, this analog signal is passage away to be displace to the speakers and played. The hardware functionality that the system is pass to provide.Nonfunctional RequirementsThe most of important chasteness on the system will be the time constraint. The stick up in the midst of the input and payoff audio signals essential be minimized. This requires the design to be fast. For this purpose, the resources available on the FPGA should be used efficiently.The most of important constraints on the measure of the design is leaving to occur ascribable to the algorithm. Floating-point arithmetic king be ask to use according to the algorithm. This magnate cause the calculations to take longer.Also, another constraint on the system is the speed of the FPGA. The speed of the FPGA is not red to cause a problem for sampling the incoming analog audio signal. However, the speed of the FPGA is divergence to put a constraint on the speed of the algo rithm. A pipelined algorithm top executive be used in order to satisfy the requirements for the speed and the timing of the system. There are departure to be feedback loops, permeates and saturator blocks in the system. So, a pipelined algorithm is loss to increase the custom of these blocks and this is expiration to result in the increase in the throughput.If at that place is a pipelined algorithm, more resources are divergence to be call for to implement the pipelined system. The exceptional amount of the resources such as memory blocks and arithmetic units might put a constraint on the design.Also, another constraint is going to be the data width of the ADC and DAC. Due to the limited number of bits on ADC and DAC, the part of the digital audio signal is going to be limited.Product Requirements abstractThe product requirement abstract is through using Quality Function Deployment (QFD) technique.The most important criteria for customer satisfaction are low delay time and distortion effect level. Also, good estimable quality is very important too. murder of special effects is the least important feature of the product. Low power consumption, low cost, effect adjustability, good bass and duple sounds, good feedback are also expected to have good standards by the customer.In order to meet the customer expectations, most important misuse is choosing the distortion effect algorithm correctly. The use of external resources should be unplowed to minimum level in order to meet the speed requirements of the system. any use of external memory is going to cause additional memory access time and cause the system to function slower. This is going to result in an un wanted delay time.Bit soundness is also important. It is going to affect the sound quality. The higher number of bits is going to increase the quality. It might also help us get rid of using afloat(p) point arithmetic for implementing the vividness algorithm. However, the higher number of bits might cause a problem with the pipeline carrying out.Project RequirementsFPGA has to capture the analog sound and this signal is going to come from the output of an electric guitar.The FPGA board that is going to be used is chosen to be stark-3A appetiser Kit board because of its built in analog to digital converter and digital to analog converter facultys. The board also has a stereo mini bozo for audio. These features make this board very suitable for audio processing and thus, very suitable for this project. Also, the FPGA chip has 700 K gates (Xilinx Corporation, 2009).In order to play the output, stereo speakers are going to be connected to the board crepuscule to which the output signal is connected.The design is going to be through in register transfer level (RTL). The RTL design of the system is going to be depict using Verilog HDL. In order to do this, Xilinxs design ray of light Xilinx ISE wind vanepack 11.3, which is free a program, is going to be used. Bef ore prototyping the system, functional verification has to be completed successfully. For this purpose, Modelsim, which is develop by Mentor Graphics, is going to be used.Before starting the hardware design of the system, the algorithm is going to be simulated and verified using functional blocks in MATLAB Simulink.The hardware requirements for the system are and the software requirements for the system.DesignArchitectureAs discussed early, the algorithm that is going to be used is The Extended Karplus Strong Algorithm (Jaffe Smith, 1983). The algorithm extensively uses filters. The algorithm is postureed and simulated under MATLAB Simulink. The puzzle consists of functional blocks. The filters are defined by their discrete transfer functions. There is also a feedback loop. The sound is amplified by a bring in block and passes through a saturation block. The saturation block basically causes the signal to saturate if its bountifulness goes over or below specific thresholds. So , the higher the signal is amplified by the gain block, the more the signal is going to get distorted since it is going to be saturated from lower amplitude compared to its new peak value. The molding of The Karplus Strong Algorithm.Since there are consequent filter blocks, the signal is going to be delayed. To overcome the problem, the level of parallelism should be increased. Since there are 20 block RAMs in the FPGA, these can be used for increase the pipeline depth and the level of parallelism. When an 8-bit sample passes though the first filter, it is going to go to the second one. Instead of waiting and doing the second operation using the equal hardware, we should maximize the use of the resources and send the data that passed through the first filter to another resource. During that time, the other sample can pass through the first filter. Usage of block RAMs might be very secure here, in order to increase the throughput and the speed of the system.Since the data that is going to be processed isnt going to be large, only the internal block RAMs might be enough. Also, use of an external RAM is going to put more delay on the line because of the longer memory access time. This is extremely undesirable since the most important criterion for the system is its speed.StructureThe system consists of four primary(prenominal) part. First part is where the user interacts with the system. The user is going to provide an output from the guitar and that output is going to be captured by the FPGA board. FPGA is going to the process the output and pass it to the third part of the system, speakers. The stereo output is going to be played by the speakers. Also, a PC is needed to send the .bit file to program the FPGA.The FPGA board. It has an audio output port on the right top. If needed, DDR2 SDRAM can be used as external memory. The analog digital circuitry is used for capturing the analog signal to the board. The circuitry has 2-channel 14-bit analog to digita l converter and 4-channel 12-bit digital to analog converter. The switches can be used for turning the distortion on and off. Also, they can be used for the same purpose if additional sound effects are added to the system. Rotary knob can be used for adjusting the level of the distortion or the gain or the volume. The measurement that is going to be adjusted can be inflexible by the switches since there is only one rotary knob.InterfaceThere are three interfaces in the system. The first interface is for programming the FPGA. The data link between the FPGA and the computer is going to be achieved with USB 2.0. Xilinx jounce tool is going to be used to program the FPGA.The second interface is for capturing the analog audio signal from the electric guitar to the FPGA board. The on board analog to digital converter is going to be used for that purpose. Analog to digital converter unit on the board.The third interface is going to be between the FPGA and the speaker. The digital signa l is going to be converted to analog signal using Xilinxs digital to analog converter module and it is going to be sent to the audio jack port of the board. The stereo audio jack module. implementationImplementation ScopeAs discussed in Section 3.2, the system consists of four main part. The module for sending the .bit file from the PC to the FPGA is already given up with Xilix iMPACT tool, so no implementation is required for this.The second module is the audio input to the board. This is the input module. The input module is going to be implemented with the help of on board analog to digital converter. As discussed earlier, the sampling rate and the bit resolution are the most important parts of the input module. The sampling rate is going to be 44100 Hz and the resolution is planned to be 8 bits. The captured analog signal is going to be converted to digital signal and sent to FPGA module for processing.FPGA module is going to be responsible for processing the digital signal. F or faster and efficient processing, pipelined implementation is going to be done. This is going to be done using RTL verbal description of the hardware with Verilog HDL.The output module is going to convert the processed digital signal to analog and send it to the boards audio jack port for compete the processed signal using speakers. Xilinxs DAC module is going to be used for the implementation of this module.Implementation CoverageThe algorithm that is going to be used for implementation is The Extended Karplus Strong Algorithm (Jaffe Smith, 1983). The block diagram of The Extended Karplus Strong Algorithm.The output is going to be sent to gain and saturation blocks. There are filter blocks and delay blocks in the system. These functions are going to be implemented inside the FPGA. The first functional block is a pick-direction low pass filter (Smith III, Pick-Direction Lowpass Filter, 2009). The second functional block before the feedback loop is a pick-position comb filter (S mith III, Pick-Position ransack Filter, 2009). In the feedback loop, there is a delay block on the top. The other blocks are once again filters. After the delay block, the signal goes through a two-zero string damping filter (Smith III, Two-Zero String Damping Filter, 2009). Before the addition operation in the feedback loop, another pick-direction low pass filter is going to be used. After the loop, there is going to be dynamic level low pass filter (Smith III, dynamical Level Lowpass Filter, 2009).After these filters and delays, there is going to be a gain block which is used for increasing the level of distortion. Distortion effect is going to be generated by a saturation block. The saturation can use either hard press magazine or soft clipping. Soft clipping has higher complexity. It is a third order polynomial. It results in a drum sander sound. However, for more distorted and fuzzy sound, hard clipping is preferred. Since it has a heavier sound and is easier to implement , hard clipping is going to be used. The input-output relations of hard clipping and soft clippingDevelop Or Adopt DecisionThe most important part for the project is the FPGA board. It is going to be adopted. If I wanted to design the circuit with a PCB design tool in which I am not experienced, I would have paid a survey of money to get it manufactured. And the design has to be perfect before getting the chip produced. The decision of choosing whether to use FPGA design or ASIC design was discussed earlier in Section. So, buying and using an FPGA board is the best option here. Spartan 3A Starter Kit is going to be used for the project.For the output interface of the design, Xilinx has a module described in Verilog and is available for free. For DAC and output purposes, that module is going to be used.If there is an available module for the input port of the system for free from Xilinx, it is going to be adopted. Otherwise, the ADC module is going to be developed according to the ADC hardware available on the FPGA board.The design on the FPGA is going to be based on an algorithm but it is going to be designed by me.Also, an electric guitar and speakers with amplifiers are needed for the project. They were already available before the start of the project.For software, Xilinx ISE, Xilinx iMPACT, Modelsim XE and MATLAB are going to be used. MATLAB is already available and the others have free versions for students.Implementation Process triplet modules are going to be implemented. Each module can be implemented independently from each other. Finally, all the modules are going to be connected under a top module. DSP module is the main part of the design where the algorithm is going to be implemented. The functional verification of the design is going to be independent from the other modules.Implementation ResourcesThe resources for implementation can be grouped into two. First, we need hardware resources. The second group is the software resources.The most impo rtant resource for hardware is the FPGA development board. Spartan 3A Starter Kit is going to be used. This specific board is chosen due to some reasons. This board is suitable for DSP applications. It has ADC and DAC modules. It also has a stereo audio jack for outputting the processed signal. So, this board is going to be used for implementation.FPGA is going to be programmed from a PC. The hardware of the system is going to be described using Xilinx ISE tool, which requires a PC. So, we also need a PC for implementation. The connection of the board with the PC required a USB cable, which is provided with the board.We also need an electric guitar and speakers. The required hardware resources for implementation.Besides the hardware resources, some software resources are going to be needed too. First, before starting writing the code for the hardware, the algorithm is going to be well-tried and the functional blocks are going to be made clear using MATLAB Simulink software.For synt hesis and implementation, Xilinx ISE is going to be used. It is going to synthesize and implement the hardware described by Verilog HDL. It also includes Xilinx iMPACT tool which is used for sending the .bit file to the FPGA for programming.For functional verification, Xilinx variation of Modelsim, developed by Mentor Graphics is going to be used.Implementation ActivitiesThe project group consists of only one person. So design, verification, implementation and examination are going to be done by me.During the project, additional develop and study is going to be required in digital signal processing and filters. Also, digital filter design should also be studied. other thing that needs improvement is writing political campaignbench to verify the designed system. examenTesting ScopeThe footraceing of the system consists of two parts. There is a functional verification part and a hardware validation part. For functional verification, Modelsim XE software is going to be used with V erilog HDL.The parts that are going to be tested are the input module, the output module, the DSP module. After the integration of the modules in order to form the system, the whole system is going to be tested. Also, the hardware validation of the DSP and output modules can be done without a working input module. A randomly generated signal in FPGA can be processed and sent to output module for playing and this can be tested.Testing CoverageAs explained in Section, the modules are going to be tested individually at first.The input module is going to get an analog signal from an external source. This might be coming from the electric guitar or directly from a PC. If the input signal is coming from PC, the signal can be adjusted to be wide and therefore testing can be simpler. After the variety, the signal is going to be observed. Also, if the output module is working, the input signal can be directly transferred to the output module without any signal processing done on it.A rando mly generated signal inside the FPGA is going to be enough to test the output module.DSP module is going to be tested by functional verification. The filters, the gain and the saturation blocks are going to be tested. After these, the whole DSP module is going to be tested. An example of input and output of the system with hard clipping.Pass/Fail CriteriaThe pass/ violate criterion for the input module is going to be its analog to digital conversion performance. If a given analog input can be correctly converted to digital signal, it is going to pass the test. digital conversion operation with its input and expected output.The module, the expected output is going to be the signal on the bottom (Azima DLI , 2009). In order to pass the test, the module has to give the correct output for each stimulus applied.The output module has to do digital to analog conversion and send the signal to speakers. For that, a signal is going to be generated inside the FPGA. This signals amplitude an d frequency is going to be changed. According to the changes, we are going to expect different outputs. The output is going to be listened through the speakers. In order to pass the test, the output module should correctly respond to every amplitude and frequency change.The DSP module is going to be tested with functional verification. A summons model is going to be constructed in behavioral level. Randomly generated stimulus is going to be applied to the design and to the character model at the same time. In order to pass the test, the results from the DSP module and the reference model have to match 100%. Another important criterion for the DSP module is its timing. The delay between the input and the output has to be below a determined quantity in order to pass the test.Testing ApproachIn order to test the DSP module, a self checking testbench is going to be pen using Verilog HDL. There is going to be a behaviorally modeled reference unit inside the test bench. The test bench is going to generate random stimuli. These stimuli are going to be applied to both a design under test unit (DUT), which is a module from the design, and the reference model. Then, the results are going to be compared in a scoreboard. The verification approach.Also, the timing of the system is going to be considered since it is one of the most important parts of the project. After the functional verification, the timing analysis of the implemented system must be done using Xilinx ISE.Testing ResourcesFirst, in order to test the algorithm, MATLAB Simulink is going to be used.In order to test the input module, instead a PC or an electric guitar is going to be needed as discussed in the second paragraph.To test the output module, speakers or headphones are going to be needed.For functional verification of the DSP module, Modelsim XE is needed. Also, for the timing analysis of the design, Xilinx ISE is going to be used.Test CasesAfter these inputs are applied, the outputs from the refe rence model and the DUT are also going to be stored in response file, which is going to be in .txt format. Finally, a log file is going to charge where the errors occurred, if there are any errors or it is going to show that no errors occurred in the simulation. Looking at the log file and the response file, we are going to able to see where exactly the errors occurred.Test ActivitiesSince the group has just one member, every part of testing is going to be done by me. More training about writing self checking test benches using Verilog HDL should be done.6. ScheduleIf we look at the fresh chart, we can calculate the critical travel plan. The critical passageway consists of the following activities A-F-G-H-I-J-K. This path leads to a finis time of 133 days.If the most optimistic and the most disheartened completion of each activity is estimated, we can calculate the expected completion time and the variance of the project. The expression for the expected completion time is give n in Equation and the expression for variance is given in Equation. Using these equations, the completion time and the variance are calculated. The activities in the critical path are highlighted and the calculations are done according to the critical path.PERT calculation gives almost the same result with the CPM result. CPM result was 133 days. PERT calculation gives an estimated project completion time of 133.166 days. Also, the variance turned out to be 26.58. This nitty-gritty the project can be completed 26.58 days earlier or later.The Gantt Chart of the project is given. The estimated start date of the project is December 27, 2009. The project is planned to be completed on May 9, 2010.BibliographyAzima DLI . (2009, February 8). Analog to Digital Conversion. Retrieved November 29, 2009, from Azima DLI Corporation Web billet http//www.azimadli.com/vibman/analogtodigitalconversion.htmCollicut, M. (2009, March 3). Extending the Karplus-Strong Algorithm to Simulate Guitar Distor tion and Feedback Effects. Retrieved November 29, 2009, from McGill University Web localize http//mt.music.mcgill.ca/collicuttm/MUMT618/KSA_distortion_and_feedback.htmlJaffe, D. A., Smith, J. O. (1983). Extensions of the Karplus-Strong plucked string algorithm. Computer Music journal , 56-69.Schulzrinne, H. (2008, January 9). Explanation of 44.1 kHz CD sampling rate. Retrieved November 27, 2009, from Columbia University Web settle http//www.cs.columbia.edu/hgs/audio/44.1.htmlSmith III, J. O. (2009, March 21). Dynamic Level Lowpass Filter. Retrieved November 28, 2009, from Stanford University Web Site https//ccrma.stanford.edu/realsimple/faust_strings/Dynamic_Level_Lowpass_Filter.htmlSmith III, J. O. (2009, March 21). Pick-Direction Lowpass Filter. Retrieved November 28, 2009, from Stanford University Web Site https//ccrma.stanford.edu/realsimple/faust_strings/Pick_Direction_Lowpass_Filter.htmlSmith III, J. O. (2009, March 21). Pick-Position Comb Filter. Retrieved November 28, 200 9, from Stanford University Web Site https//ccrma.stanford.edu/realsimple/faust_strings/Pick_Position_Comb_Filter.htmlSmith III, J. O. (2009, March 21). Two-Zero String Damping Filter. Retrieved November 28, 2009, from Stanford University Web Site https//ccrma.stanford.edu/realsimple/faust_strings/Two_Zero_String_Damping_Filter.htmlSullivan, C. R. (1990). Extending the Karplus-Strong Algorithm to Synthesize Electric Guitar Timbres with Distortion and Feedback. Computer Music diary , 26-37.The Train Kept Rollin. (2009, November 21). Retrieved November 21, 2009, from allmusic http//www.allmusic.com/cg/amg.dll?p=amgsql=33jjfoxzq0ldteXilinx Corporation. (2009, April 8). Getting Started with FPGAs FPGA vs. ASIC. Retrieved November 20, 2009, from Xilinx Corporation Web site http//www.xilinx.com/company/gettingstarted/fpgavsasic.htmXilinx Corporation. (2009, October 6). Spartan-3A Starter Kit. Retrieved November 27, 2009, from Xilinx Corporation Web site http//www.xilinx.com/products/dev kits/HW-SPAR3A-SK-UNI-G.htm

No comments:

Post a Comment