訊號流圖（Signalflow graph）最早是由克勞德夏農所發明 Reprinted in ，但因為美國麻省理工學院的於 20 世紀 50 年代初提出這個詞，因為也稱梅森圖（Mason graph），訊號流圖是特殊的，屬於，其中的節點表示系統的變數，而連線兩節點的邊表示二個變數之間的函式關係。訊號流圖的理論是以有向圖為基礎，不過是應用有向圖來表示系統，和有向圖的原理差異較大 i。 訊號流圖最常用來表示物理系統和其控制器（網宇實體系統或控制系統）之間的關係，不過在許多電子電路、運算放大器電路、數位濾波器、狀態變數濾波器及類比濾波器的分析中也會用到訊號流圖。在許多文獻中，訊號流圖都可以轉換為一組線性方程或是線性微分方程，而各組變數之間的增益則用邊上的係數來表示，也有些訊號流圖會用特殊方式來表示非線性系統。而利用梅森增益公式可以找到輸入和輸出之間的關係。 基本訊號流圖概念 以下是梅森提出訊號流圖的基本概念： 在基本訊號流圖中，節點的相依關係可以用指向此節點的箭頭表示，節點會影響的其他節點可以用由節點射出的箭頭表示，最常見的訊號流圖中，每一個節點 i 若有指向此節點的箭頭，此節點的值會和這些箭頭另一端的節點有關，而且呈一函式關係，舉例為 Fi。a 圖表示各節點有以下的關係： begin align x_mathrm 1 text an independent variable x_mathrm 2 F_2 x_mathrm 1 x_mathrm 3 x_mathrm 3 F_3 x_mathrm 1 x_mathrm 2 x_mathrm 3 end align 節點 x1 是獨立節點，沒有箭頭指向此節點，節點 x2 和 x3 和其他節點的關係分別如圖 b 和 c。 訊號流圖會針對每一個節點定義一函式，處理其輸入的變數。每個非獨立節點都會依個別特定方式來處理輸入訊號，再將結果送到其他的節點「訊號流圖一開始是由梅森所定義，其中表示了許多的函式關係，可能線性，也可能非線性。」 訊號流圖中的變數可以自行依需要選定，系統本身有其方程式，但也可以根據其系統及架構來選擇變數，繪製訊號流圖，複雜的系統可能會有多種選擇變數的方式。同一個系統也可以用不同的訊號流圖來表示，系統和訊號流圖之間沒有一對一的對應關係。 線性訊號流圖 線性訊號流圖只針對線性非時變系統。在為系統建立模型時，第一步是找到確認系統行為的方程式，先不考慮因果關係（這稱為 acausal modeling），之後可以由方程式推出訊號流圖。 線性訊號流圖也是由節點及箭頭組成，不過箭頭上會有加權的係數。節點是線性方程組的變數，而加權的係數則是方程組中的係數，訊號只會依節點的方向，由一個節點流到另一個節點。線性訊號流圖中只能表達訊號和係數相乘，以及數個訊號的相加，這已足以表示線性方程組。當一訊號延著箭頭一個節點到另一個節點時，此訊號就乘以箭頭上的係數，若幾個箭頭指到同一個節點時，這幾個訊號會相加（若需要相減，可以調整對應係數為負即可）。 針對用線性代數方程或是微分方程來表示的系統，線性訊號流圖在數學上等效於其方程式，看訊號流圖上各節點訊號的來源以及箭頭上的係數即可得到方程式。箭頭上的係數多半會是實數或是某種引數組成的線性函式（例如拉氏轉換的變數 s）。 基本元件 線性訊號流圖是和以下形式線性系統有關的訊號流圖例如，不過其中沒有一對一的對應關係：： begin align x_mathrm j sum_mathrm k1mathrm N t_mathrm jk x_mathrm k end align 其中 t_jk 為從 x_k 到 x_j 的增益。 右圖中有一些線性訊號流圖中的基本元件。 a 是標示為 x 的節點，節點是圖的一個頂點，表示變數或是訊號。 b 是一個有 m 倍增益的分支，意思是指箭頭的終點會是箭頭起點的 m 倍。增益可能是簡單的常數，也有可能函式（例如表示拉氏轉換、傅立葉轉換及 Z 轉換的 s omega 或 z）。 c 是增益為 1 的分支，當分支上沒有標示增益時，就假設增益為 1。 d V_in 為輸入節點。此例中，輸出是 V_in 乘以增益 m。 e I_out 為輸出節點，輸出值為輸入值的 m 倍。 f 表示加法。若二個或是多個箭頭的終點是同一個節點，該節點的值是各箭頭表示訊號的和。 g 是簡單的迴路，迴路增益為 A times m。 h 表示 Z aX bY。 以下是一些線性訊號流圖中常見的術語： 路徑（Path）。路徑是依箭頭方向一直延伸的連續數個分支。 開路徑（Open path）是指路徑上沒有同一個節點走到二次或二次以上。 路徑增益（Path gain）是指路徑上所有分支增益的乘積。 迴路（Loop）是指封閉的路徑，路徑的起點和終點是同一個節點，路徑上的節點都只經過一次。 迴路增益（Loop gain）是指迴路上所有分支增益的乘積。 不相連迴路（Nontouching loops）是指二個或多個沒有共同節點的迴路。 和方塊圖的關係 有些研究者認為，線性訊號流圖的限制比方塊圖要多 A signal flow graph may be regarded as a simplified version of a block diagram for cause and effect of linear systems we may regard the signalflow graphs to be constrained by more rigid mathematical rules whereas the usage of the blockdiagram notation is less stringent ，訊號流圖嚴謹用有向圖來表示線性代數方程。 有些研究者則認為為線性訊號流圖和線性方塊圖是描述一個系統的二個等效方式，用任何一個都可以找到系統的增益 。 Bakshi 及 Bakshi 提供了一個訊號流圖和方塊圖比較的列表，Kumar 另外有一個列表。根據 Barker 等人的論點： 「訊號流圖是最方便表示動態系統的方式。圖的拓樸很緊湊，處理的規則比處理方塊圖的規則要簡單。」 在右圖中有一個回授系統的簡單方塊圖，以及二個對應的訊號流圖。輸入 R s 是輸入訊號的拉氏轉換，是訊號流圖的源節點（沒有輸入邊的節點），輸出訊號 C s 是輸出變數的拉氏轉換，表示為最終節點（沒有輸出邊的節點），G s 和 H s 為傳遞函式，H s 可以提供調整後的輸出訊號 B s 給輸入端，二個訊號流圖是等效的。 分析及設計中的訊號流圖 訊號流圖也可以用來分析系統，用來瞭解一個已有系統的模型，也可以用來合成，確認不同設計的特質。 用在動態系統分析的訊號流圖 在建構動態系統的模型時，以下是 Dorf 和 Bishop 列出的步驟： 定義系統以及其元件。 將其數學模型公式化，並且列出需要的假設。 寫出描述模型的微分方程。 求解方程式，得到輸出變數的解。 檢驗得到的解，並且檢驗假設。 若有需要，重新分析系統或是重新設計系統。 RC Dorf and RH Bishop Modern Control Systems Chapter 2 p 2 在上述程中，物理系統的數學模型方程可以用來推導訊號流圖方程。 用在設計合成的訊號流圖 訊號流圖也用在（DSE），一個趨近實際呈現的過渡表示方式。設計空間探索會在許多不同的選項中找一個適合的解。典型的分析流程會先針對待確認的系統，以其各元件的物理方程式來建模。設計空間探索不同，其設計合成的規格是想要的傳遞函式。例如，不同的策略會產生不同的訊號流圖，可由此推匯出對應的實現方式。 另一個使用有說明的訊號流圖的例子是連續時間行為的表示方式，作為架構生成器的輸入。 夏農公式以及夏農 哈普公式 夏農公式（Shannons formula）是計算類比電腦中互聯放大器增益的解析表示法。在二次大戰時，夏農在探就類比電腦的功能運作時，發展了夏農公式。因為戰爭期間的限制，夏農當時沒有發表他的研究。在 1952 年重新發現了相同的公式。 哈普將夏農公式擴充套件到在圖形上封閉的系統。夏農 哈普公式（ShannonHapp formula）可以計算傳遞函式、靈敏度、誤差函式等。 對於一致的單邊線性方程，夏農 哈普公式可以用直接替代的方式求解（非迭代法）。 NASA 的電路計算軟體 NASAP 就是以夏農 哈普公式為基礎。 線性訊號流圖的例子 理想的負回授放大器 thumbnailupright10 圖 3：一個漸近增益模型下的訊號流圖 thumbnailupright10 圖 4：另一個漸近增益模型下的訊號流圖 圖 3 是由漸近增益模型表示負反饋放大器的一種可能的訊號流圖，可以得到放大器增益的方程式為 G frac y_2x_1 G_infty left frac TT 1 right G_0 left frac 1T 1 right 其引數的說明如下：T 返回比，G 直變大器增益，direct amplifier gain G0 前饋（表示回授可能有的雙向特性，也可能是刻意的前饋補償）。 增益 G0 和 G的意思分別是時間接近零及無限大時的增益： G_infty lim_T to infty G G_0 lim_T to 0 G 有許多可能的訊號流圖，對應不同的增益關係。圖 4 是另一個訊號流圖，其漸近增益模型比較容易用電路表示。在此圖中，引數 β 為回授因子，而 A 為控制因子，和電路中的相依訊號源有關，配合訊號流圖，可以得到增益為 G frac y_2x_1 G_0 frac A 1 beta A 若要連線到漸近增益模型，引數 A 和 β 不能是任意的電路引數，需要和返回比 T 有以下的關係： T beta A 因此漸近增益為： G_infty lim_T to infty G G_0 frac 1 beta 替換結果到增益表示式中， G G_0 frac 1 beta frac T 1 T G_0 G_0 G_infty frac T 1 T G_infty frac T 1 T G_0 frac 11T 上述就是漸近增益模型的公式。 非線性的訊號流圖 梅森在匯入線性訊號流圖的同時，也匯入了非線性訊號流圖。梅森提到：「線性訊號流圖就是相關系統是線性的訊號流圖」 非線性分支函式的例子 若以 xj 來表示 j 節點的訊號，以下例子是不符合線性非時變系統的函式： begin align x_mathrm j x_mathrm k times x_mathrm l x_mathrm k abs x_mathrm j x_mathrm l log x_mathrm k x_mathrm m t times x_mathrm j text where t text represents time end align 非線性訊號流圖的例子 在電子工程的文獻中常見非線性的訊號流圖。例如： 在生命科學中也常有非線性訊號流圖，例如的心血管系統電腦模型。 訊號流圖在不同領域的應用 電子電路 分析摩爾型有限狀態機或是米利型有限狀態機的順序電路，從狀態圖中得到正則表示式 非線性資料轉換器的合成 控制及網路理論 隨機訊號處理 電子系統的可靠度 生理學及生物物理 心臟輸出量調節 模擬 類比電腦上的模擬 相關條目 漸近增益模型 鍵結圖 梅森增益公式 參考資料 參考書目 X X Category 控制理論 Category 圖 Category 訊號處理 Category 線性代數 Category 建模語言