Network 視窗為連接各種元件的區域,在這裡可執行各種元件,以滑鼠拖曳的方式連結各元件,快速且直覺地組合出訊號處理所需的計算分析流程。
下圖為視覺化元件操作視窗外觀,主要分成三大部份:元件模組編譯區、工具列以及運算控制。分別說明如下。
元件模組編譯區為 Visual Signal 的核心,提供一個簡單的操作環境,以視覺化與直覺的操作編輯訊號處理流程。下面簡單說明訊號輸入、執行運算以及輸出相關之元件。
上圖為使用者在元件編輯區按滑鼠右鍵後的選單,可以看到選單內分為五大群組 Compute、Conversion、Source、Viewer、Writer,所有模組元件都分門別類放在滑鼠右鍵的選單中,模組元件的介紹與操作方法在 Chapter 2 中有詳細的說明,各個運算模組元件內容在手冊 Chapter 3、Chapter4 等有介紹。元件編輯區在操作上就像是畫訊號處理的流程圖,Visual Signal 具備了各種訊號處理的方法,從訊號前端處理、訊號分析演算、到視覺化繪圖呈現,使用者僅需要從選單中建立出這些方法,並且連接它們,就能夠以簡單的步驟執行複雜的訊號分析。
元件操作視窗的工具列負責處理數據部份以及運算的控制。前四個功能與資料輸入及輸出相關,分別為讀取資料檔(Open data from file)、
儲存資料為檔案(Save data to file)、
資料瀏覽器(Data Viewer)、
輸出資料到 Excel (Export data to Excel)。其中資料瀏覽器由於功能繁雜,將於
1.3.4 節再作說明,其餘部份說明如下:
讀取資料檔:
藉此從外部讀取資料檔。接受的檔案格式以純文字為主,另配合各種需求,可讀取 MATLAB (.mat)、地震研究 (.sac)、生醫研究 (.hea)等不同的檔案格式。支援檔案的副檔名整理如下表,若檔案為 .txt、.csv 等純文字格式,程式會跳出 Text Importer 視窗以設定資料的時間資訊。
如果欲匯入的檔案副檔名不在支援格式中,則程式會出現警告訊息(如下圖),詢問使用者是否將此檔案以純文字的格式讀取,選擇是則會繼續以 Text Importer 讀檔。
使用者必須使用 Text Importer 設定訊號時間軸,譬如時間單位、取樣頻率,與選擇讀取資料的範圍。本功能在 5.1 節的 Open Data 中有詳細的解說。
副檔名 |
檔案類型 |
mat |
MATLAB資料檔。 |
sac |
SAC檔是套裝軟體SAC(Seismic Analsis Code)的訊號檔,用在與地震相關之研究。 |
tfa |
Visual Signal訊號檔。 |
csv |
Comma-separated values。 |
wav |
Wave聲音檔。 |
mp3 |
MPEG1 audio player 聲音檔。 |
hea&atr |
生醫訊號通用檔案格式,說明請參考www.physionet.org網頁內容。 |
儲存資料為檔案,
輸出資料為 Excel:
將元件内的計算結果輸出為檔案,這兩項功能也可以在元件 Writer 中找到,在本程式所有元件中,除群組 Viewer 外,每個元件的輸出訊號皆可藉由本功能將資料儲存為檔案。檔案格式可選擇儲存為 mat、tfa、txt、csv 等檔,而屬於聲音訊號的資料則可儲存為 wav 檔。這兩個功能是截取自群組 Writer 下的元件,因此請參考 Chapter7訊號輸出模組 (Writer) 的說明。
資料瀏覽器(Data
Viewer):
可以直接點選元件,以資料瀏覽器檢視元件的計算結果,資料瀏覽器會偵測輸出資料類型,自動調整數據展示方式,以圖形搭配數據的方式呈現元件的輸出結果。此功能在 1.3.4 節中另作說明。
強制執行(Force
Update):
點擊強制執行後,專案會從頭到尾重新計算、執行所有模組元件。
批次執行(Batch
Run):
如果已經建立好一套訊號處理流程,現在需要輸入不同的資料檔執行這個程序,或者需要對其中某些元件改變參數以計算出不同的結果,就可以利用 Batch Run 功能批次處理。此功能將在 1.3.5 節中介紹操作介面與用法。
運算控制位於元件編輯區下方,可以顯示以及控制計算過程。位在左邊的文字在計算過程中,會即時顯示目前程式正在處理的元件名稱與執行進度的百分比,文字下方的進度條會即時顯示該元件計算的進度。而右邊有三個控制項提供使用者控制運算過程,其說明如下:
Auto:
此功能可決定程式是否會即時更新計算。當 Auto
被勾選時,使用者改變元件參數後,程式會馬上重新計算該元件以及接於該元件輸出埠以下的所有元件。而使用者常碰到一種狀況是不只修改一個元件的參數,此時可取消勾選
Auto,等到各個元件都修改完畢後,再按下,或者再次回復勾選
Auto,都可以重新計算修改後的元件。
執行運算:
當 Auto 的狀況為沒有勾選時,按下可以命令程式執行剛修改過的元件,相較於
" Auto ",此功能可以說是 " Manual "。
中止運算:
在程式運算過程中,若想終止計算,可藉由按下鈕終止目前正在處理的元件計算。使用時須注意此功能僅終止單一的、正在處理中的元件計算,所以如果只按一次,則僅有一個元件以及其後方的元件會被終止,其它的元件仍然會接續執行。
對於元件輸出的結果,常需要臨時性地快速瀏覽資料類型,查詢訊號的相關資訊,因此我們提供一項快速檢視資料的工具 ─ 資料瀏覽器。資料瀏覽器以視窗化介面展示資料的數值、波形以及相關訊號資訊,只要在元件編輯區點選元件,再按下本按鈕,瀏覽器就會依照不同的訊號類型(如訊號、頻譜分析結果、數值資料亦或是時頻分析結果)展示相關資訊。以下先簡單介紹資料瀏覽器的視窗介面,再依照不同的訊號類型說明資料瀏覽器的展示內容。
首先介紹資料瀏覽器的視窗介面如下圖;主要分作三個部份,左上半部為資料繪圖區,以圖形檢視訊號內容,左邊下半部顯示資料表格,列出訊號的數據資料,右半部 Channel Information 則呈現此訊號的相關資訊(如訊號通道數、取樣頻率、時間單位等),上述每塊區域都會按照不同的資料類型改變展示內容。
此視窗上方共同都有的控制項為,當使用者開啟許多個 Data
Viewer,程式會將資料以不同分頁展示在同一視窗。按下
可關掉目前的分頁內容,按下
則為關閉所有的 Data Viewer
分頁內容。使用 Data Viewer 時需注意,Data Viewer 之內容並不會隨著 Network
中元件參數的改變自動更新,因此必須按下
才可以檢視元件運算過後的內容,。
下面依照不同資料類型說明 Data Viewer 介面。
時序訊號資料(Signal)
上圖為時序訊號的 Data Viewer 內容,以下依照 Data Viewer 的三大部份作説明。首先是繪圖區。左上半部的繪圖區是以時間為 X 軸,訊號值為 Y 軸繪製,繪圖區分為上下兩張圖,上圖是繪出訊號的全部內容,下圖則依照使用者所設定的範圍,繪出該範圍下的訊號時域圖,範圍是在兩圖中間的部份設定。參數 From 是設定調整範圍的起始點,須注意訊號第一點的編號為「0」,Step是設定放大的取樣間隔,預設為「1」,「N」設定調整範圍的長度,「Channels」為設定需要被顯示通道,預設為輸入所有通道,例如「1-16」,在 Data Viewer 中最多一次可以顯示 16 個通道訊號,使用者可以自行輸入想要顯示通道,例如「1-3,4,7-9」。
以上圖為例,繪圖區第二張圖是從訊號第 1 點 ( 編號為 0 ) 開始算,總共 500 點的訊號,而且沒有 down-sample。
使用者利用訊號的位置精確指定放大範圍後,可以在圖上看到紅色線,紅色線內的範圍即為剛選擇的區域,使用者選擇範圍可以利用時域圖下方的捲軸,或在時域圖上利用按下滑鼠左鍵拖拉方式選擇,就能夠調整放大範圍的位置。若是按下便在 Network 中利用Data Selection 輕易地將紅色區域資料擷取出來。
Data Viewer左下半部的表格部份顯示訊號的內,訊號資料依時序排列為一行,不同列 ( row ) 代表不同的時間。第一行標題為 Index,是訊號每個資料點的編號,再來是 X Value,是訊號每個資料點所對應的時間點;之後每行代表各通道訊號的資料,以上圖為例,此訊號是單通道訊號,因此資料只有 CH1 一組,若訊號為多通道,則會依照通道編號 CH1、CH2… 依序排列。訊號資料的個數、位置與在繪圖區設定的放大範圍一致,當使用者調整範圍或是改變捲軸的位置,表格內容都會即時的更新,讓使用者在看圖之餘,能馬上比對圖上的數據。
Data Viewer 右邊即是 Channel Information 視窗,會顯示資料的相關資訊。Histogram 是簡單的統計直方圖,橫軸為訊號資料值的範圍,程式會將訊號資料值分作21等分,縱軸是資料數量,每一個長條柱就代表資料值落在該區間的資料點個數。
Histogram 下方是 Data Table 以及 Data Channel Table,顯示訊號的時序與統計資訊,須注意這邊僅單純顯示訊號格式,使用者無法在此編輯或修改欄位。此處簡單說明每個欄位的意義:Sampling Frequency 為訊號取樣頻率;Data Count 顯示訊號資料點數;Time Length 顯示此段訊號的時間長度;Unit 為時間單位。Data Channel 下的欄位則針對不同通道的訊號資料,計算基本的統計值如訊號最小、最大值、平均值以及標準差,Data Channel 下的統計值均以單一通道內的資料計算,預設計算訊號第一個通道(1stChannel)之資料,使用者可在 Channel 欄位切換訊號的不同通道。
頻譜訊號(Spectrum)
頻譜訊號為時序訊號經過轉換後,由時域訊號變為頻率域的訊號。其視窗介面如下圖所示,可以看到主視窗的工具列增加了六個按鈕,,這些控制按鈕等於選擇繪製不同的圖形。這些按鈕由左到右依序為示
Magnitude、Phase、Real Part、Imaginary Part、Gain、Power
Spectrum。使用者可藉由點選這些按鈕改變頻譜訊號的繪圖,另外 Channel Information 內 Data
Channel的內容也會因選擇不同的表現方式跟著改變。預設值為
Magnitude,圖面橫軸為頻率,縱軸則依照不上述設定繪製不同的值。
下方表格顯示頻譜訊號的內容,X Value在這裡儲存圖上橫軸,也就是頻率的值,每一個 Channel 的頻譜訊號包括四個行向量:分別是訊號實部(RE)、虛部(IM)、振幅(MAG)、相位角(PHASE)等。
Histogram 顯示統計的直方圖,X 軸為資料數值的範圍;縱軸為單一區間下資料出現的個數。由於頻譜訊號能夠以多通道訊號儲存,所以可調整參數 Channel 計算訊號不同通道的統計值。下圖為頻譜訊號的 Histogram 與相關統計值。
時頻訊號(Spectra)
時頻訊號為時序訊號經過小波法等時頻分析方法 ( Time-Frequency Analysis )
計算後的結果,其視窗介面如下圖,主視窗工具列與頻譜分析相同的部分不再贅述,其中 為 Marginal Freq Time 按鈕,功用將在繪圖區說明,
分為 ExtractRow 及 Extract Column,將在下面介紹。
視窗左上半部的繪圖區顯示出時頻圖(即位於中央的彩色圖),此圖橫軸為時間,縱軸則依照不同設定(如 Magnitude、Phase 等),可以用滑鼠左鍵指定紅色十字游標位置,在圖左下方會顯示此點的 X (時間)、Y (頻率) 與計算值,並可以用鍵盤上的 W、A、S、Z 或上、下、左、右鍵來進行上下左右移動紅色十字游標位置。時頻圖的左邊圖形表示紅色游標上鉛錘線的切面,即為在某一固定時間內的頻率分佈情形,時頻圖的下面圖形表示紅色游標上水平線的切面,即為在某一固定頻率振幅隨著時間變化。
中的 ExtractRow
可以將紅色游標上水平切線萃取出來,在 Network 中利用 Convert from Spectra 擷取出 Time
Signal,Extract Column 可以將 紅色游標上鉛錘線萃取出來,在 Network 中利用 Convert from
Spectra 擷取出 Spectrum Signal。
Marginal
Freq/Marginal Time 按鈕的功能可參考模組 Marginal Frequency / Marginal
Frequency 的說明文件。
上方表格顯示時頻訊號值,預設為 Magnitude,其中行向量 ( Column Vector ) 代表同一時間,不同頻率的值,列向量代表同一頻率,不同時間的值。時間軸由左至右變大,頻率軸由上而下向小。
Histogram 直方圖與其它訊號相同,在直方圖下方有控制繪圖顏色的參數如 Colormap Type、ColorMap Min、Colormap Max 等,這些參數設定可以參考 Viewer / Time- Frequency Viewer 的說明。
數值資料(Numeric)
Visual Signal 有部份模組輸出的資料類型為數值,譬如說矩陣、標準差、相關係數矩陣等,這些數值資料在 Data Viewer 上僅會以表列的方式呈現,如下圖是用 Data Viewer 檢視時頻圖的矩陣資料,X Value 表示矩陣中的位置,CH1 代表該位置的值。
Batch Run(批次執行),對一個已儲存的專案,若需要以許多不同的資料檔跑一樣的訊號處理程序,或者針對同一個專案改變不同的參數計算,可以利用 Batch Run 功能作批次處理,按鈕在 Network 工具列的最右方。將以 demo 51 為例,介紹 Batch Run 的介面與用法。
首先由主視窗工具列上Open Project 開啟 C:\ Program Files \ Ancad \ Visual Signal \ demo \ Extended 中的 demo 51,然後在按下Batch Run 按鈕,視窗如下圖:
按下 Batch Run 之後,顯示介面如下圖。
分別是清除以及儲存 Batch
Run 的設定內容;
與
功能為增加批次作業,若要 Batch Run 是以改變各元件參數為主,選擇
可新增一個 Run;如果想要改變資料來源為主,則點選
可以選取多個資料檔,資料檔數量就是 Run 的數量;
是刪除已存在的 Run;
可打開參數欄位,用來新增要加以改變的參數;
是執行設定完成的 Batch Run 與
是中斷正在執行的 Batch Run。最後 Output Directory
可設定輸出結果的位置,Batch Run 會輸出結果包含所有專案下 Viewer 的結果並轉為圖片檔以及用 Writer
元件所匯出的檔案。
下面透過實作說明 Batch Run 的使用方法。
批次改變不同的參數值
第一步先點擊按鈕,可以在下面新增 Run。
第二步是要點擊工具列上的Add
Parameters,也可在滑鼠右鍵清單中找到此功能,如下圖。
點擊後介面會分隔為兩區,左邊的區域列出專案內所有元件,右邊視窗則放置新增的 Run,並在右邊視窗下,利用滑鼠右鍵增加多個 Run,結果如下圖。
接著在右邊就是改變參數,在左邊視窗選擇 EnhancedMorlet ( Linear-Morlet ),點擊樹狀圖的加號 +
即可以看到該元件下所有的參數,並勾選將要改變的參數,例如現在選擇 FreqCount,然後再按下或
,左邊的視窗會再度隱藏,且此參數會新增至 Run 中。
功能與
的差別在於,
會把勾選的參數新增至右邊區域所有的
Run,使全部的 Run 都可以修改此參數,如下圖。
僅會將勾選的參數新增至被選取的
Run中,如下圖只有一個 Run 有可以改變的參數。
把 Run1 的樹狀圖全都點開就能看到 FreqCount 為 128。若要改變參數值
128,先點選參數值,於參數值上再點擊一次(操作上比較像速度較慢的雙擊),就可以進入編輯模式,修改此參數值。所有的參數都可依上述步驟修改至
Batch Run 中,而且一個 Run 可以改變多個參數值。完成設定之後,點擊執行鈕就開始批次計算。
執行 Batch Run 後,如需中止計算,可點擊按鈕停止批次計算。計算過程中每個 Run 都會將專案中 Viewer 的結果(如果專案中有 Writer
模組,則包括 Writer 匯出的資料)以圖檔的形式輸出至 Output Directory ( 路徑預設為專案檔的目錄下,也可以在
Batch Run 的欄位 Output Directory 作設定 ),如需改變圖檔處儲存格式可在主視窗中 Tool /
Preference 中設定。
批次計算多個訊號資料檔
用同一個 .vsn 檔或專案來批次計算多個訊號資料檔。下面將先建立一個訊號處理流程,並且示範讀取多個資料檔進行批次計算。
首先點擊 Network 工具列的 Open Data From File,至 Visual Signal 安裝目錄下(預設為 C : \ Program Files \ AnCAD \ Visual Signal \ demo \ Basic ),選取檔案 Chirp1000.tfa。
讀進資料檔後,以 Viewer / Channel Viewer 繪出訊號圖,並且對訊號作 Compute / TFA / Enhanced Morlet Transform,轉換之後以 Viewer / Time-Frequency Viewer 繪圖。
建立好這個處理程序後,就可以操作 Batch Run 用一樣的處理程序批次計算不同的資料檔。點擊 Batch Run 按鈕進入Batch Run 操作介面。
進入 Batch Run 操作介面後,第一步也是要點擊 Add Parameters。
先在左邊的 Parameter 視窗勾選DataSource,若專案檔內有多個訊號資料,則需點開 DataSource
的樹狀顯示,選擇要變更的訊號資料。第二步是按下,就會跳出選取檔案的視窗,選擇要批次計算的訊號資料檔。
本例選取 111.tfa、chirp1000.tfa 與 chirp10000.tfa 作為批次計算的資料檔再按下開啟。這時候在
Batch Runs 區會自動新增三個 Runs,如要再加資料檔,只要用功能並重覆後序步驟即可。
假設訊號資料檔已經選取完畢,在執行 Batch Run 之前要再檢查輸出檔路徑( Output Directory
)。Output Directory 預設是與 .VSN
專案檔的目錄相同,由於本專案尚未存檔,因此要自行設定輸出檔的路徑,點下按鈕就能選擇 (如下圖 ),本例將路徑設在 C:\ 下。
最後按下執行鈕啟動 Batch
Run,運算過程中無論是成功還是失敗,執行過程的訊息都會在 Batch Run Status Report 中記錄下來。
切換平移及圈選模式 ( Toggle Selection Mode ) 的功能在於幫助使用者可以將 Network 的顯示範圍進行平移,或者將 Network 中的某一範圍的元件進行複製、剪下及貼上、平移、刪除,其說明及操作如下:
若是要使用平移功能則必須沒有被按下,然後進行 Network
的顯示範圍進行平移。
例如下圖 Network 中有許多的元件,可以使用 Scroll Bar (捲動軸)去調整顯示範圍,也可以利用滑鼠在 Network 上按下左鍵不放 ,然後將Network 的顯示範圍移動至欲閱覽範圍,最後放開滑鼠左鍵。
若要進行範圍圈選的功能必須按下,進一步複製、剪下及貼上、平移,操作如下圖。
示範如何複製及剪下貼上,在 Network 中按住滑鼠左鍵不放,拖拉滑鼠游標並圈選所想要選擇元件,再將滑鼠左鍵放開 ,再按快捷鍵 " Ctrl + C " (複製) 或 " Ctrl + X " (剪下) ,如下圖。
最後再按下快捷鍵 " Ctrl + V " (貼上),所有圈選元件將會在 Network 中貼上,如下圖。
再來示範如何平移,在 Network 中按住滑鼠左鍵不放,拖拉滑鼠游標並圈選所有想要選擇元件,再將滑鼠左鍵放開 ,然後再長按 " Ctrl " 不放以及利用滑鼠游標點選其中一個元件,常按滑鼠左鍵,並且確認範圍的元件皆有被選取,如下圖。
最後可以在 Network 中任意移動滑鼠游標,確定位置之後再將滑鼠左鍵及 "Ctrl " 放開,如下圖。
Converted from CHM to HTML with chm2web Standard 2.85 (unicode) |