自動控制信號研究為什麼要從時域到頻域?

從時域做傅里葉變換到頻域能提供什麼方便嗎?


最一開始,沒有計算機,不論是微分方程的連續時間s變換,還是差分方程的離散時間z變換,應該都是是為了求解的方便。

但現在計算機的數值求解如此簡單快速,單從求解方面來說,(或是從發論文的方面來看),頻域方法好像已經沒有存在的必要了,就像什麼Routh判據一樣,完成了歷史任務,可以光榮退出歷史舞台了(可惜的是,現在竟然還在教Routh判據)。而且頻域方法,最終還是要轉化為時域演算法。可是真正做控制系統的工程的,LTI的系統,至今大部分時候還是要看(信號或系統的)Bode圖的。了解到的很多非常國際頂尖的公司與工程師,有的是在做控制系統設計的時候,至少在系統實際運行之前,至今都會看Bode圖。而且不光是控制系統,在信號處理(數字信號處理)等領域,也是如此,甚至更為明顯。這是為什麼呢?

個人認為比較重要的原因是物理直覺。這個詞其實不嚴謹。其實頻域方法很多時候也是不嚴謹,可就是有用。比如截止頻率/帶寬、中頻頻譜峰值、低頻增益、高頻增益,這幾個關鍵點,有經驗的一看,大致(注意是大致)就可以把響應曲線、魯棒程度、高低中頻干擾抑制、穩定程度、精度等看出來,而且真的是看出來,腦子中簡單的計算就可以。更關鍵的是,想要改變某個特性(響應曲線、魯棒程度、高低中頻干擾抑制、穩定程度、精度等),也可以很直接的知道,該調哪些參數,改變這個特性大概會給其他特性帶來什麼影響。

相比之下,給你個微分方程,即使能通過計算機算出某些性能指標,但如果想要改變這個指標滿足某一特定的要求,幾乎就只能試湊了;而且很多時候,湊好了一個性能,另一個性能又不行了,因為是有相互影響的。

---

還有就是系統辨識了。物理建模往往忽略很多因素,給輸入看輸出的系統辨識則相對完整保存了「信息」。而實用的對控制要求較高的控制系統,從過程式控制制到飛行器控制,其系統辨識多是用的頻域響應,有用確定信號的,也有用隨機信號的。辨識誤差的選取,驗證準則的選取,往往也是基於頻域指標,因為物理意義明確。否則的話,比如時域的最小二乘,加個權,那權值代表了什麼明確物理意義么?也就只能說說什麼遺忘過去啥的。但頻域的指標,就明確地看出中低頻的分布,進而知道更多的性質。

另一個方面,其實回到控制器設計,有優化指標的,包括最優、自適應與魯棒H無窮等,其優化指標也同樣存在類似的問題。

這諸多問題,很多時候,是靠經驗。乃至最基本的不基於模型的PID調參。但如何將這些經驗量化,是個大問題。這個問題不解決,談不上真正的自學習、自適應控制,也談不上真正的魯棒控制。

另一方面說,靠經驗,而經驗又能調好,說明理論還沒抓到一些東西。很像很多年前的物理學,化學等。


題主有沒有思考過一個最簡單的問題:被控對象的數學模型究竟是怎麼建立?如果是簡單的系統,用物理原理推導當然是可以,但是如果是一個複雜的系統呢?比如你的老闆今天扔給你一個機械手,告訴你:「這個是XXX公司的最新產品,你做個控制器控制一下。」你看著那一大堆機械+液壓+電機+ADC/DAC+FPGA+ROM組成的系統,真的打算推一遍數學模型?且不說這個推導有多複雜,光查參數就能讓你做到頭髮白了……而且萬一FPGA是人家公司自己燒的呢?難道真的要黑FPGA?
這時候最簡單的辦法就是正弦波掃描法,輸入一個固定頻率的正弦波,然後測量輸出(當然可能需要藉助一些其他的儀器),再提高一點輸入頻率測量輸出……一直到掃到頻率「足夠高」了為止(另一種方法是倒是用時域響應,不過同樣要用FFT換成頻率響應來算頻率特性)。而我們所說的「時域法」中的微分方程,其實才是推導出來的結果。

