計算聲學(簡體書)
商品資訊
系列名:中國科學院大學研究生教材系列
ISBN13:9787030689672
出版社:科學出版社
作者:張海瀾
出版日:2022/01/18
裝訂/頁數:平裝/206頁
規格:24cm*17cm (高/寬)
版次:一版
商品簡介
目次
書摘/試閱
商品簡介
隨著科學技術的發展,數值計算在聲學研究中的應用越來越廣泛,計算聲學已逐漸成為聲學研究的一個重要分支。《計算聲學》介紹計算聲學多種方法的基本原理和實際步驟,主要包括角譜方法、有限差分法、射線跟蹤法、有限元方法、格子氣自動機及非線性聲學的數值計算。重點介紹如何把基本的物理問題變換為計算機能夠處理的形式,再選用合適的計算方法解決問題,同時給出了具體計算實例的源碼,以方便讀者學習和使用。
目次
目錄
緒論 1
0.1 計算聲學 1
0.2 本書的內容和重點 2
0.3 計算軟件的選擇 3
複習題 5
第1章 直角坐標系中的角譜方法 6
1.1 傅裡葉變換和頻譜 6
1.1.1 傅裡葉級數和傅裡葉變換 6
1.1.2 傅裡葉變換的一些性質 9
1.1.3 離散傅裡葉變換的混疊 12
1.1.4 截斷信號的頻譜 17
1.1.5 離散傅裡葉變換對和快速傅裡葉變換 18
1.2 角譜 20
1.2.1 聲波方程 20
1.2.2 角譜的概念 22
1.2.3 半空間聲場邊值問題 25
1.2.4 有限寬波束的反射和透射 31
1.2.5 有限寬聲束穿透多層介質的問題 40
1.3 角譜法研究聲束穿透固體薄板 42
1.3.1 頻率波數域中計算透射係數 43
1.3.2 聲束穿透薄板的計算結果的分析 47
複習題 55
第2章 圓柱坐標系中的角譜方法 56
2.1 圓柱面波 56
2.1.1 基本方程 56
2.1.2 柱面波的例子 60
2.1.3 平面波和柱面波的關係 61
2.2 圓柱坐標系中平面分層問題的角譜方法 62
2.2.1 柱坐標系中的角譜和漢克爾變換 62
2.2.2 球面波在平面接口上的反射和透射 65
2.2.3 程式和結果 66
2.3 柱面分層結構的角譜方法 71
2.3.1 用於共軸的多層圓柱分層介質問題的角譜方法 71
2.3.2 計算參數和接收波形 77
2.3.3 聲場分佈 79
2.3.4 廣義射線聲場 85
複習題 87
第3章 球坐標系中的角譜方法 88
3.1 球坐標系中波動方程的解 88
3.2 剛性圓球對平面波的散射 92
3.2.1 散射問題 92
3.2.2 用角譜方法求剛性球的散射問題 93
3.2.3 不同材料的球的散射問題 97
3.3 點力在流體中固體球殼內外產生的振動 98
3.3.1 流體中固體球殼的振動 98
3.3.2 計算程式 99
複習題 104
第4章 有限差分法 105
4.1 導數的有限差分格式 105
4.2 瞬態聲場的交錯網格有限差分算法 107
4.2.1 瞬態聲場的反覆運算算法 107
4.2.2 計算程式和結果 110
4.3 有限差分算法的性能 114
4.3.1 算法性能的基本概念 114
4.3.2 有限差分反覆運算算法的穩定性 114
4.3.3 有限差分的數值頻散 118
4.4 有限差分在穩態問題中的應用 119
4.4.1 穩態問題的有限差分方程 119
4.4.2 二維矩形結構例子 121
4.4.3 計算程式 123
4.4.4 有限差分的物理類比 126
4.5 吸收邊界和完全匹配層 126
複習題 129
第5章 射線跟蹤法 130
5.1 射線的基本概念 130
5.1.1 非均勻介質中的準行波 130
5.1.2 射線 133
5.1.3 費馬原理 136
5.2 均勻介質中的射線 136
5.2.1 聲波沿直線勻速傳播 136
5.2.2 射線管中的聲壓 138
5.3 不均勻介質中的射線 138
5.3.1 一維不均勻介質中的射線方程 138
5.3.2 典型海洋中的射線 140
5.3.3 射線在接口上的反射和透射 142
5.4 焦線附近的聲場 145
5.4.1 圓弧焦線聲場的射線解 146
5.4.2 聲波方程分析的結果 148
5.4.3 球腔內的焦點聲場 150
5.4.4 非均勻介質中的焦線聲場 151
複習題 152
第6章 有限元方法 153
6.1 有限元方法的基本原理 153
6.1.1 線性剖分和插值 153
6.1.2 弱形式的聲波方程 157
6.1.3 有限元方程 158
6.2 其他幾種計算方法 160
6.2.1 高階有限元算法 160
6.2.2 譜元法 162
6.2.3 輻射和散射問題的邊界元方法 164
6.3 有限元商用軟件 166
6.3.1 有限元建模 166
6.3.2 特徵值算例 170
6.3.3 流固耦合問題 174
6.3.4 波導的2.5維算法 176
複習題 182
第7章 格子氣自動機 183
7.1 格子氣方法 183
7.1.1 HPP模型 183
7.1.2 FHP模型 185
7.2 格子玻爾茲曼方法 186
7.3 傳輸線方法 187
複習題 189
第8章 非線性聲學的數值計算 190
8.1 高強度聚焦超聲聲場 190
8.1.1 背景 190
8.1.2 非線性聲學基本方程 191
8.1.3 有限差分算法 192
8.1.4 數值模擬結果 194
8.1.5 格子玻爾茲曼方法 195
8.2 空化氣泡振動模擬 195
8.2.1 超聲空化概念 195
8.2.2 超聲空化泡振動模型 196
8.2.3 氣泡振動方程線性化 197
8.2.4 數值計算方法 198
8.2.5 計算結果 198
複習題 199
參考文獻 200
緒論 1
0.1 計算聲學 1
0.2 本書的內容和重點 2
0.3 計算軟件的選擇 3
複習題 5
第1章 直角坐標系中的角譜方法 6
1.1 傅裡葉變換和頻譜 6
1.1.1 傅裡葉級數和傅裡葉變換 6
1.1.2 傅裡葉變換的一些性質 9
1.1.3 離散傅裡葉變換的混疊 12
1.1.4 截斷信號的頻譜 17
1.1.5 離散傅裡葉變換對和快速傅裡葉變換 18
1.2 角譜 20
1.2.1 聲波方程 20
1.2.2 角譜的概念 22
1.2.3 半空間聲場邊值問題 25
1.2.4 有限寬波束的反射和透射 31
1.2.5 有限寬聲束穿透多層介質的問題 40
1.3 角譜法研究聲束穿透固體薄板 42
1.3.1 頻率波數域中計算透射係數 43
1.3.2 聲束穿透薄板的計算結果的分析 47
複習題 55
第2章 圓柱坐標系中的角譜方法 56
2.1 圓柱面波 56
2.1.1 基本方程 56
2.1.2 柱面波的例子 60
2.1.3 平面波和柱面波的關係 61
2.2 圓柱坐標系中平面分層問題的角譜方法 62
2.2.1 柱坐標系中的角譜和漢克爾變換 62
2.2.2 球面波在平面接口上的反射和透射 65
2.2.3 程式和結果 66
2.3 柱面分層結構的角譜方法 71
2.3.1 用於共軸的多層圓柱分層介質問題的角譜方法 71
2.3.2 計算參數和接收波形 77
2.3.3 聲場分佈 79
2.3.4 廣義射線聲場 85
複習題 87
第3章 球坐標系中的角譜方法 88
3.1 球坐標系中波動方程的解 88
3.2 剛性圓球對平面波的散射 92
3.2.1 散射問題 92
3.2.2 用角譜方法求剛性球的散射問題 93
3.2.3 不同材料的球的散射問題 97
3.3 點力在流體中固體球殼內外產生的振動 98
3.3.1 流體中固體球殼的振動 98
3.3.2 計算程式 99
複習題 104
第4章 有限差分法 105
4.1 導數的有限差分格式 105
4.2 瞬態聲場的交錯網格有限差分算法 107
4.2.1 瞬態聲場的反覆運算算法 107
4.2.2 計算程式和結果 110
4.3 有限差分算法的性能 114
4.3.1 算法性能的基本概念 114
4.3.2 有限差分反覆運算算法的穩定性 114
4.3.3 有限差分的數值頻散 118
4.4 有限差分在穩態問題中的應用 119
4.4.1 穩態問題的有限差分方程 119
4.4.2 二維矩形結構例子 121
4.4.3 計算程式 123
4.4.4 有限差分的物理類比 126
4.5 吸收邊界和完全匹配層 126
複習題 129
第5章 射線跟蹤法 130
5.1 射線的基本概念 130
5.1.1 非均勻介質中的準行波 130
5.1.2 射線 133
5.1.3 費馬原理 136
5.2 均勻介質中的射線 136
5.2.1 聲波沿直線勻速傳播 136
5.2.2 射線管中的聲壓 138
5.3 不均勻介質中的射線 138
5.3.1 一維不均勻介質中的射線方程 138
5.3.2 典型海洋中的射線 140
5.3.3 射線在接口上的反射和透射 142
5.4 焦線附近的聲場 145
5.4.1 圓弧焦線聲場的射線解 146
5.4.2 聲波方程分析的結果 148
5.4.3 球腔內的焦點聲場 150
5.4.4 非均勻介質中的焦線聲場 151
複習題 152
第6章 有限元方法 153
6.1 有限元方法的基本原理 153
6.1.1 線性剖分和插值 153
6.1.2 弱形式的聲波方程 157
6.1.3 有限元方程 158
6.2 其他幾種計算方法 160
6.2.1 高階有限元算法 160
6.2.2 譜元法 162
6.2.3 輻射和散射問題的邊界元方法 164
6.3 有限元商用軟件 166
6.3.1 有限元建模 166
6.3.2 特徵值算例 170
6.3.3 流固耦合問題 174
6.3.4 波導的2.5維算法 176
複習題 182
第7章 格子氣自動機 183
7.1 格子氣方法 183
7.1.1 HPP模型 183
7.1.2 FHP模型 185
7.2 格子玻爾茲曼方法 186
7.3 傳輸線方法 187
複習題 189
第8章 非線性聲學的數值計算 190
8.1 高強度聚焦超聲聲場 190
8.1.1 背景 190
8.1.2 非線性聲學基本方程 191
8.1.3 有限差分算法 192
8.1.4 數值模擬結果 194
8.1.5 格子玻爾茲曼方法 195
8.2 空化氣泡振動模擬 195
8.2.1 超聲空化概念 195
8.2.2 超聲空化泡振動模型 196
8.2.3 氣泡振動方程線性化 197
8.2.4 數值計算方法 198
8.2.5 計算結果 198
複習題 199
參考文獻 200
書摘/試閱
緒論
0.1 計算聲學
聲,就是聲音,通常指人耳能夠感覺到的空氣振動。廣義地說,聲音是各種彈性介質中的機械波,包括人耳不能感知的超聲波和次聲波。
聲和我們的關係非常密切。語音和音樂伴隨著我們的生活,噪聲令人討厭,甚至危害健康。大自然中充滿了各種各樣的聲音,如風雨雷聲、各種動物的叫聲、江河湖海的水聲等。隨著科學技術的發展,音響的錄放處理、噪聲控制、超聲治療和診斷、工業超聲檢測和加工、水下聲吶、語音處理和通信等在人類生活中的作用越來越大。
研究聲音的性質及其發生、傳播、接收、與介質相互作用的規律的學科就是聲學,它是物理學的一個分支,是物理學中歷史*悠久而當前仍然十分活躍的一個學科。
聲學的研究方法大致可以分為三類。其中,傳統的方法是實驗和理論分析。實驗是聲學研究的*基本方式,它通過對自然和人為的聲學現象的觀察、控制、測量、記錄和分析,總結出聲學的規律,應用到不同的領域。理論分析是根據物理學的基本原理,對聲學現象作深入分析,建立數學方程,應用數學方法求得聲場的解析解。在聲學理論研究中*常用的數學方法是求解偏微分方程,由於對有些困難的問題無法得到解析解,理論研究中發展了許多近似方法。理論分析得到的這些結果使我們對聲學現象的認識更加深刻,更加系統。理論與實驗方法結合,形成了傳統的聲學理論體系。
但是,在許多的實際問題中,聲波傳播介質是複雜的,傳播路徑、目標等的形狀是不規則的。對於這樣的聲學問題,理論分析常常得不到解析解和近似解,實驗研究耗時耗力,難以得到規律性的結論,這是傳統聲學長期面臨的困難。隨著計算機和計算科學的發展,人們試圖採用數值計算方法來研究這樣的複雜問題。近年來,計算技術發展很快。幾十年前,算盤和對數計算尺等機械式計算器還是主要的計算工具 (圖 0.1),那時的數值計算研究水準非常低,基本上是理論研究結果的少量計算例子,只作為理論研究的附屬,不能成為一個重要的方面。現在計算機性能日新月異,許多以前難以想像的計算,今天在個人計算機 (PC) 上幾分鐘就可以完成。同時計算方法和軟件發展也在不斷進步,促進了數值計算的飛速發展。一方面,可以對理論結果做大量的計算,得到直觀形象的定量結果,總結規律, 加深對理論結果的理解;另一方面,可以計算沒有解析結果的複雜問題,為實際問題提供依據。利用數值計算研究的問題越來越多,當前數值計算已經應用到聲學研究的各個領域,成為連接聲學理論研究和實際應用的橋樑。數值計算的採用對計算方法提出了許多新的問題,新的方法不斷出現,有關的計算理論不斷發展,逐漸成為一個新興的分支學科——計算聲學。
圖0.1 曾經廣泛使用的機械式計算器:算盤(a)和對數計算尺(b)及其計算原理(c)
0.2 本書的內容和重點
用數值計算的方法研究聲學,需要考慮一些問題。第一,經過幾十年的發展,計算方法本身已經成為一門龐大的獨立分支學科,內容繁多,許多算法已經有了成熟的軟件。從事計算聲學的研究,主要考慮的是如何把聲學問題變換為計算機能夠處理的形式,再選用合適的計算方法和軟件解決問題。第二,在實際科研工作中運用數值計算的一個重要而比較困難的問題是對計算結果正確性的判斷。算法設計中總有許多近似,這些近似是否合理,牽涉到對研究的聲學問題和採用的近似假設是否有足夠的認識,這個問題需要在長期的研究過程中不斷考慮和積累。第三,在運用算法和程式編寫的過程中總會有許多錯誤,許多軟件提供了檢查和糾錯的功能,但是一般只能查出比較低級的語法錯誤。檢查程式的正確性有一些常用的方法,例如,不同方法的計算結果的對比,對有已知結果的簡單問題進行計算。但這些方法也不能完全解決問題,只能靠長期研究積累經驗。在分析結果的正確性時不放過任何疑點,查找出錯誤並分析出原因,往往會大大提高運用計算方法的水準。第四,應用中的另一個重要問題是對結果的分析,如何從計算結果中提取有用的物理規律,提出新的研究問題,也是反映研究水準的一個標誌,這方面的分析必須與理論分析和實驗研究緊密結合,才能得到好的效果。
考慮這些問題不但需要深入分析聲學問題,而且要掌握各種算法的原理、性能和誤差,這些都是計算聲學課程的主要內容。隨著各種計算軟件的發展,計算聲學研究的主要任務不再是編寫程式,因此在課程中不深入介紹各種算法的具體程序設計細節。希望通過課堂學習和實際問題的計算,同學們能瞭解計算聲學的研究現狀,基本掌握利用數值計算研究聲學問題的一般思路和方法,為今後的科研工作打好基礎。
本書介紹的算法大致可以分為兩大類。第一類是以理論聲學中得到的解析解為基礎發展起來的計算軟件和方法,本書前3章介紹這一類算法。這部分內容一般不歸入計算聲學的範圍,但是它們在實際科研工作中很重要,其他理論教材一般也不作深入的分析,因此本書編入了這部分內容。第二類是後續幾章介紹的比較通用的算法,如有限差分、有限元、邊界元、射線跟蹤和格子型算法等。*後簡單介紹非線性聲學的一些計算例子。
0.3 計算軟件的選擇
計算聲學需要各種計算軟件,首先是實現基本數學運算的軟件。這些運算包括四則運算、邏輯計算、線性和非線性方程的數值求解、行列式計算、矩陣特徵值和特徵向量計算、傅裡葉變換、特殊函數計算等。過去幾十年曾經流行過許多這類軟件,目前,運用*廣的軟件是 Matlab。它的應用範圍非常廣泛,涵蓋了上面列舉的所有計算問題,還具有符號計算的功能。它能產生形式多樣的圖形,滿足各種需要;效率高、性能好;操作簡便,可以產生和運行指令檔 (尾碼為 m),也可以通過軟件接口以對話模式運行;具有很好的開放性,可以用它進一步開發專用的軟件,其本身帶有的各種工具箱就是這樣的軟件,網上有許多軟件也是基於 Matlab 開發的。
使用Matlab軟件時要特別注意充分發揮它的功能,特別是矩陣運算的特點。優化程式不僅可以簡化算法,還能顯著地提高運算效率。
Matlab不是免費的。針對這個問題,有人開發了能運行Matlab指令檔的免費軟件。其中運用比較廣泛的是Octave軟件,它的官方網站是
這個網站提供了 Octave 軟件的各種信息,並可下載軟件。Octave 軟件雖然可以運行 Matlab 的指令檔,但有時候效率稍低。
在有些場合不便使用 Matlab 軟件,例如,在特定硬體平臺上開發的系統,這時就要使用其他的軟件,本書的例子都是以 Matlab 腳本的形式給出的,但是討論的計算方法問題是各種計算軟件共有的。
有了完成基本運算的軟件,還需要針對研究的問題編寫或選用專用的軟件。隨著計算技術的發展,越來越多的場合需要選擇已有的軟件來進行計算,選擇軟件*重要的途徑是網絡。通過網絡的搜尋引擎可以發現許多軟件。有些軟件是需要購買的,還有一些是免費的,可以在一定條件下使用。有的軟件還提供來源程式,可以二次開發。通過文獻也可以找到軟件,許多文獻介紹研究結果時都會說明使用的軟件。另外通過科研人員之間的交流也可以得到軟件的信息。下面以 Field II 軟件為例,介紹運用已有軟件的基本步驟。
例 Field II軟件
Field II是丹麥學者 Jensen 等研發的一個針對超聲診斷應用的超聲聲場類比系統。Field II 軟件在國際超聲界得到了廣泛的應用和信任。Field II 可以通過下列網站下載:
下載和使用 Field II 都是免費的,但是在發表研究結果時必須按照使用手冊的要求引用 Jensen 的相關文獻,並說明這些結果是用 Field II 計算得到的。
醫學超聲診斷用於人體內許多器官的檢查,針對不同的診斷要求,有許多不同的儀器和工作模式。各種不同的診斷模式都包括三個步驟。首先,由儀器控制的超聲波探頭向人體內部待查的部位輻射超聲波,稱為入射波。其次,入射波在人體內傳播會遇到各種器官的接口和性質不均勻的介質,於是發生散射 (反射),產生散射波,散射波的性質與人體組織性質有關,攜帶了人體內部健康狀況的信息。*後,散射波傳到體表,再被超聲波探頭接收轉換成電信號,經過處理形成超聲圖像,供醫生分析診斷。Field II 能夠模擬輻射、散射和接收三個過程,產生超聲診斷的模擬圖像。
Field II是用C語言編寫的,以Matlab函數的形式給出,需要在Matlab平臺上運行。Field II軟件附帶兩個 PDF 格式的說明文件,一個介紹超聲診斷的基本過程和模擬計算的基本原理,這對使用者瞭解軟件的計算方法和性能很重要。另一個是軟件的使用手冊,給出了如何使用 Field II函數 (function) 的詳細信息,使用者可以根據需要使用這些函數計算,也可以用這些函數編制自己的 Matlab 程式。但是網站和手冊並沒有給出這些函數的具體文本,因此 Field II不是一個完全開源的軟件。
Field II的函數可以分為三大類。第一類共 7 個函數,利用它們可以建立運行軟件的初始環境和調試等。其中,field_init是初始化函數,每次應用 Field II時必須首先調用。第二類共30個函數,用於建立發射和接收換能器的資料結構。第三類共6個函數,用於聲場計算。使用 Field II 就是按照規定在 Matlab環境下調用這些函數和Matlab本身的函數。Field II下載網站上還有一些程式的例子。用戶可以下載這些例子,對照說明書閱讀、運行這些程式並分析計算結果。還可以改變程式的一些參數和調用的函數,觀察計算結果的變化。這些試用的過程對瞭解Field II很有幫助。
上面介紹了Field II軟件的大致情況,也是網絡上許多軟件的基本情況,如果我們今後要把自己編寫的程式分享給大家,也可以參考這些做法。
複習題
1. 說明計算聲學在聲學研究中的作用。
2. 從第1章開始,會附有一些程式,請選擇一些在計算機上運行。嘗試對程式和一些參數做一些改變,觀察和分析結果的變化。
第1章 直角坐標系中的角譜方法
本章介紹角譜方法,角譜可以看作是頻譜的推廣,與傅裡葉變換有著密切的關係,因此我們先回顧一下傅裡葉變換和頻譜的概念,並特別仔細地分析一下與角譜方法有關的傅裡葉變換的一些性質。
1.1 傅裡葉變換和頻譜
1.1.1 傅裡葉級數和傅裡葉變換
根據傅裡葉級數的理論,週期為T的函數p (t) 可以表示為傅裡葉級數
(1.2)
式 (1.1) 中的每一項都是簡諧函數,第n項的頻率是,角頻率ω=2πf。
作為一個例子,考慮圖 1.1 所示的間距為T的δ脈衝串
(1.3)
圖1.1 δ脈衝串
0.1 計算聲學
聲,就是聲音,通常指人耳能夠感覺到的空氣振動。廣義地說,聲音是各種彈性介質中的機械波,包括人耳不能感知的超聲波和次聲波。
聲和我們的關係非常密切。語音和音樂伴隨著我們的生活,噪聲令人討厭,甚至危害健康。大自然中充滿了各種各樣的聲音,如風雨雷聲、各種動物的叫聲、江河湖海的水聲等。隨著科學技術的發展,音響的錄放處理、噪聲控制、超聲治療和診斷、工業超聲檢測和加工、水下聲吶、語音處理和通信等在人類生活中的作用越來越大。
研究聲音的性質及其發生、傳播、接收、與介質相互作用的規律的學科就是聲學,它是物理學的一個分支,是物理學中歷史*悠久而當前仍然十分活躍的一個學科。
聲學的研究方法大致可以分為三類。其中,傳統的方法是實驗和理論分析。實驗是聲學研究的*基本方式,它通過對自然和人為的聲學現象的觀察、控制、測量、記錄和分析,總結出聲學的規律,應用到不同的領域。理論分析是根據物理學的基本原理,對聲學現象作深入分析,建立數學方程,應用數學方法求得聲場的解析解。在聲學理論研究中*常用的數學方法是求解偏微分方程,由於對有些困難的問題無法得到解析解,理論研究中發展了許多近似方法。理論分析得到的這些結果使我們對聲學現象的認識更加深刻,更加系統。理論與實驗方法結合,形成了傳統的聲學理論體系。
但是,在許多的實際問題中,聲波傳播介質是複雜的,傳播路徑、目標等的形狀是不規則的。對於這樣的聲學問題,理論分析常常得不到解析解和近似解,實驗研究耗時耗力,難以得到規律性的結論,這是傳統聲學長期面臨的困難。隨著計算機和計算科學的發展,人們試圖採用數值計算方法來研究這樣的複雜問題。近年來,計算技術發展很快。幾十年前,算盤和對數計算尺等機械式計算器還是主要的計算工具 (圖 0.1),那時的數值計算研究水準非常低,基本上是理論研究結果的少量計算例子,只作為理論研究的附屬,不能成為一個重要的方面。現在計算機性能日新月異,許多以前難以想像的計算,今天在個人計算機 (PC) 上幾分鐘就可以完成。同時計算方法和軟件發展也在不斷進步,促進了數值計算的飛速發展。一方面,可以對理論結果做大量的計算,得到直觀形象的定量結果,總結規律, 加深對理論結果的理解;另一方面,可以計算沒有解析結果的複雜問題,為實際問題提供依據。利用數值計算研究的問題越來越多,當前數值計算已經應用到聲學研究的各個領域,成為連接聲學理論研究和實際應用的橋樑。數值計算的採用對計算方法提出了許多新的問題,新的方法不斷出現,有關的計算理論不斷發展,逐漸成為一個新興的分支學科——計算聲學。
圖0.1 曾經廣泛使用的機械式計算器:算盤(a)和對數計算尺(b)及其計算原理(c)
0.2 本書的內容和重點
用數值計算的方法研究聲學,需要考慮一些問題。第一,經過幾十年的發展,計算方法本身已經成為一門龐大的獨立分支學科,內容繁多,許多算法已經有了成熟的軟件。從事計算聲學的研究,主要考慮的是如何把聲學問題變換為計算機能夠處理的形式,再選用合適的計算方法和軟件解決問題。第二,在實際科研工作中運用數值計算的一個重要而比較困難的問題是對計算結果正確性的判斷。算法設計中總有許多近似,這些近似是否合理,牽涉到對研究的聲學問題和採用的近似假設是否有足夠的認識,這個問題需要在長期的研究過程中不斷考慮和積累。第三,在運用算法和程式編寫的過程中總會有許多錯誤,許多軟件提供了檢查和糾錯的功能,但是一般只能查出比較低級的語法錯誤。檢查程式的正確性有一些常用的方法,例如,不同方法的計算結果的對比,對有已知結果的簡單問題進行計算。但這些方法也不能完全解決問題,只能靠長期研究積累經驗。在分析結果的正確性時不放過任何疑點,查找出錯誤並分析出原因,往往會大大提高運用計算方法的水準。第四,應用中的另一個重要問題是對結果的分析,如何從計算結果中提取有用的物理規律,提出新的研究問題,也是反映研究水準的一個標誌,這方面的分析必須與理論分析和實驗研究緊密結合,才能得到好的效果。
考慮這些問題不但需要深入分析聲學問題,而且要掌握各種算法的原理、性能和誤差,這些都是計算聲學課程的主要內容。隨著各種計算軟件的發展,計算聲學研究的主要任務不再是編寫程式,因此在課程中不深入介紹各種算法的具體程序設計細節。希望通過課堂學習和實際問題的計算,同學們能瞭解計算聲學的研究現狀,基本掌握利用數值計算研究聲學問題的一般思路和方法,為今後的科研工作打好基礎。
本書介紹的算法大致可以分為兩大類。第一類是以理論聲學中得到的解析解為基礎發展起來的計算軟件和方法,本書前3章介紹這一類算法。這部分內容一般不歸入計算聲學的範圍,但是它們在實際科研工作中很重要,其他理論教材一般也不作深入的分析,因此本書編入了這部分內容。第二類是後續幾章介紹的比較通用的算法,如有限差分、有限元、邊界元、射線跟蹤和格子型算法等。*後簡單介紹非線性聲學的一些計算例子。
0.3 計算軟件的選擇
計算聲學需要各種計算軟件,首先是實現基本數學運算的軟件。這些運算包括四則運算、邏輯計算、線性和非線性方程的數值求解、行列式計算、矩陣特徵值和特徵向量計算、傅裡葉變換、特殊函數計算等。過去幾十年曾經流行過許多這類軟件,目前,運用*廣的軟件是 Matlab。它的應用範圍非常廣泛,涵蓋了上面列舉的所有計算問題,還具有符號計算的功能。它能產生形式多樣的圖形,滿足各種需要;效率高、性能好;操作簡便,可以產生和運行指令檔 (尾碼為 m),也可以通過軟件接口以對話模式運行;具有很好的開放性,可以用它進一步開發專用的軟件,其本身帶有的各種工具箱就是這樣的軟件,網上有許多軟件也是基於 Matlab 開發的。
使用Matlab軟件時要特別注意充分發揮它的功能,特別是矩陣運算的特點。優化程式不僅可以簡化算法,還能顯著地提高運算效率。
Matlab不是免費的。針對這個問題,有人開發了能運行Matlab指令檔的免費軟件。其中運用比較廣泛的是Octave軟件,它的官方網站是
這個網站提供了 Octave 軟件的各種信息,並可下載軟件。Octave 軟件雖然可以運行 Matlab 的指令檔,但有時候效率稍低。
在有些場合不便使用 Matlab 軟件,例如,在特定硬體平臺上開發的系統,這時就要使用其他的軟件,本書的例子都是以 Matlab 腳本的形式給出的,但是討論的計算方法問題是各種計算軟件共有的。
有了完成基本運算的軟件,還需要針對研究的問題編寫或選用專用的軟件。隨著計算技術的發展,越來越多的場合需要選擇已有的軟件來進行計算,選擇軟件*重要的途徑是網絡。通過網絡的搜尋引擎可以發現許多軟件。有些軟件是需要購買的,還有一些是免費的,可以在一定條件下使用。有的軟件還提供來源程式,可以二次開發。通過文獻也可以找到軟件,許多文獻介紹研究結果時都會說明使用的軟件。另外通過科研人員之間的交流也可以得到軟件的信息。下面以 Field II 軟件為例,介紹運用已有軟件的基本步驟。
例 Field II軟件
Field II是丹麥學者 Jensen 等研發的一個針對超聲診斷應用的超聲聲場類比系統。Field II 軟件在國際超聲界得到了廣泛的應用和信任。Field II 可以通過下列網站下載:
下載和使用 Field II 都是免費的,但是在發表研究結果時必須按照使用手冊的要求引用 Jensen 的相關文獻,並說明這些結果是用 Field II 計算得到的。
醫學超聲診斷用於人體內許多器官的檢查,針對不同的診斷要求,有許多不同的儀器和工作模式。各種不同的診斷模式都包括三個步驟。首先,由儀器控制的超聲波探頭向人體內部待查的部位輻射超聲波,稱為入射波。其次,入射波在人體內傳播會遇到各種器官的接口和性質不均勻的介質,於是發生散射 (反射),產生散射波,散射波的性質與人體組織性質有關,攜帶了人體內部健康狀況的信息。*後,散射波傳到體表,再被超聲波探頭接收轉換成電信號,經過處理形成超聲圖像,供醫生分析診斷。Field II 能夠模擬輻射、散射和接收三個過程,產生超聲診斷的模擬圖像。
Field II是用C語言編寫的,以Matlab函數的形式給出,需要在Matlab平臺上運行。Field II軟件附帶兩個 PDF 格式的說明文件,一個介紹超聲診斷的基本過程和模擬計算的基本原理,這對使用者瞭解軟件的計算方法和性能很重要。另一個是軟件的使用手冊,給出了如何使用 Field II函數 (function) 的詳細信息,使用者可以根據需要使用這些函數計算,也可以用這些函數編制自己的 Matlab 程式。但是網站和手冊並沒有給出這些函數的具體文本,因此 Field II不是一個完全開源的軟件。
Field II的函數可以分為三大類。第一類共 7 個函數,利用它們可以建立運行軟件的初始環境和調試等。其中,field_init是初始化函數,每次應用 Field II時必須首先調用。第二類共30個函數,用於建立發射和接收換能器的資料結構。第三類共6個函數,用於聲場計算。使用 Field II 就是按照規定在 Matlab環境下調用這些函數和Matlab本身的函數。Field II下載網站上還有一些程式的例子。用戶可以下載這些例子,對照說明書閱讀、運行這些程式並分析計算結果。還可以改變程式的一些參數和調用的函數,觀察計算結果的變化。這些試用的過程對瞭解Field II很有幫助。
上面介紹了Field II軟件的大致情況,也是網絡上許多軟件的基本情況,如果我們今後要把自己編寫的程式分享給大家,也可以參考這些做法。
複習題
1. 說明計算聲學在聲學研究中的作用。
2. 從第1章開始,會附有一些程式,請選擇一些在計算機上運行。嘗試對程式和一些參數做一些改變,觀察和分析結果的變化。
第1章 直角坐標系中的角譜方法
本章介紹角譜方法,角譜可以看作是頻譜的推廣,與傅裡葉變換有著密切的關係,因此我們先回顧一下傅裡葉變換和頻譜的概念,並特別仔細地分析一下與角譜方法有關的傅裡葉變換的一些性質。
1.1 傅裡葉變換和頻譜
1.1.1 傅裡葉級數和傅裡葉變換
根據傅裡葉級數的理論,週期為T的函數p (t) 可以表示為傅裡葉級數
(1.2)
式 (1.1) 中的每一項都是簡諧函數,第n項的頻率是,角頻率ω=2πf。
作為一個例子,考慮圖 1.1 所示的間距為T的δ脈衝串
(1.3)
圖1.1 δ脈衝串
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

