A律與13折線

來源:互聯網
上載者:User

今天趁著無聊,試試通訊原理上課講到的用十三折線近似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。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.