Advanced DSP (MOD007721) | Speech Vocoder and Digital Filter Design Assignment 2026 Advanced DSP (MOD007721) Course Work –Assignment Hand-in date: Friday 27th November 2026, by 2 p.m
Advanced DSP (MOD007721) | Speech Vocoder and Digital Filter Design Assignment 2026 Advanced DSP (MOD007721) Course Work –Assignment Hand-in date: Friday 27th November 2026, by 2 p.m.
Weighting: 60% of the final mark
This assignment has two parts (Part 1 – Speech Vocoder and Part 2 – Digital Filter Design, as described below. In order to pass this assignment, you must:
Submit a written report in two parts, corresponding to the two tasks below. It will present the methods used and calculations performed, code and results. The report should be up to 3000 words and must be submitted on the module VLE by Friday 5th December 2023 before 2 pm – please note the time).
Present your solutions in a short viva (approximately 10 minutes) that will include a demonstration of the operation of the Vocoder and of the design applications on FIR and IIR types. The viva will take place during the practical of week 12. This viva is a Pass/Fail component – it will not be graded, but must be passed in order to pass the assignment component. Part 1: Speech Vocoder programmed in Matlab Task for Part 1 Use Matlab to develop a piece of software able to produce what is colloquially referred as ‘Shannon Speech’, i.e. sound produced by a system like the one in the diagram below:
The software will be accompanied by a concise technical report that will explain its operation and applications.
Instructions for Part 1 You need to write appropriate Matlab programs to perform the operations required, commenting your code in detail.
Present the software developed, its operation and applications in a concise, but clear technical report (part 1 of the assignment); include your code as an appendix to the report and on a USB Memory Stick.
Technical specification of the Vocoder (Part 1) The input signal, which is digital, is band-pass filtered into a number of channels. The output of each filter is half-rectified, low-pass filtered (to extract the envelope) and multiplied by white noise. Then, the result in each channel is filtered again by another band-pass filter. Finally, the channels are added to form the output. (The filled triangles represent places where a gain adjustment can be made, but this is not compulsory.)
Research has shown that the speech of a single talker recorded in quiet, processed by only four channels in this way, is surprisingly highly intelligible.
System parameters: Input bandwidth: 0-11 kHz (22.05 kHz sampling rate at 16 bits) Number of channels: user specified value between 1 to 24. Choose 18 for example. Analysis filters: Shannon used 3rd order elliptical IIR filters, Rosen used 6th order elliptical IIR filters. Investigate various possibilities in Matlab, including how to find an optimal order of a filter. Bandwidths of analysis filters – you can choose your own bandwidths, but here is a way of calculating cut-off frequencies for the band-pass filters that is consistent with human hearing: Divide the interval 0 to 35 into a number of equal intervals – each of these will correspond to a frequency band. For example: if you want 4 channels, divide 35 by 4 and get the following numbers: x = 0, 8.75, 17.5, 26.25, 35.
Each number in x will give you a cut-off point for the frequency bands when you use the formula: f=165.4 (100.06x - 1) In the example above, the cut-off points will be: 0 0.0389 1690 6051 20657 (all Hz).
Low-pass filters: Investigate possibilities in Matlab (recommend 1st order Butterworth or elliptical IIR filters with a cut-off at 160 Hz). Multiplying signal: white noise. Output filters: same number and specification as the analysis filters. Required:
Analyse the principle of the design and operation Explain why FFT and Rectification were used Explain the spectrums of one step Why VOCODERS are used in music. Give example. Part 2: Digital filter Design and Questions Task for Part 2 Design a FIR LPF from 300 Hz to 10,000Hz using the minimum order and density factor is 20. Use fs = 48000 Hz, and use again order of 50. Then, check the effect of Density Factor of 50 and comment about the effects of the different order and different density gain. Design a FIR HPF for fstop = 8,000 Hz and fpass =12,000. Use fs = 48000. Check the N minimum order and the N = 80. Comment on the effect of changing N and changing the Density Factor. Design a FIR BPF for fstop1 = 8000 Hz, fpass1= 12,000 Hz, fpass2= 22,000 Hz and fstop2 = 24,000 Hz. Use the minimum order and N = 100 and comment on the difference. Then check the effect of the density factor and comment. Make fs = 48000 Hz. Design a FIR Band Stop filter using: fpass1=6000 Hz, fstop1=9000 Hz, fstop2=14,000 Hz, and fpass2= 16,000 Hz. Check minimum order number and N = 100, Check the effect of the Density Factor. Use fs = 48,000 Hz. Design a IIR BPF for fstop1 = 4000 Hz, fpass1= 8,000 Hz, fpass2= 20,000 Hz and fstop2 = 24,000 Hz. Use the minimum order and N = 100 and comment on the difference. Then check the effect of the density factor and comment. Make fs = 48000 Hz. Design a IIR BPF for fstop1 = 8000 Hz, fpass1= 10,000 Hz, fpass2= 20,000 Hz and fstop2 = 22,000 Hz. Use the minimum order and N = 100 and comment on the difference. Then check the effect of the density factor and comment. Make fs = 48000 Hz. Design a Matlab code to compare between N = 100 and N = 130 and comment. Which Type of filter design (FIR or IIR) is more efficient and why? Which type is more expensive and why? Design an Elliptical LPF from 300 Hz to 10,000Hz using the minimum order and density factor is 20. Use fs = 48000 Hz, and use again order of 50. Then, check the effect of Density Factor of 50 and comment about the effects of the different order and different density gain. In each graph design above, show the phase graph, and group delay and store the filter code in an appendix. Instructions for Part 2. Present your work and results in a concise, but clear technical report (part 2 of the assignment), which should comprise the following elements:
filter design graphs and configuration of any Matlab filter design used presentation of how the filter was designed, its operation and application, testing of functionality and performance at different values of N and Density Factors. Include your code and relevant data files as an appendix to the report.
REPORT SUBMISSION DETAILS The technical report (comprising Part 1 – the Vocoder and Part 2 – Digital filter design, accompanied by relevant code. -- should be submitted in accordance with standard university regulations on the module VLE, on or before 2 p.m. on Friday 5th December 2025.
Work submitted after this date, without prior extension agreed, but within five working days from the deadline, will be capped at 40%. Work submitted after five working days from the deadline may be recorded as 0 marks.
The report Your report on the development and operation of the Vocoder (part 1) and on the filter design (Part 2) must cover each element of the process:
data input → data processing → data output
In particular you should try to present the following in your written report:
A fundamental description of the effect. It would be useful if you referred textbooks and academic articles which discuss and utilise the chosen algorithms. For the Vocoder, include a user’s guide, test results and plots of input, intermediary and output data. A reflection of the success of your filter implementation results and features which may need further work or improvement. If you have tested the filter design methods with a number of types of input data, then reflect on the performance of your tool. Presentation You should submit a professional technical report on A4 papers with essential features such as title, contents, page numbers, labelled figures, reference list, etc. The structure should include introduction, methodology, results and conclusions. Also include any program code or GUI screen shots you have developed in an appendix to be referred to in the text.
Harvard referencing technique should be used.
Code and data files should also be submitted with the report on the module VLE.