2

これはより理論的な問題です。最初に状況を説明させてください。

電話を別のシステムにして、dtmf トーンを送信するシステムがあります (dtmf トーンに慣れていない場合は、0、1、2 などの数字を送信すると仮定してください)。受信した dtmf トーンに基づいて、受信側は番号全体を構成し、何らかの動作を実行します。

ただし、 423121212121 のようなより長い番号では、13 個の dtmf トーンがあり、送信に非常に長い時間がかかります。

これらの13桁をより小さなサイズに圧縮し、送信してから相手側で抽出できる数式またはアルゴリズムに精通している人がいるかどうか疑問に思っていましたか?

4

1 に答える 1

4

本格的な DTMF 方式では、16 のコンボを意味する 4 つの「ビット」のデータがあります。質問にアプローチする最も明白な方法は、16 のコンボすべてが利用可能な場合、番号を 16 進数にエンコードして 16 進数を送信することです。これにより、13 桁が 10 桁または 11 桁に減少します。大幅な削減ではありませんが、おそらく最善の方法です。

私が考えることができる他の唯一のことは、数字のパターンを利用して、たとえば「人気のある」接頭辞コードを1つの数字に置き換えることです(あまり一般的でない接頭辞には、それらを識別するために追加のマーカー数字が必要です)。これはハフマン エンコーディングの貧乏人のバージョンです。または、本格的なハフマン エンコーディング、または同様のスキームを使用することもできます。

于 2012-09-22T13:33:02.573 に答える