📄 pcm3.m
字号:
x=1:500;
y=randn(1,500);
[sqnr64, a_quan64, code64 ] = u_pcm(y, 64);
SQNR64=sqnr64
a_quan64_result = [a_quan64(1), a_quan64(2), a_quan64(3), a_quan64(4), a_quan64(5) ]%前五个量化值
code64_result = [code64(1,1:6),
code64(2,1:6),
code64(3,1:6),
code64(4,1:6),
code64(5,1:6)] %前五个相应的码字
[sqnr16, a_quan16, code16 ] = u_pcm(y, 16);
SQNR16=sqnr16
a_quan64_result = [a_quan16(1), a_quan16(2), a_quan16(3), a_quan16(4), a_quan16(5) ]
code64_result = [code64(1,1:4),
code64(2,1:4),
code64(3,1:4),
code64(4,1:4),
code64(5,1:4)]
SQNR_128 = sqnr128
a_quan128_result = [a_quan128(1), a_quan128(2), a_quan128(3), a_quan128(4), a_quan128(5) ]
code128_result = [code128(1,1:7),
code128(2,1:7),
code128(3,1:7),
code128(4,1:7),
code128(5,1:7) ]
%下面为量化误差图形的代码
subplot(2,3,1);
plot(x,a_quan16); %画出量化后的图形
subplot(2,3,4);
[Y,I] = sort(y);% [ Y, I ] = sort(A)
plot(a_quan16(I),abs(Y-a_quan64(I))); %以量化值为横坐标,量化误差为纵坐标的图形
xlabel('N = 16');
subplot(2,3,2);
plot(x,a_quan64);
subplot(2,3,5);
[Y,I] = sort(y);
plot(a_quan64(I),abs(Y-a_quan64(I)));
xlabel('N = 64');
subplot(2,3,3);
plot(x,a_quan128);
subplot(2,3,6);
[Y,I] = sort(y);
plot(a_quan128(I),abs(Y-a_quan128(I)));
xlabel('N = 128');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -