0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何通過Matlab進行零極點求解?

牛牛牛 ? 來源:模擬小笨蛋 ? 作者:模擬小笨蛋 ? 2023-11-30 12:23 ? 次閱讀

本文主要嘗試回答以下三個問題:

(1)系數(shù)已知的傳遞函數(shù)怎么求其零極點?

(2)系數(shù)為變量的傳遞函數(shù)怎么求其零極點表達式?

(3)只知道一組節(jié)點方程,如何推導系統(tǒng)傳遞函數(shù)?

01

系數(shù)已知的傳遞函數(shù)怎么求其零極點?

1.1 問題

如果我們拿到了一個傳遞函數(shù),其所有系數(shù)是已知的,怎么計算其零極點?

1.2 解決方法

Matlab可通過兩種模型描述系統(tǒng)的傳遞函數(shù),這兩種模型是:傳遞函數(shù)模型、零極點模型。它們之間是可以互相轉化的。如果一個系統(tǒng)傳遞函數(shù)的所有系數(shù)已知的,我們只要將其描述成傳遞函數(shù)模型,接著將其轉換成零極點模型。一旦完成轉換,我們就可以觀察到系統(tǒng)的零極點大小。此外,我們還可以畫出傳遞函數(shù)的零極點圖,更加直觀的看到零極點的分布位置。

EG1:如果a=1,求解G=(2*s+1)/(a*s^2+2*a*s+1)的零極點,Matlab代碼如下:

圖片

圖↑ 代碼

圖片

圖↑ 轉換為了零極點模型

圖片

圖↑ 零極點MAP圖

1.3 寫在最后

Matlab默認的傳遞函數(shù)模型一定是拉普拉斯形式的,它的輸入一般包括直接輸入和矩陣輸入。如果使用直接輸入的方式,需要在輸入之前定義Laplace算子,只有這樣Matlab才能視其為傳遞函數(shù)模型。

step( )、bode( )等分析方式只對傳遞函數(shù)模型有效

Laplace變換和其反變換只能針對符號表達式進行。也就是說,你對一個時域函數(shù)進行Laplace變換后得到的Lalace表達式,雖然在我們看來就是傳遞函數(shù),但Matlab并不會視其為傳遞函數(shù)模型(除非定義Laplace算子后重新輸入一遍Lplace表達式)

02

系數(shù)為變量的傳遞函數(shù)怎么求其零極點表達式?

2.1 問題

你有沒有面臨過這樣一種情況:當你設計一個OP時,為了計算出它準確的傳遞函數(shù),你首先畫出包含各種寄生電容效應的小信號模型圖,然后經(jīng)過了艱難的計算,終于讓你算出了傳遞函數(shù)的表達式。為了穩(wěn)定性設計,你需要知道它的零極點分布情況。這時候你需要接著對傳遞函數(shù)進行第二次的求解,目的是為了求得零極點表達式。只有這樣你才能清楚地知道零極點和哪些參數(shù)相關,來指導你在設計上實現(xiàn)優(yōu)化。

但有時候,零極點表達式的計算是很困難。

基于上述的問題,尤其是當一個傳遞函數(shù)包含未知參數(shù)(多于1個)時,我們有沒有可能借助Matlab工具計算出零極點公式呢?回答是:如果傳遞函數(shù)是二階的,利用Matlab求零極點表達式是容易實現(xiàn)的。但對于更高階的系統(tǒng)而言,想通過Matlab來求得解析解是極其困難的。

我們通常求解傳遞函數(shù)的零極點,其實就是求解傳遞函數(shù)其分子或分母的根,那么該問題本質上就是一個求方程解的問題。該問題或可借助Matlab工具輔助解決。

Matlab的符號運算工具箱提供了一個solve()函數(shù),該函數(shù)可以用于一般線性或非線性方程的解析求解,可以用來試著解決我們所關心的問題。

2.2 solve()函數(shù)簡介

