數學有多大用" rel="noopener noreferrer">[訊號處理小結系列2] 數學有多大用秋廩
數學到底有多大用?
對於工科專業的工程師來說,數學到底是否有用?有多大用?都幹什麼用?相信是很多人曾經考慮和關心的問題。結合電子工程方向,對此稍作討論,跟大夥交流。
對於電子工程方向,一般在大學會先後學習這麼幾門數學課程:微積分,線性代數,概率論,復變函式,隨機過程,矩陣論,數值分析等。但對於大多數人來說,參加工作後,大家都會感慨,大部分內容基本都忘光了。為什麼呢?原因很簡單,因為再也沒有用到。對於很多具體的工程領域,這些課程的大部分的確不大用得著。就我個人工作經歷來說,工作後,主要從事通訊物理層的應用和實現。微積分很少直接應用,除了高等數學老師,還有誰會去關注柯西中值定理呢?復變函式更是多年未曾打過一次交道。這麼些課程中,相對來說,用的較多的是兩樣,乙個是傅利葉變換,乙個是線性代數。最最頻繁使用的,是高中學到的一些知識,比如複數,三角函式,初等函式,幾何等等。
就像從初中一年級就開始花費大量時間學習英語,至今仍是聾啞英語一樣,大學的那麼多課程,費了好些時間和力氣學習,卻沒有怎麼用得上,想想真是令人惋惜。現在回想起來,如果上大學只為了最終的一張文憑的話,我寧可不上。在現實中,乙個微控制器實用電路的設計經驗,或者熟練的編寫一段軟體**,遠比泰勒定理的證明更來得實在。
照如此說,似乎大學的數學也沒有啥用。這個結論先不必急於落下。先談談我在工作實踐中中碰到的具體數學應用吧。頻譜分析需要用到傅利葉變換,這算是大學數學諸多領域中應用最廣泛的乙個。取樣定理的證明和更好的理解,也要用到傅利葉變換。數字上下變頻會涉及到三角函式中的積化和差。電路阻抗分析中會用到複數的運算。fpga實現中會涉及到一些邏輯運算。fir濾波處理從實現上看就是乙個乘累加運算,背後是對各種頻譜分量的不同處理。應用廣泛的相關累積運算也是乘累加運算。符號同步、頻偏估計、通道補償等處理會涉及到複數形式的乘累加運算。
從以上的典型應用來看,相當多的數字訊號處理應用都離不開乘累加運算,比如相關、卷積、濾波等等,傅利葉變換的具體實現——離散傅利葉變換,其實現方式也是乘累加。這也是數字訊號處理的魅力,乙個簡單的乘累加運算,解決了各種各樣,各種形式的問題。乙個乘累加運算之所以能夠發揮如此巨大的威力,其原理和本質都是基於線性時不變系統的前提。所以說,線性運算和與之緊密相連的線性系統,是我們必須好好理解的乙個內容。
不得不提的是傅利葉變換,對於電子工程和從事通訊訊號處理的工程師來說,這算是大學數學在工程實踐中最重要的乙個應用吧。比如訊號的時移和頻移,訊號的上下變頻處理,實訊號的共軛對稱特性,復訊號和實訊號頻譜的差異,模擬訊號的數字取樣,訊號的帶通取樣,頻譜的混疊和抗混疊,頻譜的映象,上取樣中的內插處理,下取樣中的抽取處理,等等等等,都可以從傅利葉變換的角度進行解釋和分析。對連續和離散傅利葉變換的全方位理解,有助於我們更深刻的解釋和分析具體應用中的各種問題。
當應用matlab來做一些訊號處理演算法的**時,我才真正體會到線性代數的應用價值和巨大威力。由於訊號處理都是用離散的樣點來處理的,因此訊號處理演算法和實現都可以用向量和矩陣的方式來表達和分析。比如最簡單的乘累加運算,可以看做是兩個向量的相乘。訊號處理的最基本和最頻繁的運算,諸如相關,卷積,濾波,傅利葉變換,所有的這些都可以用簡潔的向量和矩陣形式表達出來。
線性代數大概研究幾個大方向:解方程,特徵值分析,奇異值分析,穩定性分析。在具體工程應用最多的是基本的向量運算和解方程。對向量運算的理解非常有助於靈活運用matlab,因為matlab就是以向量為處理物件的,向量操作遠比for迴圈高效的多得多。
當初學習特徵值的時候,始終不明白這個特徵值到底有什麼用,工作多年來也沒有看到它到底有什麼用。但是,當我因工作需要去了解lms自適應演算法的原理時,我第一次強烈的感受到特徵值的價值所在。稍微熟悉lms演算法的人都知道,lms的每一步迭代,都涉及到乙個步進常數,而這個常數該取多大,跟訊號相關矩陣的特徵值有密切聯絡。張賢達老師曾經寫過一本專著,專門討論線性代數在訊號處理中的應用,從中可以看到非常多的特徵值,範數,奇異值等概念在訊號處理中的具體應用。
很多訊號處理演算法要解方程,解方程則涉及到形式多樣的矩陣分解方法,基於dsp數字訊號處理器來搞這些矩陣分解演算法是再合適不過了。但是對於實時性要求更高的應用場景,更多的基於fpga硬體實現,矩陣分解則用的不多,更多的是使用一些替代方法,比如基於迭代的方法。就像上面提到的lms演算法,就是替代需要矩陣分解的ls演算法。因為迭代的方法用fpga實現更為方便。
我個人的經歷非常有限,只涉及訊號處理在通訊中的應用的一小部分,以我的鼠光來看,對於通常的電路設計,軟體設計,邏輯設計等諸多領域,大學的數學實際應用的不是太多,關聯不是很大,更多的是起到理論支撐和理解作用。但對於演算法領域來說,比如通訊訊號處理,雷達訊號處理,模式識別,資料探勘,資訊檢索等等,大學的數學知識還是有相當多的用武之地的。
真正的工程實踐中,物理、化學的實際用途更大,更廣。對社會產生巨大影響,產生巨大推動力量的更多的是物理學家,化學家,生物學家,醫學家等等,數學家相對要少些。有人說數學很美,描述的非常誇張,也許當事人的確有這種感覺。我個人的感覺是物理定律比純粹的數學公式更美。對大多數工程實踐人員來說,數學是有用,但也只是一種工具而已,遠不是首要的,放到首位的始終是用簡單高效的方法解決實際的具體問題。
時間有限,能力更是有限,粗略的聊了這些和大家交流。希望大家多多指正,建議和批評更是多多益善。
訊號處理小結系列1 訊號和資訊
訊號和資訊 rel noopener noreferrer 訊號處理小結系列1 訊號和資訊秋廩 電信作為全球傳統的五大行業 能源 鋼鐵 汽車 農業 電信 與其他四個行業相比,一直表現著朝氣蓬勃的發展態勢。其核心技術與電有關。與電有關的學科大概分為通訊工程,電子工程,計算機,電磁場與電磁波,微電子 電...
訊號處理小結系列3 必須掌
訊號處理小結系列3 必須掌握的三大基石 秋廩 先舉個例子,最近我正在熟悉和理解xilinx的fpga的高速序列介面,總體來說,這個是偏硬體的內容。fpga的高速序列介面的發端有預加重功 能,接收端有均衡功能。這兩個措施都是為了解決高速訊號傳輸過程中的失真問題。不論是預加重,還是均衡,從訊號處理角度來...
訊號處理小結系列4 最頻繁
訊號處理小結系列4 最頻繁使用的幾個訊號 秋廩 一直談數字訊號處理,那麼訊號處理所處理的物件 訊號,都有什麼形式,什麼特點,什麼樣的訊號值得我們關注?這是我們必須理解和熟悉的乙個問題,一些基本的訊號發揮的作用是如此重要,它們是我們進一步理解訊號處理的基礎之基礎。在模擬訊號的取樣時刻中,在取樣定理的推...