BSc FINAL YEAR THESIS PROJECTS
Proposed by: Dr Simon Winberg
Radar Remote Sensing Group
2015
Topics on the web at:
http://www.rrsg.ee.uct.ac.za/members/swinberg/Proposals
(The web version includes a convenient topic listing and
hyperlinks.)
Images on the top right indicate the theme
List of Topics
BSc FINAL YEAR THESIS PROJECTS
CATEGORY: SOFTWARE DEVELOPMENT & BIG DATA
DSSAF web interface and streaming client
Tutor Organization and Planning App (TOPA)
NeXtRAD Networked Tracking Pedestal Control System (NTPCS)
PTNS – Portable Trading Network System
CATEGORY: EMBEDDED SYSTEMS, FPGA, SIGNAL PROCESSING
Ethernet Interconnect Abstraction between Raspberry Pi and FPGA Coprocessor (codename EIARF)
Bird Call Heuristic-based Identification and Recognition Program (B-CHIRP)
FLORA – GPU Acceleration of pattern matching algorithms
Counting Sheep and Crop Health Identification Using Image Processing and Object Detection
Smart-phone indoor navigation system using edge detection.. 13
LURCCI – Level-floor Undercover Robot Crawler Controlled by Internet (phase 1)
CATEGORY: HIGH PERFORMANCE COMPUTING & NETWORKING
Legacy topics – ask if you want more information
RWTM - Rhino Wireless Transceiver Module
ID: |
SW-1 (R)
[project reserved] |
|
|
TITLE: |
DSSAF web interface and streaming
client
(a Big Data theme project) |
||
DESCRIPTION: |
This project concerns development that contributes to the Digital Signal Storage and Access Framework (DSSAF) aimed to facilitate access to recorded radar data and experiment logs. This system is planned to eventually support both intranet and internet data sharing options, but for an initial prototype it can all work in a private LAN.
Figure 1: Overview of the large-scale view on the DSSAF system.
The RRSG has multiple on-going projects involving acquisition of radar and other types of digitized signal data. All together our field experiments constitute many terabytes of valuable recorded data, and much of this data we need to keep and make use of later as it is essential for understanding application complexities and useful for laboratory-based testing and optimizing. This project concerns development that contributes to the Radar Data Storage and Access Framework (RDSAF) aimed to facilitate access to recorded radar data and experiment logs. While this project is designed around being done in collaboration with a student working on project, this project is designed so that if SW-1 doesn’t work out this project The RRSG has multiple on-going projects involving acquisition of radar data. Our field experiments generally provide many terabytes of valuable recorded data, essential for understanding application complexities and useful for laboratory-based testing and optimizing. This project focuses on developing a database design, setting up the database and providing an API with a set of commands for searching particular fields and getting access to data via a UDP- and/or TCP-based server system. A clear set of API commands needs to be design for this service and planned to be scalable / extendable. An added extra, if time permits is to incorporate a website front-end (i.e. it could use server scripts to call API functions) to make it easier to access the stored data. Most of our existing datasets are loosely organized (e.g., a simple file system, according to date) and it takes time to find and access this data. If SW-1 is taken, then the design of accessing this data should be done collaboratively; alternatively (or as a backup policy) this project can simply work according to file directory listings. The RDSAF is consequently an experiment attempt to improve access to this data. This project is designed around being integrated with SW-2, the RFSAF web client and streaming client API. However, this project is designed so that effective work can be done on it even if SW-2 is not allocated. |
||
DELIVERABLES: |
Database set up with a selection of radar data and information related to this, with C code for showing how to search and access data. (Possible extra: Web-based GUI for easier access). |
||
SKILLS/REQUIREMENTS: |
Programming, some signal processing knowledge advantageous |
||
EXTRA INFORMATION: |
Project Reserved – Mr. Oliver Powell |
||
AREA: |
Software development, Programming, Databases |
ID: |
SW-2 (R)
[project reserved] |
|
TITLE: |
Tutor Organization and Planning
App (TOPA)
A small-scale social networking (SSN) theme |
|
DESCRIPTION: |
The Tutor Organization and Planning App is intended as a facility to get tutoring teams more organized, to help tutors get access to tutorial info (e.g., memos students doing the prac can’t access) and useful course material. The system also aims to incorporate a social networking dimension, allowing tutors to be better aware of other tutors and to share tutoring expertise and resources. There should be support for formal (course-based) Tutor Teams as well as Tutor Buddies (i.e. like friend connections on Facebook). There are different access levels; only tutors in a tutor team get access to memos for the particular course they are signed up to. Generally, anyone can access the course material, even tutors in different teams (but they would need to search for this or be sent an invite). For this project the course information could just be a URL to the course website (later additions could be access to a shared folder). Support and security for memos need to be in place. Some kind of instant messaging would be desired, and means to send Team Invites and Tutor Buddy invites. Also a Lecturer user type is needed, which could just be the same as a Tutor plus permission to create a Tutor Team and to add memos. If the ‘small social networking’ functioning adequately the application can be expanded to provide for facilities such as adding a Chief Tutor user type that is able to create subgroups and to do tutor attendance lists. A “Call Tutor” function could be added to tell a tutor he/she is late for the prac, or “Request Stand-in” to broadcast a message, perhaps to the whole tutor team or to all tutors in the network to indicate that a stand-in tutor is needed (e.g. call on a tutor assigned to another course who knows the material to help out). There is flexibility in terms of how the system is implemented – it could be as a single web service that uses PHP/CGI/other scripts, or it could be a client-server architecture with the client being a smart phone app that talks (e.g. via a socket) to the server. |
|
DELIVERABLES: |
Operational TOPA application, short user manual helping to explain how to set up and use the system. Testing in a selection of tutoring environment (e.g., in a prac, in a tutorial, in marking session). |
|
SKILLS/REQUIREMENTS: |
Networking & Programming (Your choice, e.g. Python, Java or C++) |
|
EXTRA INFORMATION: |
Project Reserved – Ms. Subha Singh Can be done as a PC-based system if it is taking too long to get things working on the mobile device. Various desirable functions (if time permits, otherwise this is just a placeholder for ideas): marking, collaborating with other tutors, call tutor, schedule of who is tutoring what lab/tut when, view tutoring timetable and venues, confirm availability, request replacement tutor, running late, attendance record for logging students present in pracs, log of student tasks completed, expertise areas (which tutor has volunteered to focus on what difficult aspect of the tutorial), for recording test results, view sample solution. Alert lecturer: of aspect students are struggling with, of poor attendance, of plagiarism, of disturbances, of software/lab problems, of error in question / in sample solution. Other tutor admin things: log tutoring tasks, time spent on tasks, generate timesheet. Of course if you think of more items you can add that in; I’m not expecting all the myriad set of functions to be implemented, that is part of the requirements analysis and prioritization process – ideally the requirements should be gathered in a formal and thorough manner, interviewing lecturers and students, proposing your initial plans, asking for their opinions of your ideas and suggestions for further features. |
|
AREA: |
Network Software |
ID: |
SW-3 (R)
[project reserved] |
|
||
TITLE: |
||||
DESCRIPTION: |
This project involves the development of a networked pedestal control system for use in the NeXtRAD system. NeXtRAD is a synchronised multi-node radar system, designed around deployment in coastal areas for the tracking and characterization of vessels; it provide an experimental infrastructure that could be build upon to provide applications such as monitoring coastal estuaries and detecting illegal perlemoen poaching.
antenna attached to it to point to a GPS coordinate. The system needs to provide compatibility for two types of pedestal controller. The target to be tracked will need a telemetry module attached to it that will send its GPS coordinates to the NTPCS master controller. The figure below summarizes the concept. The software to develop will run on the node controller PC (which runs various other control tasks concurrently). The pedestals must provide the following functionality:
Testing can be by watching a moving target with the TV camera. A procedure to configure the pedestal control system for the installation is needed and to calibrate true north and timing parameters (this does not necessarily need to be integrated into the GUI but could be done via e.g. a config text file, but this approach needs to be clearly documented). |
|||
DELIVERABLES: |
1. User Requirement and requirements, suitably documented. 2. Functional Analysis of the System, including anticipated performance. 3. Design Trade-off analysis. 4. Design, build, integrate and test. 5. Report integrating the above steps. |
|||
SKILLS/REQUIREMENTS: |
Software development, microcontrollers, control, networking |
|||
EXTRA INFORMATION: |
Project Reserved – Mr. Stuart Hadfield HDFSTU001 |
|||
AREA: |
ECE / Software |
ID: |
SW-5
|
|
||||
TITLE: |
Ethernet Interconnect Abstraction
between Raspberry Pi and FPGA Coprocessor (codename EIARF)
|
|||||
DESCRIPTION: |
This project involves connecting a Raspberry Pi (RPi) that has an ARM CPU to a Nexys3 (Spartan 6 FPGA) by means of Ethernet. The idea is to make use of raw Ethernet frames over a 100 Mbit/s connection to provide the equivalent of a high-speed peripheral bus between the RPi and the Nexys3. The project also involves the implementation of a simple co-processing application in order to test the capabilities of this connection. A model of the connection and software abstraction layers is provided in figure 2 below.
The connection itself must be implemented as an abstraction. As far as any potential application is concerned, the RPi side must be able to make use of library functions that are similar to file IO operations. The FPGA side must look like FIFO queues of incoming and outgoing data. The Ethernet layer must be completely hidden to both sides of applications using this framework. The content of the data is irrelevant, as it is application-specific.
The HDL code (FPGA-side), as well as the C/C++ code (RPi side) must be designed around portability to larger systems, with more powerful FPGAs, faster Ethernet and higher-end ARM processors.
This project will be jointly supervised by John-Philip Taylor and Simon Winberg.
|
|||||
DELIVERABLES: |
The project is expected to deliver a working and scalable general-purpose Ethernet connection, as described above. Full documentation, including a user manual, for anybody who wants to make use of the connection code, must also be delivered. |
|||||
SKILLS/ REQUIREMENTS: |
Embedded Linux development; FPGA HDL Programming. |
|||||
EXTRA INFORMATION: |
http://www.raspberrypi.org/ : Information about the ARM board http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,789&Prod=NEXYS3 : the Nexys3 product description |
|||||
AREA: |
Embedded Computer Engineering, Digital Systems and Communication Layer Abstraction. |
|||||
|
|
ID: |
SW-7 (R)
|
|
TITLE: |
Bird Call Heuristic-based
Identification and Recognition Program (B-CHIRP)
An outdoor theme project [project reserved] |
|
DESCRIPTION: |
This project is aimed to be an initial pathfinder to experiment with the prospect of developing a smartphone app that could either automatically identify a bird based on recording its song, or to assist a human in identifying the bird by providing cues and playing back recordings of bird sounds. This project will mainly focus on algorithm development and testing, collecting a variety of bird songs (of local birds) at different volumes and distortions, and then experimenting with filters and audio pattern matching methods, or possibly machine learning / neural networks to attempt to autonomously decide a type of bird based on the sounds it makes. At this stage, a sophisticated user interface and comprehensive software structure is not required, the main purpose is to experiment with algorithms and establish prototype code that can later be refined. Decent module interfaces and comments in the code are desired to make the effort usable in a future application. |
|
DELIVERABLES: |
Application running on PC (or on mobile platform/smartphone) |
|
SKILLS/REQUIREMENTS: |
Your choice of language; e.g. Matlab, Julia, Octave, PC-based Java program, or Java Mobile development using Android SDK. |
|
EXTRA INFORMATION: |
Project Reserved – Mr. Alex Cohen CHNALE005 Some existing applications that help birders identify birds: http://www.whatbird.com/ |
|
AREA: |
Signal processing (optional: Embedded/Mobile app development) |
ID: |
SW-8 (R)
|
|
||||||
TITLE: |
FLORA – GPU Acceleration of
pattern matching algorithms
(an outdoors & acceleration theme project) [project reserved] |
|||||||
DESCRIPTION: |
The scope of this project is flexible according to time constraints. For instance the implementation can be tested with a relatively small set of samples which can be easily found around campus. This project is most suited for a student with strong programming ability, and also willing to spend a bit of time in the outdoors looking for and photographing plant specimens. A certain amount of literature review will be needed to become familiar with commonly used image-processing techniques needed for pattern matching algorithms. |
|||||||
DELIVERABLES: |
Neat code modules that are / can easily be incorporated into the FLORA code framework. Documentation for the code. |
|||||||
SKILLS/REQUIREMENTS: |
Strong Programming Ability (should know some Python; you can learn how to program GPUs on the job) |
|||||||
EXTRA INFORMATION: |
Project reserved: Khagendra Naidoo NDXKHA001 Paper providing more detail about the FLORA application: http://dx.doi.org/10.1109/NCVPRIPG.2013.6776220 |
|||||||
AREA: |
Image Processing, GPU-based application acceleration |
|||||||
ID: |
SW-9 (R)
[project reserved] |
|
TITLE: |
Counting Sheep and Crop Health Identification
Using Image Processing and Object Detection
(an image processing and object detection themed project) |
|
DESCRIPTION: |
This project uses automated image processing and sensory data to: · Count the number of sheep in an image (this could be extended, depending of time constraints, to use machine learning/object detection, to count any specific type of animal in the image). · Identify and differentiate the health statuses of different types of crops/weeds. Being able to perform automated counting accurately is an active field of research which holds promise in the development of many areas. One such application relates to agriculture. Many farmers, for example, have problems keeping track of the numbers of various types of cattle. The cattle numbers are influenced by things such as the rate of births and deaths (by natural means, sickness or predators). The health status of crops is also a concern for farmers. Crops can suffer from disease and predation throughout the year and the loss of crop yield could be detrimental not only to the farmer but to the economy that depends on the revenue generated from to a fruitful harvest. This project aims to develop a computer-based means to help farmers with these issues.
The general idea behind this project is that a UAV can capture sensory data by flying over the terrain of a farm, taking hundreds or thousands of images and stitching these together to form a map. Image processing techniques and object detection will then be applied to the areas of the map containing sections of interest (i.e. portions of the map containing cattle and crops) to count the number of sheep in the image as well as inspect the health status of various crops in the image.
Preferably, the programs should be designed such that the necessary tasks are executed automatically upon receiving the map from a UAV. |
|
DELIVERABLES: |
Application running on a PC; or code modules that can be incorporated with a UAV. Documentation for the code. |
|
SKILLS/REQUIREMENTS: |
Programming, image processing, object detection |
|
EXTRA INFORMATION: |
Project Reserved – Marchello Meiring
|
|
AREA: |
Image processing, object detection, programming. |
ID: |
SW-10
(R)
|
|
TITLE: |
Smart-phone indoor navigation
system using edge detection
(a signal processing theme) Project Reserved |
|
DESCRIPTION: |
The inability to use GPS in indoor environments, poses a navigation problem for users of such environments. Two common examples are; shoppers in a shopping mall, and people in a university campus. Commonly handheld devices cannot utilise GPS for localisation and navigation. The challenge at hand is to design and build a system that utilises edge detection to help a user navigate through a built environment using their smart phone. The system should be in form of client-server architecture with the client being a smart phone, and the server being the system storing the main database. |
|
DELIVERABLES: |
A client-server prototype to establish feasibility of concept |
|
SKILLS/REQUIREMENTS: |
Digital Signal processing, Networking, Systems design, Programming |
|
EXTRA INFORMATION: |
Project Reserved: Kavindra Naidoo NDXKAV014 Can be done as a PC-based program. Preferably will use android smart-phone with a duo-core or better so as to make it mobile. An attempt was made on this last year, but I have a much approach on how it could be done better and quite differently to previously. |
|
AREA: |
Digital Signal Processing |
ID: |
SW-12
|
|
||||
TITLE: |
MTG
- Mobile Tune Grip |
|||||
DESCRIPTION: |
Are you interested in making music? You sometimes think of good beats and want to tap it out? You’d like to record these tune but would like something more than a table top to test things on. But you also want something that’s more natural-feeling and ergonomic compared to the flat slate of a cellphone or tablet? If this is something you’d like then maybe you’d consider taking this project on as a DIY solution for this idea. The objective of the Mobile Tune
Grip is to develop a custom music input pad (the ‘gripper’), on which you
can play and record tunes. You can then hook it up to a computer to download
and play back the tunes. The diagram below gives a notion of what is
involved. You don't need to know how to play a musical instrument or how to
read musical; but this project might be an opportunity for you to understand
more about how music is structured and composed.
|
|||||
DELIVERABLES: |
The gripper and electronics needed to produce and capture music. Optional extra: integration with PC to download recorded tunes. |
|||||
SKILLS/REQUIREMENTS: |
Electronics, microcontroller programming, C programming |
|||||
EXTRA INFORMATION: |
|
|||||
AREA: |
Electronics, Embedded systems |
ID: |
SW-13 (R)
|
|
TITLE: |
||
DESCRIPTION: |
Description here.
|
|
DELIVERABLES: |
(Make a start in this…) |
|
SKILLS/REQUIREMENTS: |
C programming (OpenCV), Device driver, Electronics |
|
EXTRA INFORMATION: |
|
|
AREA: |
Embedded systems |
None offered due to limitations on number of project that can be listed.
ID: |
SW-L1
|
|
TITLE: |
RWTM
- Rhino Wireless Transceiver Module |
|
DESCRIPTION: |
The Rhino project is a reconfigurable
computing platform designed for Software Defined Radio (SDR) applications.
The Rhino platform was built at UCT by the SDRG research group (see the www.rhinoplatform.org Rhino site for
details). |
|
DELIVERABLES: |
Prototyped antenna and analogue front-end (which connects to an A2D sampling module), VHDL/Verilog code for the front-end processing and Wireless communications protocol handling. |
|
SKILLS/REQUIREMENTS: |
Embedded systems; HDL coding; digital single processing; a reasonable understanding of signals and RF transmissions (although much of the RF skills you can pick up as part of doing this project) |
|
EXTRA INFORMATION: |
|
|
AREA: |
Digital systems; Electronics |
ID: |
SW-L2
|
|
TITLE: |
Alert Me App Coding Framework
(an Android App theme project) |
|
DESCRIPTION: |
A code framework for use with Android that can be customized for various application purposes, I'm suggesting it is tested as a kind of imminent load shedding alert. Client/server system. Client is Android application code, server is PC-based code that can send data via a socket to the client. The client side needs suitable audio and visual displays to show alerts. Different levels of alerts: low priority (maybe no sound or single buzz) to high priority (loud longer alarm, needs to be acknowledged, switches off only after e.g. a minute if not acknowledged). |
|
DELIVERABLES: |
API user-guide. Example / starting point programs. Performance testing. Prototyped application using the API. |
|
SKILLS/REQUIREMENTS: |
Programming. (Your choice, e.g. Python, Java or C++). |
|
EXTRA INFORMATION: |
Would consider co-supervising with a colleague in telecoms |
|
AREA: |
Mobile app programming / telecoms / software development |
ID: |
SW-L3
|
|
TITLE: |
FERS Simulator GUI Upgrade
(a music theme project) |
|
DESCRIPTION: |
The Flexible Extensible Radar Simulator (FERS) was developed as a PhD project in the RRSG group. This is a program and customizable coding framework that is useful both as a learning tool, for new users to the field of radar to improve their understanding of how radar and radar signals work, as well as a useful system for modelling experimental scenarios to gain better insight into the expected operation of a system, or to develop a better experiment design before going out into the field to do the experiment. The application is open-source, and available at http://sourceforge.net/projects/fers/. Currently, FERS is a console-based application in which a configuration file is edited in a text editor in order to describe the model that is going to be simulated. This project involves designing a GUI for FERS and integrating this will the current code implementation, and hopefully releasing it back to the sourceforce repository. This project does not require a thorough understanding of radar and signal theory, but this would clearly be beneficual; these factors can also be learned ‘on the job’ while working on the project. Acknowledgement: FERS was originally developed by Dr. Marc Brooker. |
|
DELIVERABLES: |
Prototyped RMB device. Demonstrate sending and receiving of morsecode signals. Report on distance tests (part of thesis). |
|
SKILLS/REQUIREMENTS: |
Programming / prior GUI experience desirable but not essential |
|
EXTRA INFORMATION: |
Working on this project will get you well connected with the RRSG team and support will be available both from a variety of individuals, in particular Dr. Craig Tong will be available to provide additional guidelines and suggestions for GUI refinement from the perspective of an experienced user. |
|
AREA: |
Software Development |