Presentation is loading. Please wait.

Presentation is loading. Please wait.

Digital Guitar Effects Group 5 Shaun Caraway, EE Matt Evens, EE Jan Nevarez, CpE.

Similar presentations


Presentation on theme: "Digital Guitar Effects Group 5 Shaun Caraway, EE Matt Evens, EE Jan Nevarez, CpE."— Presentation transcript:

1 Digital Guitar Effects Group 5 Shaun Caraway, EE Matt Evens, EE Jan Nevarez, CpE

2 Motivation and Value of Project

3 Goals Professional grade audio quality (Low noise, high resolution, etc.) Able to process a guitar signal in real-time with less than 3 ms of latency Simple user interface Include common effects used by guitarist. Reverb, distortion, etc.

4 Specifications Less than 3 ms of latency 16 bit 44.1kHz Maximum input 2 Vpp Line level output of Vrms Headphone output impedance less than 50Ω

5 Over all System Design ATMEL ATSAM3X8E WM8731 CODEC LM V JTAG INTERFACE MSP430G2553 ATMEGA328P LM V LM1085 5V JTAG INTERFACE CONTROLS DISPLAY I2C (TW) GPIO I2C (TW) SPI Audio Processing Subsystem User Interface Subsystem

6 Algorithms

7 Delay – Used to create an “echo” type of sound. » y(n) = x(n) + [x(n – D) + G*y(n – D)]  x(n)y(n) 1 1 Z^-n

8 Algorithms Reverb – Simulates sound being played in a large room or hallway. – Most intense algorithm. Pushed the limits of the ATMEL SAM 3X8E – Uses parallel combination of Comb filters in series with all pass filters.

9 Algorithms Reverb – All Pass Filter » y(n) = -gx(n) + x(n – D) + gy(n – D) – Comb Filter » y(n) = x(n – D) + gy(n – D) – Low Pass Comb Filter » y(n) = x(n – D) – g2x(n – D – 1) + g2y(n – 1) + g1y(n – D) » Where g = g2/(1-g1), with g < 1.0

10 Algorithms Reverb Pre-Delay LPF1APF1APF2 Comb 1 Comb 2 LPFComb 3 LPFComb 4 APF3LPF2  x(n) y(n)

11 Algorithms Chorus – Meant to simulate multiple instruments playing together. – Generally used to “thicken” the sound. » y(n) = a1x(n) + Gx(n – D(n))

12 Algorithms Compressor – Meant to control the dynamics of incoming signal » y(n) = x(n) + [x(n – D) + G*y(n – D)]

13 Algorithms Distortion – Used to purposefully distort the incoming guitar signal. Known as a static wave shapper. » y(n) = arctan(x(n))

14 Hardware

15 User Interface Subsystem Microprocessors MSP430G2553IPW28 Program Memory16KB Speed16MHz IO24 I2C Serial Communication interface Compatible with TW Operating Voltage3.3V ATmega328P AVR Program Memory32 Kbytes Speed20MHz IO23 TWSerial Communication interface Compatible with I2C SPISerial Communication Operating Voltage5V

16 User Interface Subsystem Schematic

17

18 User Interface Subsystem PCB

19 MSP430-JTAG connection I2C Terminal Block MSP430G2553 ATMEGA328P Controls Terminal Block LCD module Terminal Block Push Button Voltage Regulators

20 Audio Processing Subsystem SAM3X8E Cortex-M3 Program Memory512 Kbytes Speed84MHz I/O Lines103 2xTWSerial Communication interface Compatible with I2C SPISerial Communication CPU CoreARM Operating Voltages3.3 and 1.95 V

21 Audio Processing Subsystem Schematic

22

23

24 Audio Processing Subsystem PCB

25 ATMSAM3X8E JTAG-Interface/ Configuration ATMSAM3X8E Microcontroller WM8731 Audio CODEC I2C/TW Terminal Block Audio Input Line Output Headphone Output Voltage Regulator

26 Power Requierments