另外一個不太簡單問題:一個系統頻率特性的低、中、高頻段都反應了系統的什麼特徵?對應到時域是什麼東西?如果你仔細做一下就會發現,高頻段的特性好像在時域沒什麼太好的對應?這就對了,頻域法提供給你的另一個能力就是它可以描述系統的高頻能力,並提供解決高頻干擾問題的思路。


好奇為什麼沒有人提到受控對象固有的動態特性以及加了各種控制器後的閉環特性在頻域中描述、分析、設計更加方便,一個線性系統的固有屬性與輸入信號什麼的沒有關係,非線性的當然就另說了。既然描述系統我們都用頻域了,那在頻域上對信號處理也更加方便。


為了方便研究系統。我先來舉個不太貼切但是比較直觀的栗子:
首先咱們來定義一下如下兩個東西:

這個東西叫做貓,它會偷吃魚乾

這個東西叫做狗,它會偷吃骨頭。

好的,現在我的箱子里可能裝了一隻貓,也可能裝了一隻狗。

箱子和動物,組成了一個系統,現在我想知道這個箱子裡面是貓還是狗,因為這決定了我可不可以在箱子里儲藏骨頭或者魚乾。
一個最簡單的辦法呢,就是打開箱子觀察,看一看裡面到底是貓還是狗。但是啊但是啊但是啊,,如果這個箱子打開了裡面還有一層箱子呢?如果裡面的箱子打開了裡面的裡面還有一層箱子呢?如果……或者我們乾脆就沒有辦法打開這個箱子看到裡面的生物吧。
於是我萌會發現,這種直接觀察的方法並不是在任何情況下都能夠起作用的,並且這還只是一個很簡單的系統(只不過在觀察時受到了條件的限制),隨著系統中物體數量的增加和複雜性的提升,直接觀察會越發顯得too young。
很好,,我萌靠眼睛觀察無法得到需要的信息了,但是啊但是啊,人生的經驗告訴我萌,眼睛做不到的事情也許耳朵可以做得到,方法也很簡單:
取這個系統置於酒精燈上加熱,然後用心去傾聽~~如果聽到了「汪汪」的聲音,那說明裡面是一條狗,這個系統里不可以儲藏骨頭但是可以儲藏魚乾;如果聽到了「喵喵」的聲音,那說明裡面是一隻貓,這個系統里不可以儲藏魚乾但是可以儲藏骨頭;如果聽到了"I"m angry!"的聲音,那就趕快續一秒。。。

一個粗淺的理解是,運用視覺判斷和運用聽覺判斷是兩種不同的角度,就好像是從時域上觀察系統和從頻域上觀察系統一樣,也是兩個不同的角度。看不到就試試聽不聽得到,時域上不容易看出來就試試頻域上能不能看得出來。


當然上面是個很不嚴謹的比方,不知各位學習物理的時候有沒有遇到過電路的「黑盒子問題」(不知道該如何加鏈接,簡單來講就是一個不可拆開的黑盒子中有各種元器件,黑盒子引出四個端子,問題要求測量四個端子之間的物理量來確定黑盒子中的電路或者至少是確定元器件)

像這樣的黑盒子就可以被看成一個系統,一般的題目要求是確定內部的電路,不過我萌在實際應用中不必了解內部的電路,而是知道這個系統總體的參數就夠了。這樣一來就有兩種辦法,
一、把黑盒子打開直接觀察內部電路並計算參數,但是這樣的問題是破壞了整個系統。
二、給輸入端A和C通入正弦交流電,在輸出端B和D之間觀察輸出信號來確定系統總體的參數。不過這需要改變輸入交流電的頻率構造出方程組,來確定總體參數。事實上,方法二中如果用相量法列出方程組求解系統地參數就已經是在頻域上的工作了,當然,二也可以不用相量法,不在頻域上解,而是在時域上來構造微分方程求解,不過這要麻煩得多了,相比較之下,在頻域上的工作可以降低運算的複雜程度,當然如果是解方程的大神或者計算機,那其實在時域上解也沒有任何問題……


