A律与13折线
来源:互联网 发布:nginx 限制url访问 编辑:程序博客网 时间:2024/06/01 13:38
今天趁着无聊,试试通信原理上课讲到的用十三折线近似A律对数压缩特性
原本以为很快,没想到困难重重。
为了验证两者之间近似效果好不好,首先想到的就是将A律与十三折线呈现在一张图上看看效果
画十三折线和A律函数图还是简单的,几句代码就搞定了。也达到了目的,但是,这个时候却不能算出两者的差,因为A律的曲线我使用函数做的,而十三折线确实直接画的
两个对应的幅度值y是不同维数的,不可以相减!
后来搜到一个挺巧妙的方法,
x=0:0.0001:1;
y1=16.*x.*(x>=0 & x<1/128);
y2=16.*(x-1/128).*(x>=1/128 & x<1/64)+1/8.*(x>=1/128 & x<1/64);
y3=8.*(x-1/64).*(x>=1/64 & x<1/32)+2/8.*(x>=1/64 & x<1/32);
y4=4.*(x-1/32).*(x>=1/32 & x<1/16)+3/8.*(x>=1/32 & x<1/16);
y5=2.*(x-1/16).*(x>=1/16 & x<1/8)+4/8.*(x>=1/16 & x<1/8);
y6=1.*(x-1/8).*(x>=1/8 & x<1/4)+5/8.*(x>=1/8 & x<1/4);
y7=1/2.*(x-1/4).*(x>=1/4 & x<1/2)+6/8.*(x>=1/4 & x<1/2);
y8=1/4.*(x-1/2).*(x>=1/2 & x<=1)+7/8.*(x>=1/2 & x<=1);
将条件(x>=1/128 & x<1/64)放在计算公式中,很好的避免了位数不同的困难!!
最后y=y1+y2+y3+y4+y5+y6+y7+y8;就是整个十三折线的幅度值
而A律的函数图的方法不变,得到
上面的图形是基于A=87.6的情况,为了对比看看哪个A的方差是最小的,得到一个二次函数
从图中可以很好的看出当A=82.9为方差最小的,按理说A应该去82.9比取87.6好啊。。
这也许就是书中给出为什么取A=87.6的原因了,让十三折线近似时最靠近原点的直线斜率近似于16,另外可以让十三折线的转折点接近(1/2)^i。
- A律与13折线
- A率13折线PCM编码的C语言实现
- A律13折线码编码输出、量化误差、以及对应的11位均匀量化编码
- 折线与平面问题
- 折线法与反射原理
- 使用Highcharts生成折线图与曲线图
- Excel2010 柱形图与折线图制表
- jfreechart 柱状图与折线图结合
- 动态画折线图,暂停与继续
- 使用Highcharts生成折线图与曲线图
- 使用Highcharts生成折线图与曲线图
- C#绘制表格与折线图
- OpenGL数据点折线与直方图
- ionic 中的折线图与柱状图
- MATLAB与折线图---横坐标不均匀刻度
- 根据UIBezierPath与CAShapeLayer画折线
- matplotlib绘制折线图与散点图
- [堆 折线] Codeforces713C. Sonya and Problem Wihtout a Legend
- Android用Paint计算文字宽度
- ZF2.0用户向导 —— 6. 数据库及模型(Models)
- 黑马程序员------张孝祥J2SE加强自学笔记(48-56)(转载)
- Java 7 的新特性一览表
- android: 设置中文字体效果的一些方法
- A律与13折线
- 魔方
- POJ1118 Lining up
- 单页面 多缓存
- android数据存储之SharedPreferences
- 字节序问题--大小端问题
- C++标准转换运算符dynamic_cast
- 读《算法导论》我来C语言实现(1)——插入排序
- 最小生成树