• 大小: 3.38KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: Matlab
  • 标签: matlab  

资源简介


基本要求: 产生长度为1000的标准正态分布的随机信号,画出时域波形及频谱; 采用u=255的非均匀PCM编码,每符号为8bit,画输入-输出关系图; 计算信号量化噪声比(SQNR); 信道误码率为10-3; 解码,并画出u律反变换后的信号时域波形及频谱。 扩展要求: 采用均匀PCM、量化级数可变、信道误码率可变。

资源截图

代码片段和文件信息

x=randn(11000);%产生一正态分布序列
xf=fft(x256); %1024为数据点数,即对信号采样数据为1024点的处理
d=x;
subplot(211);%绘制正态分布序列时域与频域图
plot(x);
title(‘长度为1000的标准正态分布的随机信号时域波形图‘);
subplot(212);
plot(abs(xf));
xlabel(‘频率/Hz‘);
ylabel(‘振幅‘);
title(‘正态分布的频域图‘);
figure;     %打开新的窗口,绘制编码与解码信号时域与频域图
u=255;
xx=0:0.01:1;
xy=log(1+u*xx)/log(1+u);
plot(xxxy);
title(‘μ律PCM编码输入输出关系曲线‘);

%编码过程
c=x
for i=1:100

x(i)=x(i)/4
x(i)=fix(x(i)*4079);  
s=sign(x(i));
if s<0
pcm((i-1)*8+1)=0;
else
pcm((i-1)*8+1)=1;
end
x(i)=abs(x(i));
p(i)=x(i);

if  x(i)<=15.5

pcm((i-1)*8+2:(i-1)*8+4)=[000]
else if x(i)<=47.5
pcm((i-1)*8+2:(i-1)*8+4)=[001]
p(i)=floor((x(i)-15.5)/2);
else if x(i)<=111.5
pcm((i-1)*8+2:(i-1)*8+4)=[010];
p(i)=floor((x(i)-47.5)/4);
else if x(i)<=239.5
pcm((i-1)*8+2:(i-1)*8+4)=[011];
p(i)=floor((x(i)-111.5)/8);
else if x(i)<=495.5
pcm((i-1)*8+2:(i-1)*8+4)=[100];
p(i)=floor((x(i)-239.5)/16);
else if x(i)<=1007.5
pcm((i-1)*8+2:(i-1)*8+4)=[101];
p(i)=floor((x(i)

评论

共有 条评论