基于Matlab的PCM编码和Huffman编码的实现

基于Matlab的PCM编码和Huffman编码的实现

理论基础

脉冲编码调制是一种对模拟信号进行处理,转化为数字信号的编码方式。其实现主要包含3个步骤,抽样,量化和编码,分别完成了时间上的离散,幅度上的离散和数字信号的二进制表达,为了改善小信号能量的性能,本次设计采用的是非均匀量化

代码实现

T=0.002;
t=-0.1:T:0.1;
xt=cos(2*pi*30*t)+sin(2*pi*10*t);
fs=500;
sdt=1/fs;
t1=-0.1:sdt:0.1;
st=cos(2*pi*30*t)+sin(2*pi*10*t);
figure(1);
subplot(3,1,1);
plot(t,xt);title('原始信号');
grid on 
subplot(3,1,2);
stem(t1,st,'.');
title('抽样信号');
grid on

m=length(st);
M=max(st);
C=(st/M)*2048;
code=zeros(1,8);
for i=1:m
      if C(i)>=0
          code(i,1)=1;
      else
          code(i,1)=0;
      end
      %极性码的计算
     if abs(C(i))>=0&&abs(C(i))<16
     code(i,2)=0;code(i,3)=0;code(i,4)=0;step=1;start=0;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值