solve的調(diào)用形式:

solve(eq)

solve(eq, var)

solve(eq1, eq2, …, eqn)

solve(eq1, eq2, …, eqn, var1, var2, …, varn)

eq為符號表達式,var為指定的要求解的變量。如果不聲明要求解的變量(第一和第三種形式),則matlab自動按默認變量進行求解。

下面試著以一個通用一元二次方程的求解例子來理解solve( )函數(shù)。

EG2:試對一個典型的一元二次方程y=a*x^2+b*x+c進行求解。Matlab的實現(xiàn)代碼和結果如下:

圖片

圖↑ 程序及結果

程序計算得到的結果是一元二次方程的通解,對于該結果我們應該是相當熟悉的。

2.3實際傳遞函數(shù)根的求解

EG3:下圖為拉扎維書上一個共源極放大器的例子,給出了該電路的精確傳遞函數(shù)。

我們先觀察該傳遞函數(shù),發(fā)現(xiàn)它是一個二階系統(tǒng)。由于所有二階傳遞函數(shù)的分母的其實都是a*x^2+b*x+c的形式,表達式中的各個電阻、電容可以申明為變量。如此一來,此例的實現(xiàn)和EG2并沒有什么不同。令分母等于0,求解的結果便是系統(tǒng)的極點了。此例中零點可以直接觀察得出。

圖片

圖↑ 拉扎維書上的內(nèi)容

思考這樣一個問題:我們真的需要借助Matlab對諸如此類的二階系統(tǒng)求零極點表達式嗎?

如前所述,我們很清楚一個二階方程a*x^2+b*x+c=0的通解是什么,那么就可以直接應用該公式進行極點求解,這時候用Matlab就有點多余了。

那么對于更高階的方程,比如三次方程,Matlab能夠勝任解析求解嗎?答案是不能。因為一個通用的一元三次方程是沒有通解的,因此想通過簡單申明變量、借助Matlab求其解析解的想法注定難以實現(xiàn)。需要注意的是,雖然三階方程沒有通解,但并不代表其沒有解,它的解是根據(jù)判別式的不同而不同的。而如果明確知道這個判別式,便可以將其作為一個新的約束方程,和傳遞函數(shù)進行方程聯(lián)解,這時候是有可能求出結果的。

在實際模擬電路的設計中,我們通常會通過“假設-保證假設成立”的方式來簡化方程求解。剛才說到的“判別式”像極了我們電路設計時的種種假設條件,所有的計算都有賴于這個前提的成立。關于eg2,在書中拉扎維不就假定主極點遠遠小于次極點來簡化零極點計算的么。倘若這種假設是合理的,這將為快速估算提供新的途徑。但是,這種堪稱宇宙無敵的假設法,一般人是用不了的,比如我就經(jīng)常碰到這樣的問題:自認為完美的假設,在一圈計算下來之后才發(fā)現(xiàn)前提是不成立的。兩種假設之間的差別或許就代表著我和大神之間的距離,這多少有點打擊自信心。

至此可以做個小結:

對于包含變量的傳遞函數(shù),如果其是二階的,利用Matlab求零極點表達式是容易實現(xiàn)的。但對于更高階的系統(tǒng)而言,想通過Matlab來求得解析解是極其困難的。

Matlab解出的表達式即使是準確的,仍需要我們自己去對公式進行近似。或許近似的公式不絕對準確,但卻可以用于指導設計。

2.4寫在最后

對于電路系統(tǒng):

對于一個電路系統(tǒng),它有可能是單輸入、單輸出的,也有可能是多輸入、多輸出的。對于前者,其傳遞函數(shù)是一個一元方程;而對于后者,其傳遞函數(shù)通常是一個方程組。但無論是哪種情況,都可以使用solve()函數(shù)嘗試對其求解 。

關于Matlab的符號計算:

計算精確:符號計算基于數(shù)學公式、定理并通過一系列推理、演繹得到方程的解或者數(shù)學表達式的值,對操作對象不進行離散化和近似化處理;

