A律13折线码编码输出、量化误差、以及对应的11位均匀量化编码

最近帮别人做了些通信原理的题目,发现里面都会涉及到A律13折线码编码的问题,为了以后碰到类似的问题方便计算,写了这个小程序,返回内容包括整个的解题思路,过程以及结果。


首先看个例子:



function [coded_output,quantization_error,Uniform_quantization]=A13(Sampling_pulse_val)
%输入:抽样脉冲值
%输出:coded_output:A律13折线码编码输出;
%       quantization_error:量化误差;
%       Uniform_quantization:对应于7位码(不包含极性码)的均匀量化11位码

%dec2bin()可以将十进制转换为二进制
if abs(Sampling_pulse_val)>=2048
    error('抽样脉冲值应在0到2047之间')
end
coded_output=zeros(1,8);%定义一个1*8的矩阵,每一个元素表示量化输出的一位,分别为C0C1……C7
%C0表示极性码,C1C2C3表示段落码,C4C5C6C7表示段内码
disp('____________________________________________')
if Sampling_pulse_val>0
    disp('因为抽样脉冲值大于零,所以极性码为1')
    coded_output(1)=1;%如果抽样脉冲值为正,则极性码为1
else
    disp('因为抽样脉冲值小于零,所以极性码为0')
    coded_output(1)=0;%否则,极性码为0
end
Sampling_pulse_val=abs(Sampling_pulse_val);

%根据抽样脉冲值确定段落码
%第一段
if Sampling_pulse_val>=0 && Sampling_pulse_val<16
    start=0;%该段的起始电平
    step=1;%该段的量化间隔
    coded_output(2:4)=[0 0 0];%该段的段落码
    d
  • 15
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值