組込みARMv7M向けポーラーコード実装シニアC++開発者
リモート勤務
フルタイム
当社では、誤り訂正アルゴリズムに精通した経験豊富なC++開発者を募集しております。本職位では、組込みARMv7Mプラットフォーム向けのポーラーコード(Polar Codes)誤り訂正アルゴリズムの実装を担当していただきます。浮動小数点演算を使用せずに、高速かつメモリ効率の良いコードを開発する能力が求められます。
主な職務
- 短縮ポーラーコード(Shortened Polar Codes)の最適パラメータを研究・選定し、実装方法を決定すること。
- ARMv7Mアーキテクチャに最適化された、高速かつ効率的なC/C++による実装を行うこと。
- 浮動小数点演算を使用せずに動作する堅牢なアルゴリズムを設計すること。
- GNU Radioなどの既存ライブラリからコードを適応・修正し、プロジェクト要件に合わせること。
- 特定のアルゴリズムパラメータ(27バイトのデータパケットと18バイトの有効データ)に基づいた実装を行うこと。
- リソース制約のある組込み環境でも効率的に動作するソリューションを開発すること。
- 実装したコードの性能評価と最適化を継続的に行うこと。
- アルゴリズムの実装詳細、決定事項、性能特性を詳細に文書化すること。
必須スキル
- コンピュータサイエンス、電気工学、または関連分野の学士号以上。
- C++プログラミングにおける5年以上の実務経験(C++17/C++20の知識を含む)。
- Cプログラミングにおける3年以上の実務経験(C11/C17標準の理解)。
- アルゴリズムとデータ構造に関する深い知識と実装経験。
- 誤り訂正コーディング理論と実装に関する基本的な理解。
- 組込みシステムプログラミングの経験、特にARMアーキテクチャでの開発経験。
- メモリとパフォーマンスの制約下でのコード最適化能力。
- 低レベルビット操作とバイナリデータ処理の経験。
- 独立して問題を解決し、技術的な課題に対処する能力。
あれば望ましいスキル
- ポーラーコードや他の誤り訂正アルゴリズム(LDPC、ターボコードなど)の実装経験。
- 情報理論とチャネルコーディングの原理に関する知識。
- GNU Radioまたは類似のソフトウェア無線フレームワークの使用経験。
- 通信システムや無線通信の分野での実務経験。
- 5G標準規格におけるポーラーコードの応用に関する知識。
- ARM Cortex-Mシリーズのマイクロコントローラでの開発経験。
- ビットレベルの最適化を必要とするプロジェクトでの実績。
- ARMプロセッサ向けアセンブリ言語プログラミングの知識。
プロジェクト詳細
本プロジェクトでは、組込みARMv7Mプラットフォーム向けの短縮ポーラーコードの実装を行っていただきます。具体的には、32バイトのうち5バイトを短縮した27バイトのデータパケットを処理し、そのうち18バイトの有効データを含むアルゴリズムを開発します。実装には既存のライブラリ(GNU Radioなど)のコードを活用することが可能で、最終成果物のライセンスは問いません。デコーディングアルゴリズムの具体的な変種については協議の上決定します。
開発環境
- アルゴリズムパラメータ選択とシミュレーションのためのリソースを提供します。
- エンコーダーとデコーダーの実装を含むライブラリへのアクセスを提供します(短縮コードのサポートがない場合は追加実装が必要)。
- 技術チームとの定期的なコミュニケーションと進捗確認の機会があります。
応募する理由
本プロジェクトは、最先端の誤り訂正技術を実際の組込みシステムに適用する貴重な機会です。理論的なアルゴリズムを実用的なコードに変換する挑戦に取り組むことができます。リモートで柔軟に働きながら、デジタル通信の分野で重要な貢献をすることができます。また、高度に最適化されたアルゴリズム実装のスキルを磨く絶好の機会となります。