Project Overview: Signal Processing and Data Management System
We are developing a device that provides signals which are to be processed and stored for further analysis. This device interfaces with a Labjack T4, and we need the following functionality developed:
1. Signal Acquisition and Processing
• Objective: Capture signals from the Labjack T4 after an external trigger.
A Reader scans a sample label. Waveform is digitized by Labjack and stored as a time sequence of samples. Number of data points is X. Resolution is 12 bits. Purpose of this program is to analyze the peak distribution in the waveform and compare each new waveform to prestored reference waveforms to match pattern. Display correct matching visual image to viewer.
• Requirements:
o High-frequency sampling is used to record the signal accurately.
o Post-acquisition signal processing to identify the position and timing of signal peaks.
o Implement appropriate algorithms for peak detection and data smoothing (if necessary) – (Simple threshold filtering may do for now)
2. Database Management
• Objective: Store processed signals in a structured database.
• Requirements:
o Design and develop a continuous data logging system to store acquired signals.
o Support for different signal source types, with the ability to handle various signal formats and metadata.
o Data should be easily accessible for querying and future comparison.
3. Signal Identification and Comparison
• Objective: Use previously stored signals to identify new signals that match the ones in the database.
• Requirements:
o Develop a comparison algorithm to match new scanned signals with stored data.
o Once a match is found, visualize the result in a modern graphical user interface (GUI).
o The GUI should allow integration of external data such as images, videos, or other relevant content to enrich the signal information.
Required Skill Set:
• Signal Processing: Expertise in high-frequency sampling, peak detection, and waveform analysis.
• Labjack T4 Integration: Experience with the Labjack T4 hardware and interfacing with software for data collection.
• Database Design and Management: Experience in structuring and managing data, preferably time-series data.
• Software Development: Proficiency in programming languages like Python, C++, or similar (any language that suits the LJM library of Labjack). Familiarity with GUI frameworks for visualization.
• Pattern Recognition: Knowledge of signal comparison techniques or machine learning methods for pattern matching.
Deliverables:
1. Signal Processing Algorithm: A working algorithm that captures, processes, and identifies signal peaks.
2. Database System: A continuous logging system that stores processed signals and is capable of handling different signal types.
3. Signal Matching and GUI: A functional interface that can compare signals from the database and display relevant results in a modern GUI, with the ability to link additional external data (e.g., images, tables, etc.).
Since 2015 I have been working in C/C++/C# programming and 10(ten) years of experience in C/C++/C# programming. Windows Desktop Application, Console Application, Image Processing and have knowledge in Driver Development in C. Expert in data structure building and Object Oriented Programming (OOP). Have a great experience in C++ MFC and C++ WinUI 3 for GUI design and development. Also expert in C/C++ GPU CUDA programming. If you want a good delivery of the project, then send me a message, please.
Since 2003 I am working in Digital Electronic. So more than 18 years of experience in Electronics. Arduino NANO/UNO/MEGA, ESP32 and Raspberry PI to build a digital device to read sensor data and send it to the web server, motor control, control relay switches and LEDs. More than 5(five) years of experience in Arduino design and build. If you want an excellent and error-free project delivery, then send a message to me, please.