MATLAB周期性噪声处理

EGB242 Assignment 1 – Part A (15%)

Individual Assignment

Released: Friday 2nd August, 11:59pm

Final Assignment Due: Friday 30th August, 11:59pm

Message from MARS-242 Mission Control

Welcome to the internship program of the Brisbane-based Australian Space Agency (BASA). You will be working with, and learning from, the engineering team in charge of the upcoming MARS-242 mission. The agency is always looking for capable engineers, and has instructed the team to assess your skills and capabilities in this multifaceted field.

This is the first of three tasks aimed at preparing you to contribute to the critical engineering work needed for the operation, monitoring and safety of the MARS-242 astronauts and their spaceship.

Preparatory Instructions

The engineering team at BASA wishes to investigate the interference affecting the speech signals received by the spaceship. Communication disruptions often occur as periodic patterns and this formed the rationale for our engineers to consider periodic noise.

Follow these steps for preparation:

1. Read through the entire document before attempting the tasks.

2. Open GenerateDataAssignment1A.m in your MATLAB working directory. Carefully read all of the comments and follow all the instructions in the file. This file generates the data you will need for this assignment.

3. Write down the function displayed in the command window when you run the Generate- DataAssignment1A.m file. The variable noiseSound will be saved in the file Data1A.mat and will be used in Section A2.

4. Section A1 is to be completed on MATLAB Grader. MATLAB Grader will provide immediate feedback on the questions answered.

5. Section A2 will be submitted as a report. You will be writing MATLAB code in mission.m to perform the required tasks and submit your results in a report format.

6. As a guide, a report with all sections complete should be between 4 and 5 pages, including figures and code. An example report is available from Blackboard.

7. Ensure that all work (including process description, code used and plots) are included within the report. An example report showing how this should be presented is available on Blackboard.

1

Section A1 (Approximate periodic noise)

This section should be submitted in MATLAB Grader. (Note: you should still first attempt

the questions in your local MATLAB client.)

You are to design a method of approximating any periodic signal with a sum of weighted sinusoidal signals, i.e. a Fourer series. This will be used to remove the periodic noise that is anticipated to interfere with communications during the MARS-242 mission. This section will have you:

1. Find the trigonometric and complex Fourier series of a periodic signal by hand; and

2. Develop a method of approximating the Fourier series of the periodic signal in MATLAB.

This section of the assignment is to be completed through MATLAB Grader, available through the link below:

Matlab Grader for Assignment 1A

Please attach your hand working and MATLAB code in the Appendix of your submitted report.

Section A2 (Mars Mission: De-noising Speech)

This section should be implemented in MATLAB – mission.m. Be sure to include relevant figures and code snippets when presenting your results in your report. See example report.

The de-noising module you designed to remove periodic noise from the communications system has been incorporated into the (now complete) MARS-242 spacecraft.

Figure 1: Additive noise model

The spacecraft is now hurtling towards the red planet on its seven month voyage. As predicted, senior analysts from the engineering team have determined that the received speech has been corrupted by an additive noise process. This is illustrated in Figure 1.

One of your colleagues has narrowed the potential periodic noise signals to one of three candidates:

s1(t)= t, 0≤t<5 A

24 s(t)=e−t−B, 0≤t<5

B, 0≤t<2.5 s3(t)= 6, 2.5≤t<5

2

Your primary objective in this task is to identify the noise signal and de-noise the speech (remove the noise). The speech is provided in the variable noiseSound. Original speech was recorded at a rate of 44100 samples per second for 20 seconds. Follow the instructions below to help you complete your task.

1. One of the candidate signals above is the interfering waveform of your periodic noise, which you will need to identify. Explain how you identified your noise waveform – consider things such as the period, offset and shape. (CR1b)

2. Generate your noise waveform. Save this to the variable additive noise. It is to contain the same number of periods as the noise waveform in the corrupted speech signal. Make sure to generate an appropriate time domain vector, t, for this waveform. (CR2b)

3. Classify the periodic noise signal as odd, even or neither. Justify your answer using the mathematical definitions. (CR1a, CR1b)

4. Use MATLAB to evaluate the coefficients of your noise signal of either the Complex Fourier Series; c0 and cn for −5 ≤ n ≤ 5, or the Trigonometric Fourier Series; a0, an and bn for 0 ≤ n ≤ 5. (CR1a, CR2a, CR2b)

5. Write code to generate the Fourier series approximation (FS1), using the time vector t of your periodic noise. (CR1a, CR2a, CR2b)

6. Using FS1, recover the corrupted speech by reversing the additive process illustrated in Figure 1. Store the de-noised result in the variable dnSnd. (CR1a, CR2b)

7. Experiment with changing the number of harmonics used in approximating the addi- tive noise signal. What can be said about the approximation as the number of harmonics increases? Does increasing the number of harmonics have any practical drawbacks? Choose an appropriate number of harmonics to approximate the signal and compare the performance of the de-noising process with the new number of harmonics. (CR1a, CR1b)

