In this assignment, you are required to implement an autocorrelation-based pitch estimation of an audio signal using BF561. The program should process a live audio signal, calculate the pitch and display the (quantised) result using LEDs.
There are many algorithms for estimating pitch with varying degree of sophistication and effectiveness. The notes below describe one simple method of reasonable effectiveness. The estimation may not be perfect. This assignment is about DSP programming not audio analysis. The issue is not to investigate how the algorithm can be improved from an audio analysis perspective but to understand how best to achieve a good result using a fixed point digital signal processor. This may involve understanding how to minimise the amount of floating point computation, how to handle very large and very small values, and how to stage processing to keep the DSP operating efficiently. Clearly the first objective is to understand the algorithm and to obtain a correct implementation. To this end, it may be a good idea to first implement this program in Matlab on a desktop computer so that you have a reference programme and result to compare with the result of the DSP version of the program. To demonstrate that the DSP programme is working correctly you should build a version that will process the provided pre-recorded wav-file (which can be loaded into memory) and report the estimated pitch values. Ultimately you should demonstrate a programme that will process live audio recording.
An input audio signal s(n) is to be analysed at regular time intervals – this is 512 samples in our case when using the sampling frequency Fs=48kHz. At a given time ‘n’, calculate the autocorrelation function using the previous N (set to 4096) samples of the signal as:
Set the values of ‘k’ from 40 to 500. Start calculating the autocorrelation function rn(k) the first time at then sample n=4596 and then at sample 5108, 5620, etc.
For a given ‘n’, find the first peak of the autocorrelation function in the above range of ‘k’, which has the normalised autocorrelation value rn(k)/rn(0) above 0.7. If such peak does exist, find the index of that peak, which we denote by Dn. The estimate of the pitch at time ‘n’ is then Pn=Fs/Dn. If there is no normalised autocorrelation peak value above 0.7, set Pn to 0.
Display the value of Pn using LEDs such that a different LED is lit when the value is in intervals (0-50), (51-200), (201-400), (401-600), (601-800), (801-1000), and (1001-1200).
This assignment will be carried out by working individually. This assignment will be assessed by a workplan presentation, demonstration of the programme and a report as described in the attached assessment form. Please use this form to verify that you have addressed the relevant issues before you submit your report.
Each student will be invited to give, in private, a 10 minute presentation of their plan of work for completing the assignment. This workplan should identify what needs to be
explained and plans for evaluation described. Brief written feedback will be given, within 72 hours of the presentation of the workplan.
Each demonstration will be in private. In the demonstration you will have 15 minutes:
1. 5 minutes to demonstrate a working system.
2. 5 minutes to explain the key features of what you have done (a maximum of 5 power point slides)
3. 5 minutes in which you will be questioned.
Marks will be allocated on correctness of operation, clarity of demonstration, clarity of presentation and ability to answer questions. If it is not possible to ask questions or because the demonstration or the presentation has overrun this will adversely affect the mark awarded.
A brief written feedback will be given, within 72 hours of the demonstration, so that you can take any comments into account in your report. You should have largely completed the report by the time of the presentation.
Please be prepared and ready to start on time. If you are late it might not be possible to reschedule a time for your presentation.
The demonstration will be on Wednesday 16th September 2015 from 10:30am in room 337.
The report should describe the whole programme, the use of buffers, the configuration of the audio codec, the calculation of the autocorrelation function, detection of peaks and pitch estimation and displaying using LEDs. Pay attention to explain how the implementation is computationally efficient, and comment on the effectiveness of the algorithms used and their implementation. To evaluate the implementation and performance you might wish to make comparisons with an implementation on a PC. Report on your success in optimizing the implementation.
The report should identify which existing Blackfin DSP project has been used, how it has been adapted and you should provide a listing of the new software written. The body of the report should be no more than 15 pages plus programme listings.
The report should be typed and clearly written. There should be a title page bearing your student ID number, your name and a contents page. Each page should be numbered and the section headings should be numbered. All figures should have a caption underneath and each table a caption above. References should be cited and listed using the Birmingham Harvard system.
Submit the final report and all source code and executable files by 12 noon on Monday 21st September 2015. Submit the report as a single pdf file and all the source code and executable files as 1 zipped file.
Late submission will be penalised at 5% per working day late. This is a strict deadline.
The programming language is Assembly if not in C using Visual DSP++ 5.0
Our Service Charter
Excellent Quality / 100% Plagiarism-FreeWe employ a number of measures to ensure top quality essays. The papers go through a system of quality control prior to delivery. We run plagiarism checks on each paper to ensure that they will be 100% plagiarism-free. So, only clean copies hit customers’ emails. We also never resell the papers completed by our writers. So, once it is checked using a plagiarism checker, the paper will be unique. Speaking of the academic writing standards, we will stick to the assignment brief given by the customer and assign the perfect writer. By saying “the perfect writer” we mean the one having an academic degree in the customer’s study field and positive feedback from other customers.
Free RevisionsWe keep the quality bar of all papers high. But in case you need some extra brilliance to the paper, here’s what to do. First of all, you can choose a top writer. It means that we will assign an expert with a degree in your subject. And secondly, you can rely on our editing services. Our editors will revise your papers, checking whether or not they comply with high standards of academic writing. In addition, editing entails adjusting content if it’s off the topic, adding more sources, refining the language style, and making sure the referencing style is followed.
Confidentiality / 100% No DisclosureWe make sure that clients’ personal data remains confidential and is not exploited for any purposes beyond those related to our services. We only ask you to provide us with the information that is required to produce the paper according to your writing needs. Please note that the payment info is protected as well. Feel free to refer to the support team for more information about our payment methods. The fact that you used our service is kept secret due to the advanced security standards. So, you can be sure that no one will find out that you got a paper from our writing service.
Money Back GuaranteeIf the writer doesn’t address all the questions on your assignment brief or the delivered paper appears to be off the topic, you can ask for a refund. Or, if it is applicable, you can opt in for free revision within 14-30 days, depending on your paper’s length. The revision or refund request should be sent within 14 days after delivery. The customer gets 100% money-back in case they haven't downloaded the paper. All approved refunds will be returned to the customer’s credit card or Bonus Balance in a form of store credit. Take a note that we will send an extra compensation if the customers goes with a store credit.
24/7 Customer SupportWe have a support team working 24/7 ready to give your issue concerning the order their immediate attention. If you have any questions about the ordering process, communication with the writer, payment options, feel free to join live chat. Be sure to get a fast response. They can also give you the exact price quote, taking into account the timing, desired academic level of the paper, and the number of pages.