Purpose of the lab report
The objective of the laboratory report in this study is to analyze the application of FIR low-pass screen into a DSP with use of a header file which is also referred to as a filter coefficient. The use of the header file is produced in the Lab 3 as a test sample for the piano which is also the bird2 sample and a wave file. The comparison aspect is built by making a direct comparison using the input verses the output.
Methodology of the lab report
Open the code composer to proceed by making copies of lab 2. This copies have to be pasted into the lab to cater for the formulated case which is mode=5. This will have attained the desired idea behind creation of the switching across the modes. For the presentation of the changing data types, the creation of a MATLAB should equally const float to present a definition of the filter coefficients which is located in the main file. The analysis of the sample numbers is critical as per previous input values. This is defined in this phase of the report. To achieve the record of the past input models, the addition of the magnitude of the input buffers is relevant and will guide of the history path. The input history is attained by rearranging existing IO streams and the definite values of & inBuf and &inBuf. The definition of the declarations in the audio Task( ) si obtained by the additional of new short static pointers to indicate the past input buffer. The pointer to the past input is set on the existing input through an establishment of the new case located inside the available switch statement which enables the management of FIR filter. The final phase is now completed for a prototype functionality of the filter FIR opertation. This has been achieved by clicking debug as a procedure test for the file wave which is ensured by graphing the input and also considering the output.
During the methodology, the header file is maintained by replacement of the float with a const float to indicate the constant values of the filter coefficients. Since the compiler is not able to efficiently translate the header file an additional # is included to entail the header file name. The sample numbers that formed part of the requirement are defined as the numbers are previous input values due to the equation
The filter is represented as order N and the computation nrequirement is presented as N-1 from the past samples that also have two channels from the audio. The history in the methodology is = (2 * (FILTER_SIZE – 1)) and its size=(HISTORY * sizeof(short)). To position the past input samples, the input buffers are increased in size and the history of two buffer lengths are added. The interchange of the IO streams is achieved by priming the input buffer index at the index [HISTORY]
The addition of the newly formed static short pointer at the variable declarations of Audio_Task() is used to indicate the past input buffer so as to enhance making copies of the previous HISTORY number of the samples obtained in the past input. This is also used to balance part of the memory which is prior to the existing input while initializing the existing values of the pointer which indicates the second buffer input inBuf[HISTORY]. The process of making copies in the switch case uses the memory copy (memcpy) to the past input on the history of the existing input. The existing input arrangement varies in the destination, the source and the bytes quantity copied. The observance of the destination and the source is presented as (&) of pIn and pPrior respectively. The destination is also presented as &pIn[-History] and the source is presented as&pPrior[2*BUFLEN-History]. The number of bytes will be 2*History (as in the chart conclusion section).
The creation of FIR functionality is named the switch mode with the writing as the prototype in the audioSample_io.h. The basic step in application of the above equation (1) is used to achieve the desired output. This cannot be obtained by C instead the variable are declared. The three existing variable are identified as (I, k and sum) this begins with a loop from loop from i=0 to i=buffer length to process each sample of the input. The process is precede by the summation of k as a variable and the loops from from k=0 until k=max filter size and based on equation (1), we can change to: sum += coeff[k] * pIn[(i-k)*2].
Following the findings, the possibility of a recommendation is minimal.
The beginning of the lab presentation is preceded by several errors of about ten. This is basic errors that include variable declaration, functionality request, prototype record in the header file and also the summation of FIR.
The chart is basic to performing the lab and writing the lab report. The chart summarizes the core indication of the lab objectives and provides explanations of how the source is obtained and the desired destination:
…History… pIn ……………………current input…………………… 2*BUFLENG
pPrior …… Previous Input …… History
Low pass filter transmits low frequency indicators and also attenuates signals point on the frequencies higher than the terminated frequency. The input/output charts demonstrate the variances. In the Pin graph; there is a signal from 3000 to 7500 also, its amplitude higher than 150000:
The short pass filter used in the input reduced the complex frequencies to be lower than 150000 or =150000. The signal is easily noticed at 3000 to 6000 to be removed due to the cut off frequency that was initiated from 3000: