The core responsibilities of a Digital Signal Processing (DSP) Engineer with an Embedded focus include:
Algorithm Development and Implementation:
Coverting theoretical signal processing concepts or prototypes developed in MATLAB or C-language into efficient algorithms suitable for implementaion on embedded DSP or ARM processors. This requires a strong understanding of DSP hardware, including memory management and processor pipeline optimization.
DSP Software Development and Verification:
Designing, developing, and validating DSP software, encompassing requirements analysis for algorithm implementation and supporting patent applications related to these algorithms. This also involves providing development support to internal and external customers.
Algorithm Evaluation and Benchmarking:
Collaborating with an Audio Research team to evaluate and benchmark advanced, proprietary speech/hearing algorithms developed in-house. These algorithms are intended for deployment in high-volume audio products.
Job Description:
i) DSP Algorithm Design and Implementation:
- Design and develop novel DSP algorithms optimized for specific target DSP architectures and audio applications (e.g., noise reduction, echo cancellation, audio enhancement).
- Implement these algorithms efficiently on the designated DSP hardware, considering memory constraints and real-time processing requirements.
ii) Research and Development Collaboration:
- Actively participate in research activities related to speech and hearing algorithms with the company's research team.
- Contribute to the development of new audio processing techniques and their potential application in various products.
iii) Product Development and Verification:
- Work closely with sales and engineering teams throughout the productization process.
- Participate in verification and testing of developed algorithms and software modules to ensure functionality and performance according to product specifications.
- Assist in securing patent protection for newly developed algorithms.
iv) Code Quality Assurance and Defect Resolution:
- Conduct design and code reviews with development team members to maintain code quality and adherence to coding standards.
- Analyze and eliminate defects identified in developed solutions.
v) Software Development Process Adherence:
- Follow the defined software development process established by the team.
- Contribute to process improvement initiatives to enhance efficiency and productivity.
vi) Algorithm Maintenance and Improvement:
- Enhance or update existing software algorithms as needed to address changing requirements or improve performance.
- Explore opportunities to improve algorithm functionality and usability.
vii) Collaboration with Partners and Suppliers:
- Work effectively with company partners and suppliers to foster collaborative development and integration of components.
- Build and maintain strong relationships with key stakeholders to ensure project success.
Job Requirements:
- At least an engineering degree with exposure to signal processing applications
- Preferably 5 years of experience in embedded real-time firmware development with an emphasis on computational complexity
- Candidates with DSP development and implementation experience (focus on audio implementation) will be preferred
- Proficient in C/C++ and Shell scripting