0
私は、Matlab huffmanenco
によって作られたバイナリでハフマン符号を持っています。このコードをファイルに保存してから、メインデータを再度作成するために取得します。私は完全に変換dict
を行ってきたとも私は前にそれをファイルに書いたように私は、ハフマンコードを取得しますが、私は私のデータを取得するためにhuffmandeco
を使用するとき、私はこのエラーを取得:huffmandecoを使用してmatlabのハフマン符号化(バイナリ値)
エラー(行67)
コード化されたシグナルには、辞書には存在しないコードが含まれています。 extractNPSM_Huffmanで
エラー(行75)
MSG = huffmandeco(MSG、細胞) `
データを取得するために私のコード(私は倍増するビットを変換するために私の方法に問題があると思います):
s = bp;
e = s + huffmanLen - 1;
huff = [];
huff = bits(s:e);
for i = s:8:e
k = bits(s:(s+8));
c = 0;
for j = 1:8
c = bitset(c,9-j,k(j));
end
msg = [msg double(c)];
end
msg = huffmandeco(msg, cells)
私はここであなたが何をしているのか分かりません。 'bits'はあなたのコード化されたデータを含み、' cells'はあなたの 'dict'ですか?次に、その部分文字列の各バイトのビットを反転しているように見えます。何故ですか?上記のコードを使用すると、「dict」を作成し、入力をエンコードし、エラーを生成する[mcve]を投稿してください。 – beaker