2010年8月11日 星期三

PCM/ADPCM 聲波檔案之間差異的說明

PCM 和 ADPCM 是類比音訊資料儲存為數位格式 Microsoft.WAV 檔的技巧。

其他儲存體的方法 (比方說 mu-法律、 A-法律轉換編碼 CELP,等等),不受 Windows 音效系統 1.0。

PCM 的運作方式 PCM 的運作是藉由採取不連續的範例,依平均間隔 (稱為取樣率)。常見的時間間隔是 11 kHz]、 [22 kHz] 和 [44 kHz。越高取樣比率原始的類比音效和愈好聲音的品質愈好的表示。每個範例是值的具有無限解析從 +1.0 全面以完整的比例數值-1.0 實數數字。因為這些必須儲存為有限精確度數位數字,資料會被截斷成 16 位元 PCM 或 8 位元 PCM 通常稱為 8 位元和 16 位元範例。16 位元資料有更多的解析度,所以數位的一種聲音聽起來更好。8 位元 PCM 具有較少解析度按鍵動作發聲 hiss 導致該一種聲音。它也需要較少的磁碟空間。

ADPCM 的運作方式 通常稱為 「 為壓縮,表單的 ADPCM 是更有效率的方法儲存 16 位元或 8 位元 PCM 比波形。它只會使用每個佔用的磁碟空間的 16 位元 PCM 四分之一的範例 4 位元。但是,聲音品質是差。因為 Windows 音效系統硬體只能夠了解 8/16 位元 PCM,電腦必須壓縮和解壓縮至/從需要 CPU 時間的 PCM ADPCM。可以在 22 kHz 單聲道 ADPCM 背景解壓縮即時 (也就是雖然播放) 上 386SX/16 百萬赫茲 CPU。較高的取樣率 (44 kHz) 或立體聲檔案將會花太長的時間為一個 386SX/16 解壓縮,這會造成略過] 中音訊]。11 kHz 單聲道 ADPCM 可以壓縮即時 386SX/16 電腦上。若要如何 ADPCM 電腦必須有 [音訊壓縮管理員 (ACM) 安裝。

ADPCM 儲存兩個相鄰的 PCM 樣本中值的差異,並使允許資料減少一些假設。因為這些假設適當地重現低頻率,但是任何高頻率傾向於取得失真。扭曲是 11 kHz ADPCM 輕易按鍵動作發聲檔案,但會變成更難以分辨較高的取樣速率而是幾乎無法辨識與 44 kHz ADPCM 檔案。

2010年5月12日 星期三

[轉] Ubuntu 安裝Vim Plugin ctags及taglist

http://stenlyho.blogspot.com/2008/11/ubuntuvim-plugin-ctagstaglist.html
Ubuntu 安裝Vim Plugin ctags及taglist
安裝ctags及taglist

1. 首先先安裝ctags

apt-get install exuberant-ctags

2. 然後到Taglist網站去下載zip檔http://vim-taglist.sourceforge.net/

(1) 下載後解壓縮該檔案
# unzip taglist_45.zip
Archive: taglist_45.zip
inflating: plugin/taglist.vim
inflating: doc/taglist.txt
(2)將plugin及doc複製到家目錄的".vim"這個目錄裏,如果不存在就建一個新的".vim"

在vim裏設定功能鍵F9 - 用它來開啟/關閉taglist功能
在/etc/vim /vimrc裏加入下面1行

map :Tlist

最後一個步驟,到你的原始程式目錄裏輸入

ctags -R *.c *.h

開啟vim xxx.c按F9
你就會看見如下圖的結果

畫面分成左右兩邊,切換方式用Ctrl-W-W

左邊畫面TagList只要按Enter就會自動跳到相對應的函式或定義

右邊的畫面:
Ctrl+] : 跳到游標所指function的implement 位置 ,注意游標要在function的第一個字。
Ctrl+t : 返回到剛剛的位置。

2010年5月11日 星期二

[轉]TDD(Time Division Duplex) noise.分時多工雜訊

使用GSM手機的時候,一般人一定常聽過其嗶嗶嗶的聲音,有時候是自己的手機聽筒傳出,對方聽不到;有時候是對方聽到,但自己聽不到這個噪音;還有就是在 手機快響起的時候,電腦的喇叭or汽車的喇叭or教室的擴音器也會出現嗶嗶的聲音。
還是不知道我在說什麼聲音嗎?可以到這裡來聽聽:
(2009.07.05 更新,原來在youtube找的影片不見了,我自己錄了一段影片,
一個是我不小心買到的便宜爛喇叭,一個是比較好的喇叭,可 以很明顯的比較得出來TDD noise)


為什麼會有這個聲音呢?下面用簡單易懂,不講太多艱深的方式來陳述。
先從GSM手機的原理來說起。
GSM是使用TDMA分時多工的技術, 利用不同的時間點傳送不同的使用者的語音通話等資料。
以簡單的假設來解釋,同時有八個人在一間房間裡跟錄音機講話,為了要錄下所有人的聲音來溝 通,使用第一秒第一個人講話,第二秒第二個人講話,第三秒第三個人講話…到了第九秒又回到第一個人講話,如此就是分時多工。
而因為分時多工的關 係,手機會開關power(功率),即一下講話一下不講話的意思,而且是週期性的出現,這個週期時間是4.615ms(10^(-3) 秒),換算成頻率是1/4.615ms=217Hz(赫茲)。
一般聽力健全的人可聽見的聲音,其頻率約在20~20,000Hz之間,所以這個聲音是人耳聽得到 的,嗶嗶聲就是因此而來。

而手機的嗶嗶聲來源,主要有三種:

1.通過手機電源
2.通過不同傳輸路徑的耦合
3. 天線幅射出的功率耦合

