シニアC++開発者:ポーラーコード誤り訂正アルゴリズム実装 | リモートワーク
リモートで
フルタイム
当社ではアルゴリズム最適化スキルを持つ経験豊富なC++開発者を募集しています。組込みARMv7mプラットフォーム向けのポーラーコード誤り訂正アルゴリズムを実装し、浮動小数点演算を使用せずに効率性とパフォーマンスに焦点を置いた開発を行っていただきます。本ポジションは通信システム向けの最先端誤り訂正技術に取り組む貴重な機会となります。
プロジェクト概要
本プロジェクトでは、特定のパラメータを持つ短縮型ポーラーコード(Shortened Polar Codes)誤り訂正アルゴリズムの実装が必要です。27バイト(32バイトから5バイト短縮)のデータパケットを扱い、各パケット内の18バイトの有効データを効率的に処理するソリューションを設計していただきます。利用可能なライブラリから適切なコードを選択・調整し、最適なパフォーマンスを実現することが求められます。
主な責務
- 組込みARMv7mプラットフォーム向けに効率的な短縮型ポーラーコードアルゴリズムをC/C++で設計・実装すること。
- 浮動小数点演算を使用せずに最大のパフォーマンスを発揮するようコードを最適化すること。
- 最適な誤り訂正を実現するための適切なアルゴリズムパラメータを評価・選択すること。
- 既存のライブラリ(GNU Radioなど)から実装を適応させ、プロジェクト要件を満たすこと。
- メモリ制約のある組込み環境での効率性を最適化すること。
- ベストプラクティスに従った、十分に文書化された保守可能なコードを作成すること。
- より大きなシステムにアルゴリズムを統合するためにチームと協力すること。
- さまざまな条件下でアルゴリズムの信頼性を確保するための徹底的なテストを実施すること。
必須スキル
- CおよびC++プログラミングにおける高い熟練度(C++11/14/17/20)。
- 組込みシステム開発における5年以上の経験。
- アルゴリズムとデータ構造に関する深い理解と実装経験。
- ARMv7mアーキテクチャまたは類似の組込みプラットフォームの経験。
- リソースに制約のある環境向けにコードを最適化する実証された能力。
- 誤り訂正アルゴリズム、特に前方誤り訂正(FEC)に関する知識。
- 優れた分析スキルと問題解決能力。
- デジタル信号処理の概念と実装に関する経験。
- 最小限の監督で技術的課題を管理できる自立した作業能力。
- バージョン管理の経験(Gitが望ましい)。
あれば望ましいスキル
- ポーラーコードまたは類似の誤り訂正技術に関する過去の経験。
- GNU RadioまたはSDR(ソフトウェア無線)フレームワークの知識。
- 通信工学またはデジタル通信の背景知識。
- 固定小数点演算実装の経験。
- 通信プロトコルと標準規格の理解。
- 暗号化または数学的アルゴリズムの最適化の経験。
- 電気工学、コンピュータサイエンス、または数学のバックグラウンド。
- 信号処理に関連するオープンソースプロジェクトへの貢献経験。
技術環境
- プログラミング言語:C、C++(主にC++11/14/17)
- ターゲットプラットフォーム:組込みARMv7m
- 開発ツール:標準C++ツールチェーン、クロスコンパイル環境
- ライブラリ:適応可能な既存の実装へのアクセス(GNU Radioを含む)
追加技術詳細
2009年にErdal Arıkanによって導入されたポーラーコードアルゴリズムは、特にバイナリ入力の離散無記憶通信路における容量達成特性により、誤り訂正分野で大きな注目を集めています。当社の実装は短縮型ポーラーコードに焦点を当てており、制約のある環境内で最適なパフォーマンスを達成するための慎重なパラメータ選択が不可欠です。
実装は浮動小数点演算を避ける必要があり、これはアルゴリズム最適化に興味深い課題をもたらします。マイクロコントローラーや組込みアプリケーションで広く使用される32ビットRISCプロセッサコアを特徴とするARMv7mアーキテクチャ上で、精度を維持しながら処理効率を最大化する固定小数点アプローチを開発していただきます。
開発プロセス
以下の反復的開発プロセスを採用していただきます:
- 提供されるリソースに基づく初期研究とパラメータ選択。
- 効率性と精度に焦点を当てたアルゴリズム設計。
- ターゲットプラットフォーム向けのC/C++実装。
- パフォーマンス向上のための最適化フェーズ。
- さまざまな条件下での厳格なテスト。
- 文書化と知識移転。
参加する理由
この挑戦的な役割は、現代の通信システムに実用的な応用がある高度な誤り訂正アルゴリズムに取り組む機会を提供します。リモートワークの柔軟性を持ちながら、効率的なアルゴリズム実装の限界を押し広げる複雑な技術的問題を解決することができます。当社のチームは革新性、技術的卓越性、そして実世界の課題に対する最適化されたソリューション作成の満足度を重視しています。