27 Power Requierments LM1085 LDO regulator series V in Max27 volts V out3.3, 5 volts Drop Out Voltage1.3 volts I out Max3 amps Enercell AC Adapter CAT-NO Input V AC 50/60Hz 0.5Amps Output7.5V DC 2 Amps

28 Original DSP Subsystem

29 Original User Interface Subsystem PCB

30 Software

31 Software Overview User Interface Allow for control Display Menu Options Signal Interrupts User Interface Allow for control Display Menu Options Signal Interrupts Audio Processing Software Model Amplifier Model Effects Allow for various parameter changes Audio Processing Software Model Amplifier Model Effects Allow for various parameter changes I2C Bus

32 User Interface Subsystem Written in C language MSP430 used Energia IDE ATmega328 used Arduino IDE Push buttons generate interrupts Generates binary coded commands MSP430 Transmits to the screen controlled by the ATmega328 and the Audio Processing Subsystem over the I2C bus

33 User Interface Subsystem Codes for the Audio Processing Codes for the Screen Subsystem

34 User Interface Subsystem void initSetup () void I2CTransmite() void navigate() void pushButton() void menuSetup() int main() void initSetup () void I2CTransmite() void navigate() void pushButton() void menuSetup() int main() Main void SPIConfig() void sendData() int main() void SPIConfig() void sendData() int main() I2C void init() void interrupt() int main() void init() void interrupt() int main() Buttons void initSetup () void downButton() void upButton() void forwardButton() void backButton() void whatToDo() int main() void initSetup () void downButton() void upButton() void forwardButton() void backButton() void whatToDo() int main() Menu void initSetup () void changeDisplay() void onRecieve() int main() void initSetup () void changeDisplay() void onRecieve() int main() LCD Controller

35 Audio Processing Subsystem Writing in C via Atmel studios Model Amplifiers/Effects Communicates to the Codec through the SPI peripheral Programs the Codec through the I2C bus Receives controller codes through I2C bus

36 Audio Processing Subsystem void initSetup () void I2CReceive () void modelAmplifier() void modelEffects() void SPItransmit() void SPIreceive() int main() void initSetup () void I2CReceive () void modelAmplifier() void modelEffects() void SPItransmit() void SPIreceive() int main() Main void SPIConfig() void tranSmiteData() void receiveData() int main() void SPIConfig() void tranSmiteData() void receiveData() int main() SPI void I2CSPConfig() void receiveData() void transmitData() int main() void I2CSPConfig() void receiveData() void transmitData() int main() I2C void initSetup() void changeGain() void changeBass() void changeMid() void changeVolume() int main() void initSetup() void changeGain() void changeBass() void changeMid() void changeVolume() int main() Amplifier void initSetup() void changeGain() Void changeInterval() int main() void initSetup() void changeGain() Void changeInterval() int main() Effects

37 Administrative

38 Distribution of Responsibilities Shaun User Interface Hardware Audio Processing Hardware Power Jan User Interface Software Audio Processing Software Audio software Algorithm Simulation Matt Audio Codec Input Audio Codec Ouput Algorithms

39 Project Challenges Digital Signal Processing Doing multiple double and int multiplication and division Preventing noise on the distortion effect Learning the PCB CAD software Hardware Debuging Challenges

40 Project Challenges - User Interface POWER TRACE GROUN PIN VIA TO GROUND

41 Project Challenges - Audio Processing JTAG Configuration – According to data sheet SignalState FWUPHI NRSTBHI JTAGSELHI TSTLO JTAG Configuration – Working SignalState FWUPHI NRSTBHI JTAGSELLO TSTLO JTAGSEL TST

42 Project Challenges - Audio Processing DATA CLOCK CUT TRACES

43 Budget

44 Questions?

45 Copy this slide Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus et magna. Fusce sed sem sed magna suscipit egestas.

46 Current Progress

47 Milestones


Download ppt "Digital Guitar Effects Group 5 Shaun Caraway, EE Matt Evens, EE Jan Nevarez, CpE."

Similar presentations


Ads by Google