應用范圍有限:實際科研和生產(chǎn)中遇到的問題絕大多數(shù)都無法獲得精確的符號解,這時我們不得不求助數(shù)值計算;

對符號計算態(tài)度:用其來完成公式推導和解決簡單的對計算時效性要求不高的問題,綜合符號計算和數(shù)值計算各自的優(yōu)點,視問題特點混合使用符號計算和數(shù)值計算。

關于solve():

solve()函數(shù)適用于單變量方程(比如只有x一個未知數(shù) )或多變量方程(比如本文例子中有a,b,c,x,y多個變量)的求解。但該函數(shù)能求解的前提是求解對象確實存在解析解,如果沒有,那么只能求解數(shù)值解,但數(shù)值解需要傳遞函數(shù)的各系數(shù)已知。

03

只知道一組節(jié)點方程,如何推導系統(tǒng)傳遞函數(shù)?

3.1 問題

針對一個小信號模型,如果我們只能根據(jù)KCL/KVL列出節(jié)點方程,因此可以得到一組節(jié)點方程。我們能否借助Matlab工具根據(jù)節(jié)點方程組推導出傳遞函數(shù)呢?

3.2 解決方法

圖片

圖↑ 書上的一個例子

如上圖,這是拉扎維書上的一個例子,我們試著編寫程序,看看能否利用兩個節(jié)點方程推導出傳遞函數(shù)。

程序如下:

圖片

圖↑ 代碼

運行結果:

圖片

圖↑ 運行結果

直接求出的H1結果是正確的,但式中還帶有變量Vx,雖然上下式中都有,可以化簡掉,但該結果總是不那么理想。因此對H1進行合并同類項后得到H2,可以看到H2完全按照降冪排列,且已經(jīng)化除了Vx,表達式和書上的完全一樣。

看來,利用Matlab是可以實現(xiàn)傳遞函數(shù)的推導的!

3.3 寫在最后

其實推導傳遞函數(shù)本身并沒有什么難度,即使手算無非也就是多花點時間,Matlab只是能讓我們偷個懶而已,況且你是否敢完全相信軟件的推導結果呢?

更有意義的是如何面對一個傳遞函數(shù),比如了解它的零極點分布,了解怎樣在參數(shù)之間取舍才能得到一個穩(wěn)定的系統(tǒng)。而這,軟件似乎無能為力。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模擬電路
    +關注

    關注

    125

    文章

    1557

    瀏覽量

    102741
  • matlab
    +關注

    關注

    185

    文章

    2976

    瀏覽量

    230483
  • 函數(shù)
    +關注

    關注

    3

    文章

    4331

    瀏覽量

    62622