手機會被影響出現嗶嗶噪音的元件有Mic(麥克風,講話收音)、Receiver(聽筒,講手機時耳朵聽聲音的聽 筒)、Speaker(揚聲器,發出來電鈴聲or放音樂出來)
當Mic有雜訊時,是對方會聽到嗶嗶聲;當Receiver有雜訊時,是我方會聽到 嗶嗶聲;當Speaker有雜訊時,是來電鈴聲or播出來的音樂會有嗶嗶聲。

1.通過手機電源即是手機PA功率放大器週期性的抽取電源的 時候,因為電源的不穩定,上述的三種元件都有接電,所以都會有217Hz的噪音,這樣就需要用電容去穩定電源。
2.通過手機內部的不同傳輸路徑的 耦合,這時候在layout的時候就要小心,把重要的電路保護好,不要外露或跟其他的線耦合到。
3.天線幅射出去的功率耦合,就是造成電腦的喇叭 or汽車的喇叭or教室的擴音器也有嗶嗶聲的來源,這時候只能期待那些電腦喇叭、汽車音響等,有做好保護的設計,要不然是無可避免的。而手機裡的Mic、 Receiver、Speaker則也必定需要設計好保護的電容來過濾,做不好的話,一樣就是通話中會有噪音了。這部份是相當難設計的,所以手機音質的好 壞,在這裡就顯得相當的重要。

至於為什麼電腦喇叭、音響之類的東西,會在手機快響起的時候才有嗶嗶聲呢?因為手機一般的時候並不是一直跟 基地台交換資料的,只是一段時間收一下資訊,跟基地台保持連結。而在電話要撥出或是要響起的時候,是要跟基地台交換相對較多的資料,所以手機會先用最大的 功率打出,以確保基地台能收到。之後與通話後,與基地台溝通,再調整手機的功率,若與基地台近一點,可能手機經由天線發射出去的功率就會調小,那功率比較 小,外部的音響也比較不會受到影響了,但當手機很靠近電腦喇叭的話,還是會有嗶嗶聲,大家可以試試看。

手機是拿來講電話的,聲音就是要清 楚,TDD noise的消除問題是一支手機好壞的重要指標。


1.TDMA示意圖
來源(http://cce.ccmtc.edu.tw /peterweb/book/download/無線通訊/ch14.ppt)



2. 人類聽覺的範圍
(來源http://www.cyut.edu.tw/~hcwul/ErgoPrac/u8.pdf)

2010年5月9日 星期日

Samba config

若 Linux 使用者,要分享目錄給其他使用者,都要去研究 smb.conf 這東西,但是對於初學者來說是很麻煩的事情。

不過現在 Ubuntu 使用者,可以用幾個步驟就可以完成。

1.打開檔案管理員 (Nautilus) ,找到你要分享的目錄,點選右鍵,選擇分享目錄 (Share Floder)。
2.若電腦內沒有安裝 Samba,系統會幫你安裝 Samba 套件。
3.安裝順利,出現設定分享資料夾名稱,以及分享權限。
4.到這邊基本都設定完成,不過還有一個步驟要處理,增加 smb user 帳號密碼。
5.打開終端機,下達指令。

sudo smbpasswd -a user

這樣,完成分享資料夾功能。

而在 Windows 環境,用網路芳鄰方式讀取 Ubuntu 分享資料夾。

不過 Ubuntu 預設的 工作群組是 MSHOME 電腦名稱是 主機名稱,所以在瀏覽上會比較麻煩。可以指令方式瀏覽。

開始 -> 執行 -> \\電腦名稱\分享目錄名稱

當然也可以修改設定,一樣請在 Ubuntu 電腦上,打開終端機。

sudo gedit /etc/samba/smb.conf

在最前面會找到這行敘述

workgroup = MSHOME

改成

workgroup = 您指定的工作群組
netbiosname = 您指定的電腦名稱

存檔離開,最後要重新啟動 Samba

sudo /etc/init.d/samba restart

新的 Samba 設定已經完成。

就某方面來看,設定上已經很方便,至少不像以前要翻文字天書,怎麼設定都不起來。
以上說明是最簡易的設定,至於要詳細當然要回歸最基本的 smb.conf 。

2010年4月3日 星期六

何謂LDAP?

LDAP - Lightweight Directory Access Protocol
採用Server/Client、TCP網路處理架構
專門用來存取目錄(Directory)性質的資料庫
可將資料分類儲存
讀取與搜尋速度較快; 異動時較慢
有特定的資料結構(Schema)
目錄服務(Directory Service)的目的就在一個分散式網路環境裡,展現
一個安全、具延展性並且易於維護的單一資訊來源的方式,而利用這種方式,將會是在執行各種應用系統設計專案裡的一個關鍵因素。

別用盜版的 Partition Magic了,來試試免費的硬碟分割工具—Easeus Partition Manager吧!

當你想要分割硬碟,調整分割區的大小,一定會想到Par
tition Magic這套軟體。現在你可以省去買這套軟體的錢,試試 免費的替代方案—Easeus Partition Manager(Home Edition)吧!除了常用的分割區調整大小、搬移、新增、刪除、隱藏…等功能,還支援了S-ATA、USB/1394外接硬碟,是個方便又強大的工具喔!

Easeus Patition Manager

* 官方網站:http://www.partition-tool.com/personal.htm
* 下載點:http://www.partition-tool.com/download.htm
* 版本:5.0.1 家用版
* 支援作業系統:Windows 2000 Pro / XP / Vista / 7 (32位元版)
* 支援硬碟類型:IDE / SCSI / S-ATA / USB外接硬碟 / IEEE 1394外接硬碟
* 支援硬碟容量:2GB ~ 2TB