最近公司在推行這個,雖然很煩瑣,但其實有些不錯又常常忽略導致埋下不定時炸彈小地方值得注意. 整理好來分享下好了
2014年3月22日 星期六
2013年4月25日 星期四
C語言 - gcc: error: macro names must be identifiers
這個錯誤是指說當code中使用 #ifdef XXX 時 XXX不可以為數字開頭
The #ifdef directive is used to check if a pre-processor symbol is defined. The standard (C11 6.4.2 Identifiers) mandates that identifiers must not start with a digit.
ex.
#ifdef 123_SUPPORT -> /* error!!! */
.
.
.
#endif
正確的:
#ifdef TEST_123_SUPPORT -> /* ok!!!! */
.
.
.
#endif
The #ifdef directive is used to check if a pre-processor symbol is defined. The standard (C11 6.4.2 Identifiers) mandates that identifiers must not start with a digit.
ex.
#ifdef 123_SUPPORT -> /* error!!! */
.
.
.
#endif
正確的:
#ifdef TEST_123_SUPPORT -> /* ok!!!! */
.
.
.
#endif
Reference:
2013年4月5日 星期五
DVB-T, Hierarchical modulation
DVB-T有個特殊得功能稱之為 hierarchical mode, 也就是說以原本通常使用在同個TP中間去帶節目資訊都是在high priority的部分, 如果今天想在原本的TP部分把low priority的部分拿來帶節目的話的這功能稱之為 hierarchical mode. 這優點就是如果有這功能的話可以在原本的TP中去多帶一倍的節目 但這功能現在普遍是很少在使用
有兩種mode, priority high/low, default是採用priority high的模式
Reference:
有兩種mode, priority high/low, default是採用priority high的模式
Reference:
2013年3月18日 星期一
C語言 - i++ vs. ++i
結果而言是相同,只是過程不同
i++:是先顯示i後再去做+1
++i:則是先做+1後再顯示
[1] [2]有例子寫得很好
以compiler而言,++i的效能會比較好[3]
[1] http://lagunawang.pixnet.net/blog/post/10425717-i%2B%2B-%E8%88%87-%2B%2Bi-%E7%9A%84%E5%B7%AE%E5%88%A5
[2] http://blog.roodo.com/sayaku/archives/14912893.html
[3] http://www.programmer-club.com.tw/showSameTitleN/homework/4354.html
i++:是先顯示i後再去做+1
++i:則是先做+1後再顯示
[1] [2]有例子寫得很好
以compiler而言,++i的效能會比較好[3]
[1] http://lagunawang.pixnet.net/blog/post/10425717-i%2B%2B-%E8%88%87-%2B%2Bi-%E7%9A%84%E5%B7%AE%E5%88%A5
[2] http://blog.roodo.com/sayaku/archives/14912893.html
[3] http://www.programmer-club.com.tw/showSameTitleN/homework/4354.html
2012年12月25日 星期二
何謂幀? frame?
計算照片、字畫等的單位。[1] 一個十秒鐘的畫面 定義成需要由10張圖來構成,那麼其中一張圖就是所謂的frame [2]
一個動態影像是由一連串連續的靜態影像所組成的,其中每一個靜態影像稱為幀(frame),而動態影像中每秒所包含靜態影像的數量則稱為幀(速)率(frame per second, fps)。
一般來說FPS用於描述影片或遊戲每秒播放多少影格,而赫茲則描述顯示器的畫面每秒更新多少次。[3]
而在顯示器上顯示動態影像的方式有兩種:
漸進掃描:或稱為逐行掃描。將每一幀從左至右、由上至下,逐一的將所有的畫素顯示出來。
交錯掃描:或稱為隔行掃描。將一幀圖像的奇數行畫素及偶數行畫素分開,分成為兩個場(field)。輪流掃描奇數行所構成的場及偶數行所構成的場。
因為一個場只有一個幀一半的資訊,因此在裝置處理速度無法即時的處理整個幀的資訊以及傳輸頻寬不夠即時傳輸整個幀的情形下,使用交錯掃描可以節省一半的資訊量且可以為持相同的更新率。在以往陰極射線管顯示器(Cathode Ray Tube, CRT)很難一次掃描整個螢幕,因此無法使用漸進掃描。但是因為螢幕上螢光的餘暉加上視覺暫留效應,使得交錯掃描在陰極射線管顯示器上運作的相當順利。所以廣播電視系統例如NTSC每秒59.94場,PAL則為每秒50場。
現在新式的顯示設備的速度已經夠快可以即時的處理且掃描整個幀,因此都是使用漸進掃描。但是在這些新型的顯示設備上直接播放交錯式影像會產生嚴重的閃爍現象,且因為交錯式訊號兩行只有一行有影像另一行則是全黑的,所以亮度看起來會減少一半。由於有上述這些問題,所有使用漸進掃描的新式顯示設備都需要有去交錯的功能。[4]
延伸閱讀:
Field vs. Frame[5]
圖框(Frame):
一個完全的TV影像,由兩個交錯掃瞄的圖場所構成。NTSC/EIA規格每秒有30張Frame,每個Frame有525掃瞄線。PAL/CCIR規格每秒有25張Frame,每個Frame有625掃瞄線。
圖場(Field):
TV影像的一半,由奇數線或偶數線組成。NTSC/EIA訊號規格是每秒60個262.5掃瞄線的圖場。PAL/CCIR訊號規格是每秒50個312.5掃瞄線的圖場。奇/偶圖場對再合組成Frame。
NTSC(National Television System Committee 美國國家電視系統標準協會):
美規彩色標準視訊信號,主要使用在美國、日本。NTSC每張影像使用525條掃瞄線,每秒30個Frames,每個Frame是由2個圖場以Interlace方式構成。
EIA(Electronics Industries Association 美國電子產業協會)︰
美規黑白標準視訊信號,每個Frame有525條線及2個交錯圖場,每秒有30 Frames。NTSC的黑白版本常以RS-170表示。
PAL(Phase Alternation Line 相位交錯系統):
歐規彩色標準視訊信號,歐洲是先驅使用者,也被使用在世界其他地方。PAL每張影像有625條掃瞄線,每秒有25 Frames,每個Frame是由2個圖場以Interlace方式構成。
CCIR(Consultative Committee of International Radio 國際無線電諮詢委員會)︰
歐規黑白標準視訊信號,每個Frame有625條掃瞄線及2個交錯圖場,每秒有25 Frames,PAL的黑白版本。
References:
[1] http://zh.wikipedia.org/wiki/%E5%B8%A7
[2] http://nelsonchunglife.blogspot.tw/2008/04/frame.html
[3] http://zh.wikipedia.org/wiki/%E5%B8%A7%E7%8E%87
[4] http://zh.wikipedia.org/wiki/%E5%8E%BB%E4%BA%A4%E9%8C%AF
[5] http://www.idsvision.com.tw/phpbb2/viewtopic.php?p=647&sid=1feae6efef438c41941170caa5953cb9
一個動態影像是由一連串連續的靜態影像所組成的,其中每一個靜態影像稱為幀(frame),而動態影像中每秒所包含靜態影像的數量則稱為幀(速)率(frame per second, fps)。
一般來說FPS用於描述影片或遊戲每秒播放多少影格,而赫茲則描述顯示器的畫面每秒更新多少次。[3]
而在顯示器上顯示動態影像的方式有兩種:
漸進掃描:或稱為逐行掃描。將每一幀從左至右、由上至下,逐一的將所有的畫素顯示出來。
交錯掃描:或稱為隔行掃描。將一幀圖像的奇數行畫素及偶數行畫素分開,分成為兩個場(field)。輪流掃描奇數行所構成的場及偶數行所構成的場。
因為一個場只有一個幀一半的資訊,因此在裝置處理速度無法即時的處理整個幀的資訊以及傳輸頻寬不夠即時傳輸整個幀的情形下,使用交錯掃描可以節省一半的資訊量且可以為持相同的更新率。在以往陰極射線管顯示器(Cathode Ray Tube, CRT)很難一次掃描整個螢幕,因此無法使用漸進掃描。但是因為螢幕上螢光的餘暉加上視覺暫留效應,使得交錯掃描在陰極射線管顯示器上運作的相當順利。所以廣播電視系統例如NTSC每秒59.94場,PAL則為每秒50場。
現在新式的顯示設備的速度已經夠快可以即時的處理且掃描整個幀,因此都是使用漸進掃描。但是在這些新型的顯示設備上直接播放交錯式影像會產生嚴重的閃爍現象,且因為交錯式訊號兩行只有一行有影像另一行則是全黑的,所以亮度看起來會減少一半。由於有上述這些問題,所有使用漸進掃描的新式顯示設備都需要有去交錯的功能。[4]
延伸閱讀:
Field vs. Frame[5]
圖框(Frame):
一個完全的TV影像,由兩個交錯掃瞄的圖場所構成。NTSC/EIA規格每秒有30張Frame,每個Frame有525掃瞄線。PAL/CCIR規格每秒有25張Frame,每個Frame有625掃瞄線。
圖場(Field):
TV影像的一半,由奇數線或偶數線組成。NTSC/EIA訊號規格是每秒60個262.5掃瞄線的圖場。PAL/CCIR訊號規格是每秒50個312.5掃瞄線的圖場。奇/偶圖場對再合組成Frame。
NTSC(National Television System Committee 美國國家電視系統標準協會):
美規彩色標準視訊信號,主要使用在美國、日本。NTSC每張影像使用525條掃瞄線,每秒30個Frames,每個Frame是由2個圖場以Interlace方式構成。
EIA(Electronics Industries Association 美國電子產業協會)︰
美規黑白標準視訊信號,每個Frame有525條線及2個交錯圖場,每秒有30 Frames。NTSC的黑白版本常以RS-170表示。
PAL(Phase Alternation Line 相位交錯系統):
歐規彩色標準視訊信號,歐洲是先驅使用者,也被使用在世界其他地方。PAL每張影像有625條掃瞄線,每秒有25 Frames,每個Frame是由2個圖場以Interlace方式構成。
CCIR(Consultative Committee of International Radio 國際無線電諮詢委員會)︰
歐規黑白標準視訊信號,每個Frame有625條掃瞄線及2個交錯圖場,每秒有25 Frames,PAL的黑白版本。
References:
[1] http://zh.wikipedia.org/wiki/%E5%B8%A7
[2] http://nelsonchunglife.blogspot.tw/2008/04/frame.html
[3] http://zh.wikipedia.org/wiki/%E5%B8%A7%E7%8E%87
[4] http://zh.wikipedia.org/wiki/%E5%8E%BB%E4%BA%A4%E9%8C%AF
[5] http://www.idsvision.com.tw/phpbb2/viewtopic.php?p=647&sid=1feae6efef438c41941170caa5953cb9
2012年12月18日 星期二
Smart Card
Smart Card中文名稱為智慧卡,或稱為積體電路卡(ICC:Integrate Circuit Card),是由法國人Ro-land morono 於1974年發明,將具有儲存資料及加密保護功能的電路晶片封裝於跟信用卡大小一樣的塑膠卡片中,這樣子便成了常見的 Smart Card,法國BULL公司於1976年首先製成產品並開始應用於各種領域之中。[1]
目前常見的Smart Card應用有手機內的sim卡、銀行金融卡、信用卡等。
國際標準ISO7816規範了Smart Card 規格,ISO7816文件規範說明如下:
● ISO7816-1 (Physical characteristics) :
定義物理層規範,包含Smart Card可承受工作溫度、靜電耐受度或可承受彎曲及重量等等,此一部分對於卡片製造商而言比較重要,有助於製造商選擇卡片製造材料。
● ISO7816-2 (Dimensions and location of the contacts) :
定義尺寸及連接器,包含卡片上的接腳位置及Smart Card尺寸。
● ISO7816-3 (Electrical interface and transmission protocols) :
定義電氣訊號及通訊傳輸協定。
● ISO7816-4 (Organization security and commands for interchange) :
定義了在卡片中如何使用application identifier檢查是否存在or/and狀態的應用檢索:
-連接介面上的命令交換回應
-表示卡片上的retrieval of data elements 及data objects
-表示卡片中的應用及資料結構
-表示卡片中的identifying 及addressing applications 結構
-描述卡片的工作特徵的歷史字節結構和內容
-卡片中的檔案及資料存取方式
-卡片中傳輸存取演算法
-在卡片中對於檔案及資料保密結構
-加密傳輸方式
● ISO7816-5 (Registration of application providers) :
表示如何通過國際認可授權規範以及相關定義。具有以下的功能:
-註冊方式
-相關負責機構
-描述註冊相關程序及應用部分
● ISO7816-6 (Interindustry data elements for interchange) :
2004年指定Data Elements (DEs)做為數據元素根據集成電路卡片(ICCs)。 定義了DE標識符號、名稱、描述、格式、編制程序和layout並定義了DEs檢查卡片的方式。
● ISO1816-7 (Interindustry commands for Structured Card Query Language) :
Structured Card Query Language (SCQL) 中的Interindustry commands說明。
● ISO7816-8 (commands for security operations) :
2004 年定義了智慧卡中interindustry 命令(包含接觸式及非接觸式) 可用於cryptographic operations。這些命令定義是基於ISO/IEC 7816-4中的命令列表。附錄部分提供了數位簽章範例、certificates and the import 及export of asymmetric keys。對密碼機制的用途的選擇和條件也許影響卡片exportability,運算法及匯流排內容則不屬於ISO/IEC 7816-8內容。
● ISO7816-9 (Commands for card management) :
定義了智慧卡中interindustry命令(包含接觸式及非接觸式)的檔案管理,如檔案新增或刪除等。這些命令包含了卡片中entire life cycle及其他發佈使用時的命令。附錄的部份則是提供如何控制讀取(保密傳輸)卡片上的資料,意指在加密狀況下傳送及驗證資料,如code、 keys及applets。
● ISO7816-10 (Electronic signals and answer to reset for synchronous cards) :
這章節定義了智慧卡從介面到裝置同步傳輸時的電源、訊號以及重置結構。
● ISO7816-11 (Personal verification through biometric methods) :
這章節定義了在智慧卡中關於personal verification through biometric methods的interindustry commands與data objects使用方式。
interindustry commands定義請參閱ISO/IEC 7816-4. data objects 國際標準化定義請參閱ISO/IEC 19785-1。ISO/IEC 7816-11 也提供了關於註冊、驗證及位址保密的範例。
● ISO7816-12 (USB electrical interface and operating procedures) :
這章節定義了智慧卡在USB介面中的操作條件,一張使用USB介面的智慧卡稱為USB-ICC
ISO/IEC 7816-12 : 2005年定義了下列部分:
-USB-ICC電氣特性條件,當USB-ICC以介面方式進行操作。
-標準USB描述以及USB-ICC等級描述。
-在HOST及USB-ICC之間傳輸資料時,關於巨量傳輸及控制傳輸說明。
-進行控制傳輸時允許兩種不同的匯流排版本。
-表示非同步狀態下的中斷傳輸狀態以及錯誤條件。
ISO/IEC 7816-12 : 2005年針對控制傳輸提供了兩種協議版本,一種為支援protocol T=0 (version A),另一種為transfer on APDU level (version B)。本章節也為USB-ICC中各種傳輸提供說明圖表(巨量傳輸,控制傳輸,version A和version B)。USBICC一定能處理可能的序列的舉例子在情報附錄。ISO/IEC 7816-12 : 2005年為控制轉移提供二個協議。這是為了支持協議T=0 (版本A)或在APDU水平(版本B)上使用調動。USB-ICC提供說明圖表為每一調(批量轉移,控制轉移版本A和版本B)。附錄中提供了USB-ICC範例。
● ISO7816-13 (Commands for application management in multi-application environment) :
本文介紹在開發Global Platform 標準相關事項,例如安全通道協議。
● ISO7816-15 (Cryptographic information application) :
定義智慧卡應用。關於密碼功能的應用。2004年定義了針對密碼訊息和共享機制的共同的
語法(在ASN.1)和格式。
ISO/IEC 7816-15 : 2004年支援以下功能:
-在智慧卡中儲存多組密碼。
-使用密碼訊息
-Retrieval密碼訊息
-DOs在ISO/IEC 7816定義了最適當的Cross參考密碼信息
-Different認證機構
-Multiple密碼算法
-Cross-referencing of the cryptographic information with DOs defined in ISO/IEC 7816 when appropriate.
References:
[1] http://www.zeroplus.com.tw/software_download/200908ZEROPLUS_iso7816.pdf
[2] ISO7816 standard: http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-1.aspx
目前常見的Smart Card應用有手機內的sim卡、銀行金融卡、信用卡等。
國際標準ISO7816規範了Smart Card 規格,ISO7816文件規範說明如下:
● ISO7816-1 (Physical characteristics) :
定義物理層規範,包含Smart Card可承受工作溫度、靜電耐受度或可承受彎曲及重量等等,此一部分對於卡片製造商而言比較重要,有助於製造商選擇卡片製造材料。
● ISO7816-2 (Dimensions and location of the contacts) :
定義尺寸及連接器,包含卡片上的接腳位置及Smart Card尺寸。
● ISO7816-3 (Electrical interface and transmission protocols) :
定義電氣訊號及通訊傳輸協定。
● ISO7816-4 (Organization security and commands for interchange) :
定義了在卡片中如何使用application identifier檢查是否存在or/and狀態的應用檢索:
-連接介面上的命令交換回應
-表示卡片上的retrieval of data elements 及data objects
-表示卡片中的應用及資料結構
-表示卡片中的identifying 及addressing applications 結構
-描述卡片的工作特徵的歷史字節結構和內容
-卡片中的檔案及資料存取方式
-卡片中傳輸存取演算法
-在卡片中對於檔案及資料保密結構
-加密傳輸方式
● ISO7816-5 (Registration of application providers) :
表示如何通過國際認可授權規範以及相關定義。具有以下的功能:
-註冊方式
-相關負責機構
-描述註冊相關程序及應用部分
● ISO7816-6 (Interindustry data elements for interchange) :
2004年指定Data Elements (DEs)做為數據元素根據集成電路卡片(ICCs)。 定義了DE標識符號、名稱、描述、格式、編制程序和layout並定義了DEs檢查卡片的方式。
● ISO1816-7 (Interindustry commands for Structured Card Query Language) :
Structured Card Query Language (SCQL) 中的Interindustry commands說明。
● ISO7816-8 (commands for security operations) :
2004 年定義了智慧卡中interindustry 命令(包含接觸式及非接觸式) 可用於cryptographic operations。這些命令定義是基於ISO/IEC 7816-4中的命令列表。附錄部分提供了數位簽章範例、certificates and the import 及export of asymmetric keys。對密碼機制的用途的選擇和條件也許影響卡片exportability,運算法及匯流排內容則不屬於ISO/IEC 7816-8內容。
● ISO7816-9 (Commands for card management) :
定義了智慧卡中interindustry命令(包含接觸式及非接觸式)的檔案管理,如檔案新增或刪除等。這些命令包含了卡片中entire life cycle及其他發佈使用時的命令。附錄的部份則是提供如何控制讀取(保密傳輸)卡片上的資料,意指在加密狀況下傳送及驗證資料,如code、 keys及applets。
● ISO7816-10 (Electronic signals and answer to reset for synchronous cards) :
這章節定義了智慧卡從介面到裝置同步傳輸時的電源、訊號以及重置結構。
● ISO7816-11 (Personal verification through biometric methods) :
這章節定義了在智慧卡中關於personal verification through biometric methods的interindustry commands與data objects使用方式。
interindustry commands定義請參閱ISO/IEC 7816-4. data objects 國際標準化定義請參閱ISO/IEC 19785-1。ISO/IEC 7816-11 也提供了關於註冊、驗證及位址保密的範例。
● ISO7816-12 (USB electrical interface and operating procedures) :
這章節定義了智慧卡在USB介面中的操作條件,一張使用USB介面的智慧卡稱為USB-ICC
ISO/IEC 7816-12 : 2005年定義了下列部分:
-USB-ICC電氣特性條件,當USB-ICC以介面方式進行操作。
-標準USB描述以及USB-ICC等級描述。
-在HOST及USB-ICC之間傳輸資料時,關於巨量傳輸及控制傳輸說明。
-進行控制傳輸時允許兩種不同的匯流排版本。
-表示非同步狀態下的中斷傳輸狀態以及錯誤條件。
ISO/IEC 7816-12 : 2005年針對控制傳輸提供了兩種協議版本,一種為支援protocol T=0 (version A),另一種為transfer on APDU level (version B)。本章節也為USB-ICC中各種傳輸提供說明圖表(巨量傳輸,控制傳輸,version A和version B)。USBICC一定能處理可能的序列的舉例子在情報附錄。ISO/IEC 7816-12 : 2005年為控制轉移提供二個協議。這是為了支持協議T=0 (版本A)或在APDU水平(版本B)上使用調動。USB-ICC提供說明圖表為每一調(批量轉移,控制轉移版本A和版本B)。附錄中提供了USB-ICC範例。
● ISO7816-13 (Commands for application management in multi-application environment) :
本文介紹在開發Global Platform 標準相關事項,例如安全通道協議。
● ISO7816-15 (Cryptographic information application) :
定義智慧卡應用。關於密碼功能的應用。2004年定義了針對密碼訊息和共享機制的共同的
語法(在ASN.1)和格式。
ISO/IEC 7816-15 : 2004年支援以下功能:
-在智慧卡中儲存多組密碼。
-使用密碼訊息
-Retrieval密碼訊息
-DOs在ISO/IEC 7816定義了最適當的Cross參考密碼信息
-Different認證機構
-Multiple密碼算法
-Cross-referencing of the cryptographic information with DOs defined in ISO/IEC 7816 when appropriate.
References:
[1] http://www.zeroplus.com.tw/software_download/200908ZEROPLUS_iso7816.pdf
[2] ISO7816 standard: http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-1.aspx
2012年12月14日 星期五
台灣數位電視 DVB-T
台灣數位電視頻率區段 [1]
533 (MHz)
中視
中視
中視新聞台
中視綜藝台
545 (MHz)
公視
公視
DIMO
客家電視台
557 (MHz)
民視
民視
民視交通台
民視新聞台
民視HD(MLB)台
569 (MHz)
公視
HiHD
581 (MHz)
台視
台視
台視財經台
台視健康台
593 (MHz)
華視
華視
華視教育台
華視休閒台
Q&A
1) VHF與UHF電視頻道有何區別?[2]
VHF(Very High Frequency特高頻) 與UHF (Ultra High Frequency超高頻) 為電視頻段的名稱, VHF又分低波段、 中波段、高波段 三種。 因波段不同,使用的天線也不同。 無線電視節目收視者必需依照 各 電視台頻段安裝正確的天線,才能穫得最佳收訊效果 。以我國為例,民視類比頻道為 VHF低波段,台視、中視、華視類比頻道為VHF高 波段 ,公視類比頻道為UHF 。 各電視台的數位頻道則全部位於UHF頻段
References:
[1] http://www.starchina.com.tw/subpage/column/sub/sub2.htm
[2] http://web.pts.org.tw/~web01/PTS/q1.htm
533 (MHz)
中視
中視
中視新聞台
中視綜藝台
545 (MHz)
公視
公視
DIMO
客家電視台
557 (MHz)
民視
民視
民視交通台
民視新聞台
民視HD(MLB)台
569 (MHz)
公視
HiHD
581 (MHz)
台視
台視
台視財經台
台視健康台
593 (MHz)
華視
華視
華視教育台
華視休閒台
Q&A
1) VHF與UHF電視頻道有何區別?[2]
VHF(Very High Frequency特高頻) 與UHF (Ultra High Frequency超高頻) 為電視頻段的名稱, VHF又分低波段、 中波段、高波段 三種。 因波段不同,使用的天線也不同。 無線電視節目收視者必需依照 各 電視台頻段安裝正確的天線,才能穫得最佳收訊效果 。以我國為例,民視類比頻道為 VHF低波段,台視、中視、華視類比頻道為VHF高 波段 ,公視類比頻道為UHF 。 各電視台的數位頻道則全部位於UHF頻段
References:
[1] http://www.starchina.com.tw/subpage/column/sub/sub2.htm
[2] http://web.pts.org.tw/~web01/PTS/q1.htm
訂閱:
文章 (Atom)
