Senior Embedded Engineer (ARM Cortex-M, Fixed-Point Optimization, FEC)
You'll be developing a critical error correction component utilizing Shortened Polar Codes for our advanced communication system. The implementation targets embedded ARMv7M microcontrollers (Cortex-M series), demanding meticulous optimization without relying on floating-point arithmetic operations. Your work will directly impact system reliability and performance in mission-critical applications.
Key Responsibilities
- Select optimal parameters for Shortened Polar Codes implementation based on rigorous mathematical analysis and system requirements.
- Develop highly efficient C/C++ (C++17/20) implementation optimized specifically for ARMv7M architecture with strict memory constraints.
- Engineer solutions that completely avoid floating-point arithmetic while maintaining algorithmic integrity and performance.
- Evaluate, adapt, and extend existing library implementations to support shortened codes according to project specifications.
- Implement fixed-point arithmetic solutions that maximize computational efficiency on target hardware.
- Document implementation decisions, optimization techniques, and parameter selection rationale thoroughly.
- Collaborate with cross-functional engineering teams to integrate your implementation into the broader system architecture.
- Conduct comprehensive performance analysis and validation against theoretical error correction capabilities.
Required Skills
- 5+ years of professional experience developing optimized C/C++ code for embedded systems.
- Demonstrable expertise with modern C++ standards (C++11/14/17) applied to resource-constrained environments.
- Strong understanding of ARMv7M architecture, instruction set, and optimization techniques.
- Proven track record implementing and optimizing complex algorithms for embedded platforms.
- Excellent knowledge of fixed-point arithmetic implementation strategies and trade-offs.
- Ability to analyze, understand, and adapt complex mathematical algorithms to efficient code.
- Experience with embedded development toolchains, debugging techniques, and performance profiling.
- Strong mathematical foundation, particularly in information theory or error correction coding.
- Exceptional problem-solving skills with attention to algorithmic efficiency and code quality.
Nice to Have
- Previous work with Polar Codes, LDPC, Turbo codes, or similar error correction algorithms.
- Experience with GNU Radio implementations or similar SDR frameworks.
- Familiarity with ARM CMSIS libraries and optimization techniques for Cortex-M processors.
- Background in digital communications systems or signal processing.
- Knowledge of bare-metal programming for microcontrollers.
- Contributions to open-source projects related to embedded systems or communications.
- Experience optimizing algorithms for extremely constrained memory environments.
Project Specifications
- Data packet size: 27 bytes (32 bytes with 5 bytes shortened).
- Useful data payload: 18 bytes.
- Target platform: ARMv7M (ARM Cortex-M series).
- Implementation language: C/C++ (preference for modern C++ where appropriate).
- No floating-point arithmetic permitted in the implementation.
- Specific decoding algorithm variant can be negotiated based on implementation considerations.