8. Plot and listen to the recovered speech signal. Comment on visual changes as compared with the noisy speech signal, along with an explanation of what has happened. Include a transcription of the message, you just listened to, in your report. (CR1a, CR1b)

MATLAB variables that should be included in your workspace for section A2 (mission.m): t – Time vector

T – Period

additive noise – Your noise waveform

c0, cn – Complex Fourier series coefficient vectors (with 5 harmonics); OR a0, an, bn – Trig Fourier series coefficient vectors (with 5 harmonics) FS1 – Fourier series approximation vector (with 5 harmonics)

dnSnd – De-noised resulting wave (with 5 harmonics)

Section A3 (Reflection)

A two paragraph reflection is to be written and appended at the end of your report. In the first paragraph summarise how you demonstrated your understanding of the concepts used in this assignment. The second paragraph should be a discussion and professional reflection that covers any lessons learned from doing this assignment, and things that you would have done differently. Each paragraph should not exceed 200 words. Marks for this are included as part of the criteria available on Blackboard.

3

Academic Integrity

If academic misconduct is discovered, the suspected student(s) may be given an opportunity to explain the similarities to the teaching team. If no response if received within 1 business day of first contact, the matter will be escalated to the faculty for investigation. Please take this seriously. Do not share your code or report with other students, or use other student’s code or reports.

Submission

This assignment includes elements of writing and coding. You are expected to submit:

1. Solutions to the problems posed in MATLAB Grader (submitted in MATLAB Grader);

2. One assignment report (submitted through Turnitin on Blackboard);

3. One set of MATLAB code (submitted on Blackboard); and

4. One Data1A.mat file (submitted on Blackboard).

The attached Criteria Reference Assessment (CRA) sheet has the outlines of the marking standards of this assignment.

The Report (CR3)

An outstanding report demonstrates clear knowledge and understanding of the subject through a combination of visual, mathematical and coding elements. Correct information that is not articulated clearly will attract deductions. Remember that you are writing to inform.

• Present the report so it can be understood without reference to the assignment brief.

• You should only include code that is relevant to the question. Avoid the use of “refer to .m

file”.

• Include a title page that states the unit name, unit code, group number, and your names and student ID numbers.

• Do not include a table of contents, list of figures, nor a list of tables. The MATLAB Code

Working MATLAB code is expected to be submitted, alongside your report to Blackboard. The code needs to be executable (in *.m) and without run-time errors. No error correction will be made to make your code “run.”

Interview

You may be selected and contacted to attend an interview if the teaching team requires clarification about how you arrived at your solutions. Interviews will be a casual discussion. These interviews are compulsory and grades are withheld until they are completed. Marks may be deducted for poor demonstration of understanding of content or assignment knowledge. Consult the CRA sheet for the guidelines of what is expected.

4

EGB242 Assignment 1A: Individual Criteria and Standards for Grading

2019

Criteria

Standards

CR1a – Theory & CR2b – Analyse and perform computations

MATLAB Grader tasks 50% Weighting

MATLAB Grader tasks are awarded grades based on the successful completion of the problems included in “Assignment – 1A: Signal Analysis with Fourier Series.”

CR1a – Theory: Derive the Trigonometric (TSF) and Complex Fourier series (CFS) representations of periodic signals,

• Demonstrates exceptional conceptual understanding of the theoretical concepts behind TFS and CFS, through the use of graphical and mathematical methods that are clear, accurate and logical.

• Demonstrates accurate conceptual understanding of the theoretical concepts behind TFS and CFS, through the use of graphical and mathematical methods that are clear and logical.

• Demonstrates mostly correct conceptual understanding of the theoretical concepts behind TFS and CFS, through the use of graphical and mathematical methods that are clear and logical.

• Demonstrates conceptual understanding of the theoretical concepts behind TFS and CFS, through the use of graphical and mathematical methods.

• Demonstrates conceptual understanding of most theoretical concepts behind TFS and CFS, through the use of graphical and mathematical methods.

• Demonstrates • some

Fails to demonstrate understanding of most theoretical concepts behind TFS and CFS.

CR1b – Justification: Justify the selection of either the TFS or CFS for signal analysis.

• Thoroughly justifies both quantitatively and qualitatively, the selection of parameters, methods, and techniques.

• Thoroughly justifies the selection of parameters, methods, and techniques.

• Justifies the selection of parameters, methods, and techniques.

• Justifies the selection of parameters, methods, and techniques with one error or has omitted one necessary justification.

• Justifies the selection of parameters, methods, and techniques with a few errors or has omitted a couple necessary justifications.

• Mostly fails to correctly justify the selection of parameters, methods, and techniques.

•

Fails to correctly justify any selection of parameters, methods, and techniques.

CR2a – Develop and write code for signal analysis, using Fourier Series analysis.

