Computational Analysis for Biomedical Signals
BMET2922 / 9922 - Pulse Sensor System Design | Part 2 Page 1
Wearable IoT PPG SystemSystem Design Report: Part 2
Due week 7, worth 15%, max 4.5 pages plus any references
Introduction
In the Design Report Part 1 task, the following was required:
● Some background research into PPG and relevant signal processing techniques.● An attempt to understand and describe the system centred around producing ablock diagram.● Some brainstorming and prototyping of system design, including possible GUIdesign and switch/LED behaviour.
In Design Report Part 2, we will take the next step: planning what to implement and howto implement it. On one level, the ‘what’ is provided in the BMET2922-2022 SystemRequirements.pdf document, which specifies the minimum requirements for the system.But of course, as engineers, we understand by now that there are usually several waysto implement a given feature, and technical design requires the ability to think aboutsystems at different levels. This task is about moving down a few levels into the codearchitecture and other critical elements of system development and project management,such as timelines, deadlines, delegating tasks and developing testing protocols.
Formatting
All tables and figures must have captions and be appropriately numbered throughout thereport. No table or figure, including its caption, should take up more than 1/3 of a page.The body of the report should consist only of written content, figures and tables (e.g. noembedded videos etc). The font should be Arial 12pt, the page size should be A4, andthe margin width should be ‘normal’. Line spacing should be no more than 1.15.
Any references included must be properly formatted according to the IEEE standard.These may consist of academic papers, datasheets, textbooks, educational content, etc.The report sections must follow the sections described in the table below.
Assignment Submission
The assignment is to be submitted via CANVAS. Please submit a pdf – no other fileformats will be accepted. Do not forget your name and SID.
BMET2922/9922 Computational Analysis for Biomedical Signals
BMET2922 / 9922 - Pulse Sensor System Design | Part 2 Page 2
Penalties
● Late submission will attract a deduction of 5% per day from the mark awarded.For example, an assignment that is two days late and achieved a mark of 80%will have the mark adjusted to 70% (2 * 5%).● Assignments that are more than five (5) days late will not be accepted.● Extensions: if a simple extension is required, please apply through the specialconsideration portal. You do not need to email any course staff, we will be notifiedif it is approved.
System Design Report part 1: Sections
The second part of the System Design Report will consist of the following sections:
section Description mark Tablesorfigures(max.allowed)
Countedin max. lengthallowed?
Title page Should include your name/SID anda proper title, as if you arepublishing a research paper.
none No
Table ofcontents none No1. Softwarearchitecture Includes a block diagram of thesoftware architecture: e.g. whathappens on the microcontroller, andwhat happens on the hostcomputer. Must also describe atleast two python functions to beused in the GUI and at least onefunction on the microcontroller.
35% 1 1 page
2. testingprotocols Propose a testing protocol for atleast 3 system requirementsoutlined in BMET2922-2022System Requirements.pdf.
30% 1 1 page
3. Taskdelegation Create three roles that will covereverything needed to be done toimplement the systemrequirements. This means trying togroup tasks logically so they resultin maximum efficiency for thegroup.
15% 1 1 page
4. Gantt Chart Provide a Gantt chart from week 8to week 12, containing the tasks tobe undertaken and checkpoint
15% 1 1 page
BMET2922/9922 Computational Analysis for Biomedical Signals
BMET2922 / 9922 - Pulse Sensor System Design | Part 2 Page 3
milestones that must be reached.5. Conclusion Summarise this report and brieflyoutline what next steps are to betaken.
5% none 0.5 page
6. Totals - 100% 4 4.5 (plus anyreferences)
BMET2922/9922 Computational Analysis for Biomedical Signals
BMET2922 / 9922 - Pulse Sensor System Design | Part 2 Page 4
1. Software Architecture
With larger projects, thinking and planning before you start coding is essential to avoidthe need to fundamentally revise your design halfway through. While there are variouslevels at which this can be done, they are all essentially the same in nature: breaking yoursystem down into modules and specifying the behaviour, inputs and outputs of eachmodule. These modules are often then implemented directly in your code as functions,classes or libraries. The switch class used in the labs is a good example of this. The aimis to both clarify thinking and quarantine off any revisions that are required: e.g. if theinternal implementation of the button behaviour module needs to be changed, the moduleas viewed by the rest of the system (inputs, outputs, behaviour) can stay the same,meaning there is no chain reaction of modifications needed throughout the system.
In this section, using the knowledge you have gained in the labs about coding and thesystem we are building, you should try to break your programs for both the microcontrollerand GUI into these modules. Some examples might be, for the microcontroller: a buttonbehaviour module, a Bluetooth communication module, a sensor/pulse rate module.Specify their behaviour, inputs and outputs.
The block diagram does not need to describe the behaviour of the modules. However, itshould indicate the connections of the inputs and outputs of each module. In addition tothe block diagram, you must describe at least 2 python functions and 1 Arduino functionto be run on the microcontroller. This means designing the function name, arguments andreturn type and describing the behaviour the function will implement. A simple exampleof a python function that produces an average value of the pulse rate over the last nseconds might be:
BMET2922/9922 Computational Analysis for Biomedical Signals
BMET2922 / 9922 - Pulse Sensor System Design | Part 2 Page 5
2. Testing Protocol
One of the most critical design process step is testing and validating your system. Forexample, you must consider edge cases: scenarios where some unusual input to thesystem might produce undesired behaviour. You must also find a way to convincinglydemonstrate that you have achieved the objectives.
In this section, tests for three system requirements from BMET2922-2022 SystemRequirements.pdf must be described. An example might be pulse rate calculation: itmight work fine under ideal conditions, but what if the sensor is not applied to a finger?Does the pulse rate go to 3000? (It shouldn’t). Do the alarms in the GUI work? How dowe test/demonstrate the Bluetooth requirements? Does a button push at the wrong timecause a malfunction? A good mindset for this section is to imagine deliberately trying todisrupt your system (without physically breaking it): how could you cause it tomalfunction? Considering and addressing this will often reveal the best way to validate it.
If you are unsure where to start, I recommend reading this overview.
3. Task Delegation
Appropriately delegating tasks can significantly impact both the productivity and resultsof a group project. Based on the system requirements, try to create three roles that consistof tasks that compliment each other as much as possible, i.e., a skillset or knowledgerequired in one task will transfer to an extent to other tasks allocated to that role. There isno correct answer, but try to justify your decisions as much as possible. At this stage, youcan ignore the final report that will follow the lab demonstration in week 12.
4. Gantt Chart
A schedule and deadlines are critical for any project, to track progress and give the futuresome structure. It is much easier to move forward when you have a clear roadmap. Basedon the roles and tasks devised in section 3 above, try to create a Gantt chart that includes:
● Appropriate parallelisation of tasks, even within roles.● Reasonable deadlines for the project.
The Gantt chart should span weeks 8-12, finishing on the day of your lab in week 12. Ifyou are unsure what a Gantt chart is, this link may help. At this stage, you can ignore thefinal report that will follow the lab demonstration in week 12.