In this week the following tasks were accomplished:
Redesigned the Engineering Requirements section on the website at advisors request
Added Supporting elements in Engineering Specifications Table regarding ADC/DAC Specs. Also added elements to the power budget requirements
Set up environment for testing DSP codes for the effects to be created for the UI application. As well as the GitHub repository for the first effect to be introduced (Distortion) .
Provided testing and design rough draft for the band pass filter used in in the electronic module.
Bandpass Filter
The following circuit diagram shows the arrangement and specifications of the band pass filter.
Circuit simulations using PSpice showed the expected behavior of the filters at the upper and lower ranges of the potentiometers although proven imprecise when selecting specific frequencies
High pass filter at 88Hz Cutoff, Low pass filter at cutoff 10kHz
High pass filter at cutoff 500Hz, Low pass filter at cutoff 2.5kHz
The low precision of the filters is likely due to the its passive nature, as the calculations used to find the cutoff points assume isolated circuitry. A proposed solution would be to make the filter to be active and provide a buffer in between both HPF and LPF to isolate them.
Testing was also performed using a guitar and an emulated Equalizer tool, to emulate the typical conditions that would be seen from the guitar and the relevant frequencies required for proper sound quality.
Applying the minimum settings of the proposed bandpass filter gave out promising results in terms of audio quality, as it allowed for high frequency noise to be rejected by the system.
The following calculations were performed to get the cutoff frequencies for the bandpass filter:
Update on software used: JUCE and ASIO API
As seen on the last update, the previous software used was difficult to interact with and manipulate due to its high level code structure. The new proposed frameworks used provide more customization and control with the disadvantage of higher complexity.
JUCE:
This is an open source set of libraries used to create VSTfx (Virtual Studio Techonologies Effects). Using this libraries will come at the expense of having to learn how to write efficient DSP codes in order to provide the appropriate effects. This comes with the advantage that it can be easily render by a regular microprocessor instead of relying on a standalone DSP which simplifies the circuit and overall complexity of the project. These libraries also provide support for creating UI interfaces for each of the effects as well as just functioning as a backend for processing.
ASIO API
ASIO4All is a very common audio effects driver manager that improves performance on audio applications by isolating the operating system's sounds and giving all of the audio processing power of the machine to an specific application. The ASIO API software will allow us to use ASIO4ALL in our standalone application which will ease up development by allowing direct manipulation and handling of the Sample Rate and Buffer Size of the system.
Comments