Thứ Bảy, 11 tháng 7, 2020

4.44 Mã hóa và giải mã DPCM

Hãy mã hóa và giải mã DPCM tín hiệu răng cưa dùng hàm sawtooth() trong 3 chu kỳ. Vẽ và so sánh với tín hiệu gốc. Nhận xét về nhiễu trung bình bình phương.

Giải: Chúng ta chọn bộ predictor là y(k)= x(k-1).

% y(k)=x(k-1)
predictor = [0 1];
partition = [-1:.1:.9];
codebook = [-1:.1:1];
t = [0:pi/50:2*pi];
% Tạo tín hiệu gốc
x = sawtooth(3*t);
% Lượng tử DPCM
encodedx = dpcmenco(x,codebook,partition,predictor);
% Phục hồi tín hiệu lượng tử DPCM
decodedx = dpcmdeco(encodedx,codebook,predictor);
% Vẽ hình so sánh
plot(t,x,t,decodedx,'--')
legend('Tín hiệu gốc','Tín hiệu DPCM ','Location','NorthOutside');
set(gcf,'color','white');
% Sai số của lỗi trung bình bình phương
distor = sum((x-decodedx).^2)/length(x) 
 
Tín hiệu gốc và tín hiệu mã hóa DPCM

 Mỗi mẫu chúng ta dùng 20 phân vùng, nghĩa là 5-bit cho mỗi mẫu. Tổng cộng số mẫu ta dùng là 101 mẫu, nên tổng số bit dùng để lưu trữ tín hiệu là 505 bit. Với mã hóa DPCM, ta chỉ dùng 202 bit. Độ méo dạng là 0.0327, là không lớn.

Không có nhận xét nào:

Đăng nhận xét

2.16 Tìm giá trị nhỏ nhất và lớn nhất trong ma trận

Cho ma trận X = [1 2 3; 4 5 6; 7 8 9]. Hãy a. Tìm giá trị lớn nhất và giá trị nhỏ nhất theo hàng. b. Tìm giá trị lớn nhất và nhỏ nhất theo...