高级C++开发工程师 - 嵌入式极性码算法专家 | 远程职位
远程
全职
我们正在寻找一位资深的C++开发工程师加入我们的远程工程团队,专注于关键的纠错算法项目。您将负责在嵌入式armv7m平台上实现高效的极性码算法,创建不使用浮点运算的优化代码。这是一个全职远程职位,需要深厚的算法知识和出色的低级编程技能。
项目概述
该项目涉及选择"缩短极性码"(Shortened Polar Codes)的参数并开发高效的C/C++实现。您需要分析现有库代码,根据特定需求进行调整,并针对嵌入式系统资源约束进行优化。您可以利用任何可用的代码库(如GNU Radio中的极性码实现),最终代码的许可证不受限制。
主要职责
- 研究并选择缩短极性码实现的最佳参数,确保算法性能达到要求。
- 为嵌入式armv7m平台开发高效的C/C++代码,实现无浮点运算的纠错算法。
- 分析、理解并优化现有库代码,使其适应项目特定要求。
- 优化代码以高效处理27字节数据包(32字节中缩短5字节)。
- 确保每个数据包中18字节有效数据的正确处理。
- 详细记录实现细节、算法参数选择和优化策略。
- 与工程团队密切合作,确保解决方案与更大系统的无缝集成。
- 执行全面的测试和性能分析,确保算法的正确性和效率。
必备技能
- 5年以上C/C++开发专业经验,熟悉C++17/20等现代标准。
- 对算法和数据结构有深入理解,特别是在纠错编码领域。
- 嵌入式系统编程的丰富经验,尤其是ARM Cortex-M架构。
- 具有定点算术实现和优化技术的实践经验。
- 能够阅读、理解和修改复杂的算法实现代码。
- 具备算法参数选择和性能调优的卓越分析能力。
- 熟悉资源受限环境下的代码优化技术。
- 能够在远程环境中独立工作并保持高效沟通。
- 解决复杂技术问题的出色能力和分析思维。
加分项
- 极性码或其他前向纠错算法(FEC)的实际实现经验。
- 了解通信协议和数字信号处理基础知识。
- 信息理论和编码理论的背景知识。
- 电信或无线通信领域的工作经验。
- 熟悉GNU Radio代码库和软件定义无线电(SDR)框架。
- 在内存和CPU受限环境下的代码优化经验。
- 了解armv7m汇编语言,能够优化关键代码段。
- 有嵌入式系统调试和性能分析工具使用经验。
技术环境
- 开发语言: C/C++(最新标准)
- 目标平台: 嵌入式armv7m架构
- 算法类型: 缩短极性码纠错算法
- 数据规格: 32字节数据包(缩短5字节,实际27字节)
- 有效负载: 每个数据包18字节有效数据
- 开发资源: 将提供算法参数选择和仿真资源,以及编解码器实现库
我们提供
- 全球范围内的完全远程工作安排,工作时间灵活。
- 参与前沿纠错技术开发的宝贵机会。
- 与通信系统领域专家工程师的紧密合作。
- 在专业算法实现领域的职业成长和技能提升。
- 基于经验和能力的有竞争力的薪酬待遇。
- 项目所需的算法模拟和测试资源支持。
这是一个需要立即启动的紧急项目。如果您具备实现高效纠错算法的专业知识,并热衷于解决嵌入式系统的技术挑战,我们期待您的加入。作为团队的关键成员,您将有机会在通信算法领域展示您的专业技能并产生实质性影响。