因為形式會變的簡單更好理解。


因為頻域裡面更能得出信號自身包含的信息,從信號中提取出有用的信息,比如頻譜分析可以分析信號的頻率成分,這個對於故障診斷和系統辨識都是很重要的。


第一次回答知乎的問題,手機碼字。因為現在的畢業課設跟這個問題有點關係,所以嘗試回答一下。時域和頻域的區別在於你能直觀的看到不同的信息,比如時域下我們能直觀的看到一個信號在某個時刻發生了變化,從1變為0或者25變成38,但是我們沒法看出來這個信號可以由哪些其他波形合成(濾波器就是將一個信號中我們不需要的波形濾除,設計濾波器之前我們需要知道濾除哪些波形)。
時域和頻域之間最著名的變化是傅立葉變換,它將時域信號分解為一個個正弦和餘弦的波形。傅立葉的公式不好理解,之所以將信號分解為正弦和餘弦函數,是因為正弦餘弦函數存在正交性,就是sinnw與sinmw、costw是垂直的,(正如我們將一個二維信號分解到x和y軸,一個三維信號分解到x、y、z軸上一樣,這幾個軸是垂直的,x軸上的值發生變化不會影響y軸上的值),這樣分解過後的正餘弦波形相互之間沒有影響,我去除一個頻率的波形或者增加減少這個頻率波形的值,不會影響到其他頻率的波。我們在頻域上做完我們想要的操作後,再將其轉換到時域上,就可以得到我們想要的信號。
這也是我聽大神給我講解的概念,對傅立葉豁然開朗。


頻域不光控制理論裡面用到,通信的信號處理也用到,並且可能用的更多。


這個好比一個人得了癌症,打針吃藥都不見好!這樣吧,找一個大仙來給跳個大神,拜拜佛祖!在另外一個域里折騰折騰,說不定人心情一好,病也好了!


學自控原理就是從時域講到頻域的。。。


在頻域內多用來分析濾波器,算算截止頻率、帶寬、諧振頻率比較清晰直接??
時域里就多用來分析系統輸出的動態響應吧,超調量,調節時間等等,還是比較清晰直接??
具體問題具體選擇吧,反正有matlab,哪種都很快


沒有從時域到頻域,也沒有從頻域時域,時域和頻域都有各自的特點,有各自的優點和缺點而已。


數學理論上的原因是在頻域內處理自控信號比在時域中簡單,實踐上來看,頻域中的物理量也存在現實意義,對自控信號的測試、採樣等過程使用頻率這一物理量確實比時間量更容易實現。


當年att研究電話的時候為了使放大器保持穩定,(聲音信號隔一段距離需要放大),採用了頻域的方法,就是自動控制原理裡面的頻域法的內容。信號在頻域內處理是很方便的


在時域方法中,也需要將時域信號進行復頻域變換,純粹是為了求解系統響應上的計算方便。


在時間域里分享先不考慮它的計算複雜,有一些量再時域里是算不出來的。因為時間是連續的信號,在頻域里的是一個時間段內的頻率特徵,關注的點不一樣。再有一個就是頻域里計算會相對簡單,對數域就更簡單了。也不是說必須要把時域的東西轉換了,只是為了分析問題方便,更快捷。


其實你可以試試純用時域方法來分析問題,你就知道拉氏變換有多厲害了。
其實問題也不大(數學功底好的話),看看maxwell當年那個開山做就知道了,推唄!


推薦閱讀:

機械設計製造及其自動化,如果想從事偏向自動化的工作,具體的職位有哪些?需要哪些相關知識?
為什麼自動化專業後來轉成 CS 的這麼多?
開環或者閉環傳遞函數的伯德圖意義?
如何理解「Control is Dead」這一說法?
控制工程是不是玄學?

TAG:機器人 | 自動化 | 自動控制 | 無人機Drone | 卡爾曼濾波KalmanFilter |