問題タブ [reed-solomon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 基本的なリードソロモン エラー訂正問題
リードソロモンエラー訂正は、ドロップされたバイト (または複数のドロップされたバイト) があるインスタンスで機能しますか? たとえば、(12,8) リード ソロモン コードだとすると、理論的には 2 つのエラー (位置がわかっている場合は 4 つの消去) を修正できるはずです。しかし、11 (または 10) バイトしか受信されず、ドロップされたバイトがわからない場合はどうなるでしょうか? Reed-Solomon エラー訂正は機能しますか?
ありがとう、
ベン
memory - 組み込みアプリケーション用のリードソロモン エンコーダ (メモリ効率の高い)
組み込みアプリケーションで使用するための非常にメモリ効率の高い (ルックアップ テーブル用の最大 500 バイトのメモリなど) リードソロモン エンコーダの実装を探していますか?
10 バイトのブロックを 5 バイトのパリティでコーディングすることに興味があります。速度はほとんど重要ではありません。
この目的で使用できる自由に利用できる実装を知っていますか?
前もって感謝します。
math - ガロア体での加算と乗算
非常に限られた組み込みプラットフォームで QR コードを生成しようとしています。エラー訂正コードワードの生成を除いて、仕様のすべてがかなり単純に見えます。私は多くの既存の実装を見てきましたが、それらはすべて、特にガロア体に関して、私の頭を真っ直ぐに進む多項式数学の束を実装しようとしています。数学的複雑さとメモリ要件の両方で、私が見ることができる最も簡単な方法は、仕様自体にレイアウトされている回路の概念です。
それらの説明により、GF(256) 加算と GF(256) 乗算とラベル付けされた部分を除いて、これを実装できると確信しています。
彼らはこの助けを提供します:
QR コードの多項式演算は、ビット単位のモジュロ 2 演算とバイト単位のモジュロ 100011101 演算を使用して計算されます。これは 2^8 のガロア体で、100011101 は体の素数モジュラス多項式 x^8+x^4+x^3+x^2+1 を表します。
これは私にとってほとんどギリシャ語です。
だから私の質問はこれです:この種のガロア体演算で加算と乗算を実行する最も簡単な方法は何ですか? 両方の入力数値が 8 ビット幅で、出力も 8 ビット幅である必要があるとします。いくつかの実装では、これを支援するために 2 つのルックアップ テーブルで事前計算またはハードコーディングされていますが、それらがどのように計算されるか、またはこの状況でどのように使用されるかはわかりません。2 つのテーブルで 512 バイトのメモリ ヒットは避けたいと思いますが、実際には代替手段が何であるかによって異なります。この回路で単一の乗算と加算演算を行う方法を理解するのに本当に助けが必要です。
objective-c - 48ビットメッセージに検出コードまたは訂正コードを追加するにはどうすればよいですか?
私は、それぞれ2ビットを表すシンボルのセットをリードするOCRツールを開発しています。
例:
{---> 00
} ----> 01
常に48ビットのコードがあるので、24個のシンボルがあります。
Objective-cで検出器またはエラーの修正を実装する必要があります(Mac用のアプリケーションを開発しています)。私の唯一の要件は、コードが可能な限り小さいことです。私は48ビット(24 Sibolを表す)を持っていますが、デザインにこれ以上追加したくありません。
私はこのコードを実装しようとしました: http ://code.google.com/p/rscode-objc/
しかし、それは時代遅れであり、私は多くのエラーを受け取り、255バイトのメッセージ用に設計されています(そしてもちろん私は適応する方法がわかりません)。誰かが私がそれを適応させるのを手伝ってくれるなら、それは素晴らしいことです。
さらに詳しい情報が必要な場合は、お知らせください。
ありがとうございました。
c - Reed-Solomon Erasure Correction を使用した前方誤り訂正
パリティチェックサム方式とリードソロモン消去訂正を使用して、サウンドの一部のバイトをエンコードおよびデコードするタスクがあります。最初の方法 (パリティ チェックサム) のエンコードは完了しましたが、リードソロモン消去訂正による検出である 2 番目の方法を完了するには助けが必要です。
t
これまでのところ、RS コードはデータのシンボルにシンボルを追加することを知っていk
ます。t/2
そのため、シンボルまで、またはエラーの場所がわかっている場合は、いわゆる消去を見つけて修正できます。まで補正できますt
。このタスクでは、ガロア体 GF(2 8 ) を使用して、各シンボルをバイトとして表す必要があります。演算の加算と減算は XOR に基づいています。t=3
そのため、全体として、消去まで修正できるリードソロモン コードを使用する必要があります。単一のリード ソロモン コードの計算は次のようになります。
したがって、コードバイトはベクトルとして表示でき、次のように k バイトのデータから
単一のコードが計算されるため、エンコードおよびデコードプロセスには次のヴァンデルモンド行列 F が必要です。c=[c0,c1,...,ck+2]
C
d=[d0,d1,...,dk-1]
F
したがって、 &D
を使用した単純な行列ベクトル乗算により、が得られC=F.D
ます。
これまでのところ、エンコードのために行ったことは次のとおりです。
Reed-Solomon Erasure Correction を使用して fox_encode および fox_decode クラスをエンコードおよびデコードするために、このコードを完成させるコードが必要です。できるだけ早くこのタスクを完了するために、任意のヘルプをいただければ幸いです。
前もって感謝します
qr-code - QRコードで必要なエラー訂正ワードの数を計算する
QRコードをエンコードするのが好きです。したがって、指定されたバージョンと訂正レベルで必要なエラー訂正ワードの量を知る必要があります。ecレベルQと組み合わせたQRバージョン1の場合、13個のエラー訂正ワードと13個のデータワードが必要です。この情報が保存されているISO/IEC 18004にいくつかのテーブル(テーブル7、8、9)があることを私は知っています。しかし、必要なエラー訂正ワードの量を計算できるかどうかを知りたいです。
挨拶、ラフィ
java - Java でのリードソロモン符号化および復号化の実装例
Reed-Solomon エラー訂正コードを使用して、一部のテキストをエンコードおよびデコードする必要があります。実装は Java で行う必要があります。
私は Sean Owen の実装クラスを調べましたが、実際の例でこれらのクラスを構築することはできませんでした。
Reed-Solomonエラー修正コードまたは参照リンクの実例を投稿してください。
redundancy - エラー訂正コード
銀行/電信送金を可能にする支払いシステムの場合、支払いを目的の対応するユーザーアカウントに確実に関連付ける必要があります。このため、ユーザーは自分のアカウントに関連付けられている転送に参照番号を含める必要があります。
次の(おそらく一般的な)エラーのうち最大N個を検出して修正できるように、冗長性(追加のシンボル)が組み込まれたこの番号を生成したいと思います。
- シーケンス内の誤った記号(タイプミス)
- 2つのシンボルの交換(これは2つの間違ったシンボルと同じだと思います)
- シーケンスに欠落しているシンボル
- シーケンス内の追加の記号
少し調べてみたところ、リードソロモンやBCHがよく使われているコードのようです。私が見つけられなかった唯一のことは、それらが最後のケース、つまり余分な記号をサポートしているかどうかです。
また、ランダムな「修正済み」の結果を表示するのではなく、「これは非常にめちゃくちゃなので、修正できません」というエラーモードをコードに持たせたいと思います。これは、まばらな参照番号を生成し、誤って有効な参照番号にヒットする可能性が低いことを期待するだけで実行できると思いますが、「最大5つのエラーを修正できますが、 3つ以上、私はあきらめます。」
何かご意見は?ありがとうございました!
embedded - 組み込み環境でのバースト エラー (ブロック コード) の計算時間に関して最速のアルゴリズムは何ですか?
バースト エラーのあるノイズの多いチャネルで動作するデバイスのエンコードとデコードの実装を検討しています。バースト エラーを克服するための最も一般的な手法は次のとおりです。
- リードソロモン (RS) コード
- 消防法
- インターリーブ
- 連結
- カスケード
組み込みシステムでは、関連する多項式をルックアップ テーブルに格納するための多項式ベースの手法を実装する最も効率的な方法だと思います。ただし、エンコードとデコードにはかなりの量の計算が必要であり、これらにどれくらいの時間がかかるのか疑問に思っています.
どんな助けでも大歓迎です。
==========
PS: 検出と修正の両方が必要です。
matlab - Matlab : QR コード用の多項式ジェネレーター Reed Solomon を作成する方法
QRコードを作成するmatlabプログラムを作成する必要があります。
私の問題は、Reed Solomon の誤り訂正です。
ユーザーは、必要な単語を入力します。[...] 多項式ジェネレーター (Reed Solomon) に入れるべき数字の文字列を取得しました (これをうまく行っているサイトをいくつか見つけました: http://www.pclviewer.com/rs2/calculator.html )
たとえば、次のように入力します: 32 91 11 120 209 114 220 77 67 64 236 17 236
【リードソロモン生成多項式】
168 72 22 82 217 54 156 0 46 15 180 122 16
関数 rsenc comm.rsencoder gf を見つけました ... しかし、これらの関数の操作を理解することは不可能です。関数の詳細: http://www.mathworks.fr/fr/help/comm...n.html#fp12225
このタイプのコードを試しました:
彼は 255 の文字列を生成しましたが、私は 13 の出力が必要です。
ご協力ありがとうございました。