精通信號處理設計小Tips(2):數(shù)學的作用
本文作者maxfiner,畢業(yè)于西安電子科技大學,擁有信號與信息處理專業(yè)碩士學位。maxfiner曾供職于華為通信技術公司 無線通信部門,擁有多年的工程項目研發(fā)經驗,同時兼?zhèn)渌惴ɡ碚撗芯?,仿真驗證,以及對應的硬件設計實現(xiàn)能力;具備通信物理層開發(fā)設計各個方面的實戰(zhàn)經 驗...
精通信號處理設計小TIps(2):數(shù)學的作用
對于工科專業(yè)的工程師來說,數(shù)學到底是否有用?有多大用?都干什么用?相信是很多人曾經考慮和關心的問題。結合電子工程方向,對此稍作討論,跟大伙交流。
對于電子工程方向,一般在大學會先后學習這么幾門數(shù)學課程:微積分,線性代數(shù),概率論,復變函數(shù),隨機過程,矩陣論,數(shù)值分析等。但對于大多數(shù)人來說,參加工作后,大家都會感慨,大部分內容基本都忘光了。為什么呢?原因很簡單,因為再也沒有用到。對于很多具體的工程領域,這些課程的大部分的確不大用得著。就我個人工作經歷來說,工作后,主要從事通信物理層的應用和實現(xiàn)。微積分很少直接應用,除了高等數(shù)學老師,還有誰會去關注柯西中值定理呢?復變函數(shù)更是多年未曾打過一次交道。這么些課程中,相對來說,用的較多的是兩樣,一個是傅里葉變換,一個是線性代數(shù)。最最頻繁使用的,是高中學到的一些知識,比如復數(shù),三角函數(shù),初等函數(shù)等等。
就像從初中一年級就開始花費大量時間學習英語,至今仍是聾啞英語一樣,大學的那么多課程,費了好些時間和力氣學習,卻沒有怎么用得上,想想真是令人惋惜?,F(xiàn)在回想起來,如果上大學只為了最終的一張文憑的話,我寧可不上。在現(xiàn)實中,一個單片機實用電路的設計經驗,或者熟練的編寫一段軟件代碼,遠比泰勒定理的證明更來得實在。
照如此說,似乎大學的數(shù)學也沒有啥用。這個結論先不必急于落下。先談談我在工作實踐中中碰到的具體數(shù)學應用吧。頻譜分析需要用到傅里葉變換,這算是大學數(shù)學諸多領域中應用最廣泛的一個。采樣定理的證明和更好的理解,也要用到傅里葉變換。數(shù)字上下變頻會涉及到三角函數(shù)中的積化和差。電路阻抗分析中會用到復數(shù)的運算。FPGA實現(xiàn)中會涉及到一些邏輯運算。FIR濾波處理從實現(xiàn)上看就是一個乘累加運算,背后是對各種頻譜分量的不同處理。應用廣泛的相關累計運算也是乘累加運算。符號同步、頻偏估計、信道補償?shù)忍幚頃婕暗綇蛿?shù)形式的乘累加運算。
從以上的典型應用來看,相當多的數(shù)字信號處理應用都離不開乘累加運算,比如相關、卷積、濾波等等,傅里葉變換的具體實現(xiàn)——離散傅里葉變換,其實現(xiàn)方式也是乘累加。這也是數(shù)字信號處理的魅力,一個簡單的乘累加運算,解決了各種各樣,各種形式的問題。一個成累加運算之所以能夠發(fā)揮如此巨大的威力,其原理和本質都是基于線性時不變系統(tǒng)的前提。所以說,線性運算和與之緊密相連的線性系統(tǒng),是我們必須好好理解的一個內容。
不得不提的是傅里葉變換,對于電子工程和從事通信信號處理的工程師來說,這算是大學數(shù)學在工程實踐中最重要的一個應用吧。比如信號的時移和頻移,信號的上下變頻處理,實信號的共軛對稱特性,復信號和實信號頻譜的差異,模擬信號的數(shù)字采樣,信號的帶通采樣,頻譜的混疊和抗混疊,頻譜的鏡像,上采樣中的內插處理,下采樣中的抽取處理,等等等等,都可以從傅里葉變換的角度進行解釋和分析。對連續(xù)和離散傅里葉變換的全方位理解,有助于我們更深刻的解釋和分析具體應用中的各種問題。
當應用MATLAB來做一些信號處理算法的仿真時,我才真正體會到線性代數(shù)的應用價值和巨大威力。由于信號處理都是用離散的樣點來處理的,因此信號處理算法和實現(xiàn)都可以用矢量和矩陣的方式來表達和分析。比如最簡單的乘累加運算,可以看做是兩個矢量的相乘。信號處理的最基本和最頻繁的運算,諸如相關,卷積,濾波,傅里葉變換,所有的這些都可以用簡潔的矢量和矩陣形式表達出來。
線性代數(shù)大概研究幾個大方向:解方程,特征值分析,奇異值分析,穩(wěn)定性分析。在具體工程應用最多的是基本的矢量運算和解方程。對矢量運算的理解非常有助于靈活運用MATLAB,因為MATLAB就是以矢量為處理對象的,矢量操作遠比for循環(huán)高效的多得多。
當初學習特征值的時候,始終不明白這個特征值到底有什么用,工作多年來也沒有看到它到底有什么用。但是,當我因工作需要去了解LMS自適應算法的原理時,我第一次強烈的感受到特征值的價值所在。稍微熟悉LMS算法的人都知道,LMS的每一步迭代,都涉及到一個步進常數(shù),而這個常數(shù)該取多大,跟信號相關矩陣的特征值有密切聯(lián)系。張賢達老師曾經寫過一本專著,專門討論線性代數(shù)在信號處理中的應用,從中可以看到非常多的特征值,范數(shù),奇異值等概念在信號處理中的具體應用。
很多信號處理算法要解方程,解方程則涉及到形式多樣的矩陣分解方法,基于DSP數(shù)字信號處理器來搞這些矩陣分解算法是再合適不過了。但是對于實時性要求更高的應用場景,更多的基于FPGA硬件實現(xiàn),矩陣分解則用的不多,更多的是使用一些替代方法,比如基于迭代的方法。就像上面提到的LMS算法,就是替代需要矩陣分解的LS算法。因為迭代的方法用FPGA實現(xiàn)更為方便。
我個人的經歷非常有限,只涉及信號處理在通信中的應用的一小部分,以我的鼠光來看,對于通常的電路設計,軟件設計,邏輯設計等諸多領域,大學的數(shù)學實際應用的不是太多,關聯(lián)不是很大,更多的是起到理論支撐和理解作用。但對于算法領域來說,比如通信信號處理,雷達信號處理,模式識別,數(shù)據(jù)挖掘,信息檢索等等,大學的數(shù)學知識還是有相當多的用武之地的。
另外,也和我國當前的發(fā)展現(xiàn)狀有很大關系,真正涉及大量數(shù)學知識的工程應用團體和公司還比較少,大多處于比較初級和粗淺的應用。試舉兩個例子,第一個,國內做視頻監(jiān)控方面的廠商可謂成百上千家,但大多處于圖像采集,圖像壓縮編碼,圖像的傳輸和多種格式的顯示等初級應用,涉及到圖像目標檢測,圖像分割,圖像目標識別等應用的產品還非常少。而這些才是真正涉及大量數(shù)學和信號處理算法的地方,體現(xiàn)算法魅力和價值的地方。第二例,當前市面上出現(xiàn)了家庭自動掃地機,可以自動充電,自動打掃地面,但是對于房間地面的遍歷,大多數(shù)掃地機采用非常簡單的隨機搜索方式,效率很低,以至于有些掃地機時不時的發(fā)出如下語音:“我很笨,可是我很勤奮!”。或者說:“請不要一直盯著我”。這也是無奈之舉。對于房間地面的高效遍歷,肯定是需要一套檢測和識別算法來有效支撐的,這些地方更能體現(xiàn)數(shù)學和算法的價值。
真正的工程實踐中,物理、化學的實際用途更大,更廣。對社會產生巨大影響,產生巨大推動力量的更多的是物理學家,化學家,生物學家,醫(yī)學家等等,數(shù)學家相對要少些。有人說數(shù)學很美,描述的非??鋸?,也許當事人的確有這種感覺。我個人的感覺是物理定律比純粹的數(shù)學公式更美。對大多數(shù)工程實踐人員來說,數(shù)學是有用,但也只是一種工具而已,遠不是首要的,放到首位的始終是用簡單高效的方法解決實際的具體問題。
時間有限,能力更是有限,粗略的聊了這些和電子發(fā)燒友網(wǎng)工程師們交流。希望大家多多指正,建議和批評更是多多益善。
下期開講——精通信號處理設計小TIps(3):信號處理應用所必須掌握的三大基石,敬請關注!
聲明:電子發(fā)燒友網(wǎng)版權所有,謝絕轉載!
往期回顧
精通信號處理設計小TIps(1):信號和信息
評論