• Well-commented code has all appropriate simplifications and optimisations performed.

• Well-commented code has • most of the appropriate simplifications. •

Code is commented throughout and simplifications and optimisations are performed.

• Code is commented and • some simplifications

• Code has some structured approach

• Code is unstructured,

• Little attempt made to write code.

CR2b – Analyse and perform computations on real signals in the presence of noise.

• Correctly calculates all required variables with no errors.

• Correctly calculates almost all required variables without errors.

• Correctly calculates most required variables without errors.

• Calculates required variables with several minor errors or one major error.

• Calculates required variables with many minor errors or a couple of major errors. There must be no run time errors in the code.

• Attempts to calculate required variables with more than a couple major errors or a run time error.

• No attempts to calculate

• Shows evidence of further research with appropriate references.

CR1. Conceptual understanding 20% Weighting

7+ 7 6 5 4 3 2/1

CR2. Application using MATLAB Coding 20% Weighting

7+ 7 6 5 4 3 2/1

• MATLAB functions have been developed to optimise code for repeated processes.

• MATLAB functions are optimisations are performed.

and/or optimisations are performed.

• Code is difficult to follow.

• Code is difficult to follow and exhibits major flaws in understanding of the concepts.

understanding of some theoretical concepts behind TFS and CFS.

required variables.

1

EGB242 Assignment 1A: Individual

7+ 7 6 5 4 3 2/1

Assignment solution is presented in a Report format considering:

• Professional report format, that is easy to read and core technical ideas are clearly and accurately conveyed. All processes and solution steps are clearly outlined.

• Professional report format, that is easy to read and core technical ideas are clearly and accurately conveyed. Almost all appropriate processes and solution steps are clearly outlined.

• Professional report format, that is easy to read and core technical ideas are conveyed. Most of the appropriate processes and solution steps are clearly outlined.

• Report is mostly easy to read and most core technical ideas are conveyed. Some key explanations of processes and solution steps are missing.

• Report is missing some key components of a report. Report is difficult to read in some parts and some core technical ideas are conveyed. Many key explanations of processes and solution steps are missing.

• Report is missing multiple key

•

Report has little to no structure. Large portions of the report are missing/not attempted. Code is incorrect or missing from the report. Figures are almost entirely missing from the report.

CR3a – Structure, CR3b –Integration, CR3c – Figures, graphs and tables CR3d – Reflections and Contextualisation.

• Code is seamlessly integrated into the report and are used effectively to convey ideas in the report. Code snippets are selectively chosen to succinctly demonstrate all necessary key technical ideas.

• Code is integrated into the report and are used to convey the ideas in the report. Selected code snippets demonstrate all key technical ideas.

• Code is integrated into the report and are used to convey ideas in the report. Selected code snippets demonstrate most key technical ideas.

• Code is integrated into the report and are used to convey ideas in the

report. Code snippets are used.

• Code is not integrated into the report or is not used to connect with the ideas discussed in the report.

components of a report. Report is difficult to read. A significant number of key explanations of processes and solution steps are missing.

•

Oral interview – Individual

Demonstrate excellent theoretical and applied knowledge retention after assignment submission. You must be able to correctly explain theory and justify methods used in their submission including MATLAB code.

Demonstrate adequate knowledge retention.

If a student fails to show adequate understanding of their assignment and its components, including MATLAB code, his/her overall mark for this assignment may be moderated down by a maximum of 20%.

Demonstrate inadequate knowledge retention. If a student does not attend the interview, or fails to demonstrate fundamental knowledge of their submission and its components, including MATLAB code, his/her overall mark may be moderated down by up to 100%.

Post-submission theoretical and applied skills.

• Figures are effectively used throughout the report to demonstrate results and facilitate explanations. Figures are labelled and plots are appropriately scaled and visible.

• Figures are used to demonstrate results and facilitate explanations. Most figures are labelled and plots are appropriately scaled and visible.

• Code is not integrated and is mostly a code and figure dump.

•

• Solution is contextualised to the MARS242 mission, and includes reflections conveying accurate technical knowledge and insights.

• Solution is contextualised to the MARS242 mission, and includes reflections conveying accurate technical knowledge.

• Solution is contextualised, and includes reflections. conveying accurate technical knowledge.

• Solution is contextualised, and includes reflections.

• Solution contains some contextualisation and reflections.

• Attempts to contextualise the solution but with no reflections.

• Figures are effectively used throughout the report to demonstrate results and facilitate explanations. Figures are labelled and plots are appropriately scaled and visible.

• Figures are used throughout the report to demonstrate results and facilitate explanations. Figures are labelled and plots are appropriately scaled and visible.

• Figures are included but do not demonstrate results or facilitate explanations. Some important figures are missing.

• Multiple key figures are missing and little effort has been made to link the figures with the report.

•

No contextualisati on or reflections.

CR3. Effective written communication 10% Weighting

2019

2