7月 25, 2010

行動通訊技術演技

!! 參考資料 !!

[第一代行動電話]
類比式的 AMPS
[第二代行動電話]
美洲地區從 AMPS 發展出 CDMA One
(提供64Kbps到115Kps的傳輸速率)

歐洲國家則使用 GSM 系統,數位通訊系統,使用 TDMA 多工存取,載波頻寬是 200KHz,同時可切成 8 個時槽(time slot)提供給 8 個連線使用。在 GSM 的標準中,定義了 900MHz 與 1800 Mhz 的工作頻率。
[第 2.5 代行動電話]
GPRS (General packet radio service)
因為 GSM 使用了 TDMA 技術,將可用頻寬切割成多個 channel,讓不同用戶可同時進行通話。GPRS 將部份 channel 挪來傳送數位資料,例如在 8 個頻道中,使用其中 4個做語音,另外 4個用來傳資料(下行 3個,上行 1個)。如此作法使得原有 GSM 系統也可用來做數位傳輸。
[第三代行動電話]
(美)AMPS    CDMA 1x        CDMA 2000
|-------------|---------------|
(歐)AMPS GSM WCDMA
(1) 美洲地區要從2G到3G,直接從 CDMA One 晉升到 CDMA 2000

( CDMA 2000 使用主力是韓國,台灣亞太電信使用 CDMA2000 架構,因為沒有 GSM 包伏 )

(2) 歐洲地區則是推行 WCDMA , WCDMA 使用的部分協議與 GSM 標準一致。WCDMA 以現有 GSM 系統作為發展基礎,因此 GSM 網路業者最適合選擇此架構系統過渡到 3G 系統。

WCDMA 將 circuit switching 與 packet switching 整合在同一頻道上,所以用戶可以在通話的同時,以分封交換來傳送資料

(WCDMA 的陣營主力為歐洲及日本,ex: 日本 NTT DoCoMo )

(3) 大陸在 3G 的標準,仗著其龐大市場提出了 TD-SCDMA
[第 3.5G 行動電話]
HSDPA(High Speed Downlink Packet Access)

使用原本 WCDMA 下去改的,因此對於已經擁有 3G 服務的系統業者來說沿用過去已經建置部份,有效減低系統服務業者設備投資的支出。下行速度最快是到 14 Mbps (參考 wiki),上行速度則只有 384kbps。

Current HSDPA deployments support down-link speeds of 1.8, 3.6, 7.2 and 14.0 Mbit/s. Further speed increases are available with HSPA+, which provides speeds of up to 42 Mbit/s downlink

[第 3.75G 行動電話]
HSUPA(High Speed Uplink Packet Access)

參考 wiki 定義
因 HSDPA(3.5G) 上傳速度(只有 384Kb/s)不足而開發的,使用 5MHz 的載波,下行速率可達 10-15 Mbps,而上行速率可達 5.76Mbps

Spectral efficiency

資料來源:Wikipedia - Spectral efficiency

Spectral efficiency refers to the information rate that can be transmitted over a given bandwidth in a specific communication system. The link spectral efficiency of a digital communication system is measured in bit/s/Hz.

一個數位通信系統,在給定的頻寬限制下,可以傳送資料量就稱為頻譜效率,使用單位是 bit/s/Hz。舉例來說:
如果在「頻寬 1 kHz」環境下,毎秒能傳送「1 kbits」的資料,則其頻譜效率「1 bit/s/Hz」。

7月 24, 2010

窮人組 5K 電腦

Intel 方案 (3850nt)
主機板:技嘉 G31M-ES2L / 1650nt
處理器:Celeron E3300 (2.5G) / 1500nt
記憶體:DDR2-800 1GB / 750nt
AMD 方案 (4240nt)
主機板:技嘉 MA74GMT-S2 / 1650nt
處理器:X2-245 / 1790nt
記憶體:DDR3-1066 1GB/ 800nt

7月 15, 2010

十進位(Decimal) 轉成 八進位(Octal)


int main()
{
int r, num10, num8, multi;
r=num8=0;
multi=1; /* for counting power(10,i) */

printf ("input decimal: ");
scanf ("%d", &num10);

while (num10 > 0)
{
r = num10 % 8;
num8 = num8 + (multi * r);
multi = multi * 10;
num10 = num10/8;
}

return 0;
}