实训二 信源编码和信道编码
一、实验内容
1、对抽样信号进行均匀量化,改变量化级数和信号大小,根据 MATLAB仿真获得量化 误差和量化信噪比。
2、对抽样信号进行A律压缩、均匀量化,改变量化级数和信号大小,根据MATLAB仿真获得量化误差和量化信噪比。
3、限失真信源编码:采用A律13折线编码 二、程序和仿真图 1.
close all; for i=0:7; fs=1000; if t=0:1/fs:1; x(1,k)>=-1+i*delta&x(1,k)<=-1+(i+1)*delta; x=0.99*sin(2*pi*t); Q=signal.*(y_level*delta+delta/2); plot(t,x); end; hold on; end; M=8; end; delta=2/M; plot(t,Q,'r'); y_level=floor(abs(x/delta)); grid on; signal=sign(x); title('原信号与均匀量化信号'); for k=1:1000;
2.
close all; fs=32; t=0:1/fs:1; x=sin(2*pi*t); subplot(2,1,1); plot(t,x);hold on; stem(t,x,'filled','r');
title('采样样值和8级均匀量化后的样值');grid on; M=8;
deta=2/M;
y_level=fix(abs(x/deta)); signal=sign(x);
Q=signal.*(y_level*deta+deta/2); Q_error=x-Q; S=mean(x.^2);
N=mean(Q_error.^2); stem(t,Q,'filled','b');
legend('输入信号','采样量值','量化后量值'); subplot(2,1,2);
stem(t,Q_error,'filled','r'); title('量化误差图');grid on;
3.
clear all; fs=2000; t=0:1/fs:1; x=sin(2*pi*t); c=[0 0 0 0 0 0 0 0]; for k=2:1:8;
[a,b,c(k)]=PCM(x,k); end; n=2:1:8;
plot(n,c(2:8),'b');
title('均匀量化信噪比编码位数变化'); xlabel('编码位数'); ylabel('量化信噪比'); grid on;hold on; SNR_T=n*6.02+1.76; n=2:1:8;
plot(n,SNR_T,'r-o');
legend('仿真值','理论值');
4.
clear all; fs=2000; t=0:1/fs:1; x=sin(2*pi*t); M=0:5:50;
c=[0 0 0 0 0 0 0 0 0 0]; for k=1:1:11;
y=x/(10^(M(k)/20)); [a,b,c(k)]=PCM(y,8); end;
plot(M,c);
c=[0 0 0 0 0 0 0 0 0 0]; for k=1:1:11;
y=x/(10^(M(k)/20)); [a,b,c(k)]=PCM(y,12); end; hold on;
plot(M,c,'-ro');
title('量化信噪比随信号衰减的变化情况'); xlabel('信号衰减(dB)'); ylabel('量化信噪比(dB)'); grid on;
legend('均匀量化(8 bits)','均匀量化(12 bits)');
5.
clear all; A=87.6; tc=1/32000; t=0:tc:1; %%
x=0.99*sin(2*pi*t); V=max(x); figure(1);
subplot(3,1,1); plot(t,x);
title('压缩前信号'); hold on;grid on; %%
x1=compand(x,A,V,'A/compressor'); plot(t,x1,'r');
title('A律压缩后信号');
legend('压缩前信号','A律压缩后信号'); %% f=1/32; t1=0:f:1;
y1=downsample(x1,f/tc); subplot(3,1,2);
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实训二 信源编码和信道编码在线全文阅读。
相关推荐: