How to implement the Huffman codes to voice signal?
7 views (last 30 days)
Show older comments
Hi,
I have a voice signal that I have quantized and now I have to employ Huffman coding to the quantized samples. I have tried to implement the "huffmanenco" but I keep getting the same error message, I would be glad if someone can help me out.
Here are the codes that I have written:
...
%Quantization
partition=[-0.2:0.04:0.2];
codebook=[-.24:0.04:-0.2];
[index,quants] = quantiz(myRecording,partition,codebook)
plot(quants)
%Probability distribution
prob_y = arrayfun(@(x)length(find(quants==x)), unique(quants)) / length(quants)
%Huffman Encoding
symbols = [1:17]; % Distinct symbols that data source can produce
p = prob_y; % Probability distribution
[dict,avglen] = huffmandict(symbols,p); % Create dictionary.
comp = huffmanenco(quants,dict);
Error: The Huffman dictionary provided does not have the codes for all the input signals.
Thanks in advance
0 Comments
Answers (2)
Walter Roberson
on 11 Jan 2014
quants is the floating point values, the codebook indexed by the appropriate index. If you want the symbol range to be 1:17 then you want to be passing in "index" not quants.
0 Comments
See Also
Categories
Find more on Source Coding in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!