Showing posts with label DSP. Show all posts
Showing posts with label DSP. Show all posts

Wednesday, November 6, 2013

dB (Decibel)

 

簡單來說這是能量的比值表示法[1]。

關鍵詞會鎖定在gain/attenuation

amplitude跟power差一個次方。

常見3dB(2), 6dB(4), 20dB(100)

 

我們都知道C語言math.h[8]當中會有log(), log2(), log10()函式可以使用,

而這些函式是如何設計實現呢?

或換言之,在嵌入式系統中,我們該如何在有限的資源裡轉換dB值呢?

這都是一門技術。

這裡先簡單帶過之後有時間再做詳細介紹。

主要是透過Taylor expansion[4]和logarithm rule[3],透過一些誤差犧牲而換取有效的得到轉換值所產生的。

自然函數能利用Taylor expansion來呈現,若要轉換基底就透過一些對數規則[3]做轉換。

透過觀察[4]我們能知道Taylor expansion對於自然對數的呈現,若N級數很大的情況下在-1 ~ 1之間較為精準,若級數較小時-0.5 ~ 0.5較為精確。

 

Reference

[1]http://en.wikipedia.org/wiki/Decibel

http://en.wikipedia.org/wiki/Logarithm

[3]http://www.rapidtables.com/math/algebra/Logarithm.htm

[4]http://en.wikipedia.org/wiki/Taylor_series

http://en.wikipedia.org/wiki/Common_logarithm

[6]http://mathworld.wolfram.com/NaturalLogarithm.html

http://en.wikipedia.org/wiki/Natural_logarithm_of_2

[8]http://www.codecogs.com/library/computing/c/math.h/log.php

http://stackoverflow.com/questions/15967240/fastest-implementation-of-log2int-and-log2float

http://stackoverflow.com/questions/9411823/fast-log2float-x-implementation-c

Friday, September 2, 2011

序論-業界視野

小時候常常從長輩們嘴裡探討說
社會就像是一個大染缸,白的進去也會黑的出來。
小時候總是不明白其中的道理,等到長大了出社會了,經過沈澱後才發現固中的道理所在。其實環境很容易改變一個人,但一個人卻很難改變這個世界。當我們長大了有了自己思考的方式和做事行為,在這過程我們能學習成長的就是周遭的環境。但我們唯一能掌握能就是自己,雖然我們不能像偉人一樣改變世界,但我們卻可以改變自己挑戰自己,心思清楚的走出淤泥而不染。

我希望能透過這個Blog來分享工作成長,記錄我的工作過程,如何思考如何解決問題,所得到及衍生出的專業技能與想法,藉由這分享過程中獲得更多的喜悅。
至航
於民國一百年九月九號首寫

Register Transfer Level Design with Verilog (1) [ebook]

設計程式之所以有趣不外乎是它的千變萬化,同樣的結果卻有不同的寫法。 但這些不同寫法當中也並沒有分誰對誰錯,也沒有制定標準來規範何事該用何解。 這也就是我們設計者的珍貴!! [1] Primitive Instantiations 在Verilog中最基本的邏輯...