基于 MATLAB 的 PCM 编码解码实现

基于 MATLAB 的 PCM 编码解码实现

关于 PCM 的原理在此不过多解释,代码使用的是 A 律 13 折线法。

抽样信号

抽样信号的 MATLAB 代码如下:

clear;
clc;
T=0.0005;
t=-0.01:T:0.01;
fs=2000;
sdt=1/fs;
t1=-0.01:sdt:0.01;
xt=cos(2*pi*30*t)+sin(2*pi*120*t);
st=cos(2*pi*30*t1)+sin(2*pi*120*t1);
max = max(abs(st));

% 原始信号
figure;
subplot(2,1,1);plot(t,xt);title('原始信号');grid on;
subplot(2,1,2);stem(t1,st,'.');title('抽样信号');grid on;

绘制出来的图像如下图:

抽样信号图片

选择这个抽样频率是因为绘制出来的图像好看一点。可以看到上述代码中有一个 max 变量,这个后面要用到。

PCM 编码

分别得到符号位,段位码,段内码即可。代码如下:

function code=PCMcod
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值