收藏 人收藏

    評論

    相關推薦

    matlab的根軌跡、增益選擇、方程求解和演示示例命令

    matlab的根軌跡、增益選擇、方程求解和演示示例命令根軌跡 Pzmap 極點圖 Rlocfind 交互式地確定根軌跡增益 Rlocus 畫根軌跡 Sgrid 在網(wǎng)格上畫連續(xù)根軌跡
    發(fā)表于 09-22 15:57

    請問這個電源系統(tǒng)的bode圖如何配置極點?

    請問這個電源系統(tǒng)的bode圖如何配置極點,才能使系統(tǒng)穩(wěn)定???用matlab中的sisotool工具。開關頻率為20kHZ
    發(fā)表于 04-07 20:11

    請問什么是極點

    TI專家好, 在看電源環(huán)路穩(wěn)定性分析技術文章時,經(jīng)常會遇到單極點,單點,雙極點,雙點之類,請問什么是雙極點,雙
    發(fā)表于 03-13 06:22

    什么是極點?什么是點?

    什么是極點?什么是點?直觀元件的模型介紹
    發(fā)表于 04-06 09:20

    關于dcdc的點和極點的理解是什么

    我們知道DCDC的環(huán)路上存在點和極點,不過這個點和極點其實是數(shù)學公式中推導出來的。 如何從物料的角度來理解這個點和
    發(fā)表于 07-28 17:33

    電路中極點點的產(chǎn)生與影響

    電路教程相關知識的資料,關于電路中極點點的產(chǎn)生與影響
    發(fā)表于 10-10 14:17 ?0次下載

    點和極點的區(qū)別及其物理意義

    點:當系統(tǒng)輸入幅度不為且輸入頻率使系統(tǒng)輸出為時,此輸入頻率值即為點。極點:當系統(tǒng)輸入幅度不為
    發(fā)表于 03-19 16:52 ?9.4w次閱讀

    MATLAB教程之如何使用MATLAB求解數(shù)學問題資料概述

    ,7曲面積分的MATLAB運算,8 函數(shù)的點,9 一元函數(shù)極值,10級數(shù),11微分方程問題的計算機求解,12概率統(tǒng)計,13插值,14 曲線擬合,15小結
    發(fā)表于 01-04 14:55 ?0次下載
    <b class='flag-5'>MATLAB</b>教程之如何使用<b class='flag-5'>MATLAB</b><b class='flag-5'>求解</b>數(shù)學問題資料概述

    極點分析的基本原理、應用和意義

    在信號處理和系統(tǒng)理論領域,極點分析是一項重要的技術,用于研究和分析濾波器的特性和行為。
    的頭像 發(fā)表于 06-20 16:35 ?9178次閱讀
    <b class='flag-5'>零</b><b class='flag-5'>極點</b>分析的基本原理、應用和意義

    模擬CMOS集成電路設計:極點對消

    極點點對消與極點分裂法(見前述推文)一樣,可以使兩個極點分離
    的頭像 發(fā)表于 10-18 15:09 ?3153次閱讀
    模擬CMOS集成電路設計:<b class='flag-5'>零</b><b class='flag-5'>極點</b>對消

    點和極點的作用 復變函數(shù)的極點點有什么區(qū)別和聯(lián)系?

    點和極點的作用 復變函數(shù)的極點點有什么區(qū)別和聯(lián)系? 復變函數(shù)是指自變量和函數(shù)值都是復數(shù)的函數(shù)。在復平面上,復變函數(shù)的極點
    的頭像 發(fā)表于 11-08 17:46 ?8475次閱讀

    模擬技術入門之極點分析(1)

    系統(tǒng)的極點的物理含義:   點:當系統(tǒng)輸入幅度不為且輸入頻率使系統(tǒng)輸出為時,此輸入頻率值即為
    發(fā)表于 11-29 12:20 ?1409次閱讀
    模擬技術入門之<b class='flag-5'>零</b><b class='flag-5'>極點</b>分析(1)

    什么是極點電路 極點仿真原理

    通過極點仿真,可以分析系統(tǒng)的穩(wěn)定性。系統(tǒng)的穩(wěn)定性是由其傳遞函數(shù)的極點位置決定的。如果所有的極點都位于復平面的左半部分,那么系統(tǒng)就是穩(wěn)定的。
    的頭像 發(fā)表于 03-07 15:12 ?2268次閱讀
    什么是<b class='flag-5'>零</b><b class='flag-5'>極點</b>電路 <b class='flag-5'>零</b><b class='flag-5'>極點</b>仿真原理

    極點怎么判斷濾波器類型

    極點分析是濾波器設計中的一個重要概念,它可以幫助我們了解濾波器的頻率響應特性。 極點的概念 點和
    的頭像 發(fā)表于 08-21 14:32 ?2516次閱讀

    極點與單位圓分布關系總結

    極點與單位圓分布關系是信號處理和系統(tǒng)分析中的一個重要概念。 極點的定義 在信號處理和系統(tǒng)分析中,
    的頭像 發(fā)表于 08-21 14:38 ?1612次閱讀