Mã hóa nguồn
210
% Khôi phục tín hiệu x từ tín hiệu đã điều chế.
decodedx = dpcmdeco(encodedx,codebook,predictor);
plot(t,x,t,decodedx,'--')
legend('Tin hieu goc','Tin hieu sau khi giai
ma','Location','NorthOutside');
distor = sum((x-decodedx).^2)/length(x) % Sai số bình phương trung bình
Kết quả thực hiện:
o Trên cửa sổ lệnh của MATLAB:
>> distor =
0.0327
o Đồ thị dạng sóng tín hiệu:
Hình 14.4.
14.5. TOÁI ÖU HOAÙ CAÙC THOÂNG SOÁ CUÛA QUAÙ TRÌNH MAÕ HOÙA DPCM
Cũng giống như với phương pháp lượng tử hoá PCM, ta có thể tối ưu hoá các thông số mã
hoá DPCM bằng giải thuật huấn luyện, chỉ cần cung cấp dữ liệu huấn luyện. Quá trình tối ưu
hoá này được thực hiện bằng hàm dpcmopt của MATLAB với một trong các dạng sau:
>> predictor = dpcmopt(training_set,ord)
Kết quả trả về là vector biểu diễn hàm dự đoán tối ưu từ tập dữ liệu huấn luyện và bậc dự
đoán cho trước.
>> [predictor,codebook,partition] = dpcmopt(training_set,ord,length)
>> [predictor,codebook,partition] = dpcmopt(training_set,ord,ini_codebook)
Nếu cung cấp thêm chiều dài length của bộ mã codebook hoặc bộ mã khởi đầu
ini_codebook thì hàm sẽ trả về phân hoạch và bộ mã tối ưu.