問題タブ [ber]

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.

0 投票する
1 に答える
6356 参照

asn.1 - ASN.1 SEQUENCE (OF) 実タグ値

SEQUENCE (OF) ASN.1 データ型のタグ値に関する多くの矛盾する情報を見つけています。

ウィキペディアは、それが 0x10 と 0x30 の両方であると主張しています。

http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One -> 0x30

http://en.wikipedia.org/wiki/Basic_Encoding_Rules -> 0x10

Microsoft によると、0x30 です。

http://msdn.microsoft.com/en-us/library/windows/desktop/bb540799%28v=VS.85%29.aspx

また、Bouncycastle のソースには次のものがあります。

したがって、基本的には 0x10 と 0x30 の間のタイです。本当の価値があることを知っていますか、それとも私は何かを見逃していますか?

0 投票する
2 に答える
495 参照

encoding - ASN.1 SET タイプの制限

SETASN.1タイプの制限について混乱しています。一般に、コンポーネントの順序が重要でないことを除けば、SET型は基本的に と同じであることがわかります。SEQUENCE

Olivier Dubuisson によるASN.1に関する独創的な本、ASN.1 — Communication Between Heterogeneous Systems」では、SET について次のように述べられています。

SEQUENCE 型のコンポーネントの順序が問題にならない場合は、キーワード SET を使用して、そのような順序付けられていない構造をモデル化します。

この場合、アプリケーションはエンコーダーに最適な順序でコンポーネントを提供できます。


ここですぐに気付くのは、Dubuisson の例では、SET2 つのIA5String 型があることです。これは、このチュートリアルでここで読んだことと矛盾しているようです。

SET の型と値の表記は SEQUENCE と似ていますが、各コンポーネントの型は他のすべてのコンポーネントと区別する必要があり、値は任意の順序にすることができます。

SETでは、合法的に 2 つのIA5Stringタイプを持つにはどうすればよいでしょうか。SET私は、ランダムなインターネット チュートリアルよりも Olivier Dubuisson の本を信頼する傾向がありますが、型が同じ型の複数のコンポーネントを持つことができるということは意味がありません。その理由は、ASN.1 では型識別子がエンコードされていない(少なくとも BER のようなほとんどの一般的なエンコードでは) ため、デコーダーはどのコンポーネントにIA5String適用されるsurnameかを知る方法がないためfirstnameです。順序が重要でないかどうかを判断する方法はありません。

では、オリヴィエ・デュブイソンはここで大きな間違いを犯したのでしょうか? (彼はまた、型の長い説明のどこにも、 aが各型を複数持てないSETという事実について何も言及していません。)SET

0 投票する
1 に答える
642 参照

pdp - matlab で標準 PDP を使用したレイリー チャネルを備えた OFDM トランシーバー

EPA、EVA、ETU などの標準 PDP を使用して、レイリー チャネルを備えた OFDM トランシーバーを構築しました。問題は、BPSK でも非常に高い BER を取得していることです。つまり、50 ~ 60% 以上のビットがエラーになっています。散布図で確認できます。私の OFDM トランシーバー ブロック含む:
---- ランダム データ -- 変調 (BPSK、QPSK、QAM) -- Serial2Parallel -- IFFT -- CyclicPrefix >>> Rayleigh Ch >>> CP データの削除---FFT --- Par2Ser ---DeMod --- データをシンクします。

組み込みの matlab 関数を使用して、標準の PDP をパラメーターとして渡すレイリー チャネルを作成しました。

n-OFDM シンボルのフィルタリングと CIR の計算

受信機でも同様に、FFT ブロックの後、受信したシンボルを次のように CFR で割って、この CFR を使用しようとしました。

私が得ているのは、非常に高い SNR と散在するコンスタレーション シンボルです。トランシーバー ブロックの残りの部分はシンプルで、すべてバグがないことが確認されています...改善方法を教えてください。どうすればBERを改善できますか? イコライザーが必要ですか?一致フィルターが役立つでしょうか?よろしくお願いします。

注: レイリー チャネルのみが使用され、AWGN ノイズはまったく追加されません ...

0 投票する
1 に答える
501 参照

asn.1 - ASN.1 の OID の最初の識別子の BER へのエンコード

OID は、ツリーのような構造を表す方法のようです。

たとえば、1.3.6.1 は iso(1).org(3).did(6).internet(1) です。

最も一般的に使用されているエンコード方式は BER のようですが、最初の 2 桁のエンコードについて混乱しています。最初の 2 桁が 1 バイトにエンコードされるのはなぜですか。また、次のようになるのはなぜですか。

最初の 2 バイトは常に小さい数値であり、したがって 1 バイトに簡単に「格納」できると想定されていますか? なら、それは理解できます。

しかし、なぜマジック ナンバー 40 を使用するのでしょうか。なんで40?

例えば。上記の 1.3.xxx の場合の最初のバイトは 43 としてエンコードされます。