用 matlab绘制PCM编码曲线,PCM的编码及解码_matlab源程序

x=randn(1,1000);%产生一正态分布序列

xf=fft(x,256); %1024为数据点数,即对信号采样数据为1024点的处理

d=x;

subplot(2,1,1);%绘制正态分布序列时域与频域图

plot(x);

title('长度为1000的标准正态分布的随机信号时域波形图');

subplot(2,1,2);

plot(abs(xf));

xlabel('频率/Hz');

ylabel('振幅');

title('正态分布的频域图');

figure; %打开新的窗口,绘制编码与解码信号时域与频域图

u=255;

xx=0:0.01:1;

xy=log(1+u*xx)/log(1+u);

plot(xx,xy);

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)=

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值