江偉歡
(廣東省建設工程質量安全檢測總站有限公司,廣州 510500)
擴聲特性指標是反映各類擴聲系統擴聲性能的一組指標參數。擴聲系統包括會議類、文藝演出類、廣播類、會議電視會場類等七大類系統。擴聲特性指標包括最大聲壓級(峰值)、傳輸頻率特性、傳聲增益、穩態聲場不均勻度、語言傳輸指數(STIPA)、系統總噪聲級、總噪聲級、早后期聲能比(可選項)。其中,最大聲壓級、語言傳輸指數等指標參數的測量數據較少,計算過程也較簡單,可以用計算器等簡單的計算工具進行計算;但傳輸頻率特性、聲場不均勻度、傳聲增益、系統總噪聲級等參數的測量數據多,計算還需要畫曲線圖對測量結果進行表示,過程復雜,因此一般是使用Excel輔助完成數據的處理而非人工處理,但使用Excel進行輔助分析時,又存在工作量大、費時、人員工作負擔重、容易出現因主觀疏忽導致的錯誤,以及不能現場處理數據、不能現場指導整改等問題。為了解決這些問題,本文提出了使用計算機軟件技術設計數據處理軟件用于擴聲特性測量數據的處理,可實現數據的自動處理。
(1)使用ASP.NET 4.0作為技術支撐平臺進行開發,使用Visual Studio作為開發平臺,采用C#作為編程語言。(2)根據功能需要開發數據導入模塊、數據處理模塊、繪圖模塊、分析判定模塊、Word操作模塊、報告生成導出模塊等。(3)綜合分析各標準規范對各類系統的擴聲特性指標的要求,建立統一的模型對各類系統的判定依據進行數據化,實現自動判定;將判定依據保存在文件中,使用一個文件保存一類系統的判定依據。(4)使用GDI+技術實現曲線圖形繪制。(5)導出的報告文件格式使用Word格式,通過載入Office組件,調用Microsoft Word 應用程序提供的接口實現文檔的創建和數據、表格、圖形的寫入,生成報告。
擴聲特性指標數據處理軟件需要包括數據導入模塊、數據處理模塊、分析判定模塊、繪圖模塊、報告模塊和數據呈現模塊六個模塊和測量數據對象、判定標準對象兩個數據對象。
(1)用戶執行導入操作時,調用數據導入模塊從文件中提取測量數據,調用數據處理模塊對測量數據進行處理得到處理結果,分析判斷模塊根據處理結果,結合判定依據數據判定指標等級,繪圖模塊將處理結果和指標等級的數據進行曲線繪制。(2)通過調用數據呈現模塊的功能將相關數據和圖形在軟件界面顯示。(3)需要導出報告時,執行導出操作,程序調用報告生成模塊將測量數據、處理結果、分析判定結果和曲線等寫入Word文檔形成報告;Word文檔的生成通過調用Microsoft Word 應用程序提供的接口實現文檔的創建和數據寫入。在各個流程中通過數據對象對數據進行保存和傳遞。軟件結構如圖1所示。

圖1 軟件結構示意圖
測量數據類型是保存測量數據的公共對象,包括傳輸頻率特性等指標參數的測量數據、處理結果數據、分析判定數據和曲線圖形數據,其類型結構如圖2所示。

圖2 測量數據類型
(1)判定標準對象:包含系統類型、判定方法、判定標準等信息。(2)傳輸頻率特性數據對象:包含傳輸頻率特性的測點數、測量數據、處理結果、判定結果等信息。(3)傳聲增益數據對象:包含傳聲增益的測點數、測量數據、處理結果、判定結果等信息。(4)系統總噪聲級數據對象:包含系統總噪聲級的測點數、測量數據、處理結果、判定結果等信息。(5)曲線圖形對象:包含曲線圖形數據。
判定標準數據類型用于表示判定標準數據,其類型結構如圖3所示。

圖3 判定標準數據類型
(1)判定標準對象:包含系統類型、判定方法、判定標準等信息。(2)傳輸頻率特性判定對象:包含傳輸頻率特性頻點、各級指標的上下限等信息。(3)聲場不均度判定對象:包含聲場不均度頻點、各級指標的上下限等信息。(4)傳聲增益判定對象:包含傳聲增益頻點、各級指標的上下限等信息。(5)系統總噪聲級判定對象:包含系統總噪聲級頻點、各級指標的上下限等信息。
該模塊提供通過分析從測量儀器導出的數據文件格式特點,從中提取測量數據,并將數據保存到測量數據對象中的對應變量中的功能。從儀器導出的數據文件包含每個測點的測量數據,即該測點所有頻率范圍內聲壓級,包括從6.3Hz到20 000.0Hz 所有1/3倍頻程的36組數據,根據文件內容的特點編程實現自動從中提取測量數據。
數據處理模塊提供對四個指標參數的測量數據進行處理計算得到指標值的功能。包括四個指標的數據處理功能。
(1)傳輸頻率特性數據的處理
傳輸頻率特性的計算需根據式(1)使用各頻段在各測量點的聲壓值計算各頻段的綜合聲壓。
(1)

(2)聲場不均勻度數據的處理
聲場不均勻度可以和傳輸頻率特性共用測量數據,需要分別計算1 000Hz,2 000Hz和4 000Hz等頻段在各測量點中的最大值和最小值之差即聲場不均勻度。計算如式(2)~(3)所示:
Δf1k=L1kmax-L1kmin
(2)
Δf4k=L4kmax-L4kmin
(3)
(3)傳聲增益數據處理功能
傳聲增益的數據包括傳聲器處測得的一組各頻段的聲壓值,及在聽眾區的若干個測點分別測得的各頻段的聲壓值。
首先使用傳聲器處的測量值根據公式(4)計算傳聲器處的寬頻聲壓Lw1。
(4)
式中,Lw為寬頻聲壓;Lf1…LfM為各頻段聲壓值;M為頻段數。
再計算聽眾區的綜合寬頻聲壓,首先利用公式(1)計算各頻段的綜合聲壓,這個過程與傳輸頻率特性的計算過程類似,再將綜合聲壓數據代入公式(4)計算聽眾區的綜合寬頻聲壓,則傳聲增益計算式如式(5)所示為:
Z=Lw2-Lw1
(5)
(4)系統總噪聲級數據處理功能
系統總噪聲級指標使用噪聲評價參數NR的值表示。該指標的測量數據是在若干測量點測得的1/1倍頻程各頻段的聲壓值,首先需要使用式(1)計算各頻段的綜合聲壓,噪聲評價參數NR和各頻段的綜合聲壓的關系如式(6)所示。各頻段計算的最大NR值即系統總噪聲級指標值。
(6)
式中,NFf為在頻段f的噪聲評價參數;Lf為頻段f的聲壓值;a, b常數與各頻段的關系如表1所示。

噪聲評價參數計算常數和頻帶的關系表 表1
該模塊提供通過指標等級要求和數據處理結果判定各參數達到的指標等級的功能。GB 50526-2010《公共廣播系統工程技術規范》對各種廣播系統(包括業務廣播系統、背景廣播系統和緊急廣播系統)的擴聲特性指標進行了規定;GB 50635-2010《會議電視會場系統工程設計規范》對會議電視會場系統的擴聲特性指標作了規定;GB/T 28049-2011《廳堂、體育場館擴聲系統設計規范》、JGJ/T 131-2012《體育場館聲學設計及測量規程》對多功能類系統、文藝演出類系統、會議類系統、體育場擴聲系統的擴聲特性指標作了規定。表2是標準對會議系統的擴聲特性指標要求。
根據各指標參數處理結果判斷各參數達到的指標等級,取各個參數的指標等級中最小者為該對象擴聲特性的綜合等級。
為了能用一致的方法進行調用,實現自動判定,綜合分析各個相關的標準對各類系統的擴聲特性指標的要求,基于文本文件設計了統一的模型對各類系統的判定標準進行數據化,圖4是部分判定標準數據模型,其中“ ”表示制表符。

圖4 部分判定標準數據模型
設計時,將在軟件目錄下建立判定依據文件夾,將判定依據保存在文件中,使用一個文件保存一類系統的判定依據,軟件啟動時,自動識別各系統類型,增加到類別列表。

會議類擴聲特性指標要求 表2
繪圖模塊主要是提供繪制傳輸頻率特性的數據曲線圖的功能。繪制的內容包括坐標軸及其刻度和值、網格線、傳輸頻率特性曲線、達到的指標等級的上下限界線,如圖5所示。

圖5 繪制的傳輸頻率特性曲線
繪圖功能主要使用GDI+技術實現。GDI+提供了各種豐富的圖形圖像處理功能;在C#.NET中,使用GDI+處理二維的圖形和圖像,使用DirectX處理三維的圖形圖像。圖形圖像處理用到的主要命名空間是System.Drawing,提供了對GDI+基本圖形功能的訪問,主要有Graphics類、Bitmap類、從Brush類繼承的類、Font類、Icon類、Image類、Pen類、Color類等。使用GDI+需要使用命名空間:using System.Drawing。
(1)畫板的創建
要畫圖首先要有畫板,畫板可以通過Graphics這個類來創建。創建一個畫板主要有3種方式:1)在窗體或控件的Paint事件中直接引用Graphics對象。2)利用窗體或某個控件的CreateGraphics方法。3)從繼承自圖像的任何對象創建Graphics對象。如在Paint事件中創建畫板:Graphics g=e.Graphics;使用CreateGraphics方法創建畫:板Graphics g=this.CreateGraphics()。
(2)畫筆的創建
有了畫板之后,還需要畫筆,畫筆使用Pen類定義,創建畫筆時可以同時指定畫筆顏色和畫筆寬度,如創建一支藍色、畫痕寬度為2像素的畫筆:Pen p=new Pen(Color.Blue, 2);定義畫筆的線型樣式,本軟件主要使用兩種線型:短劃虛線、長短劃虛線和實線。其中,短劃虛線畫筆設定:p.DashStyle=DashStyle.Dot。長短劃虛線畫筆設定:float[] dashValues={4,4,12,4}; //即短劃長度為4,長劃長度為12,間隔是都4,p.DashPattern=dashValues;實線畫筆設定:p.DashStyle=DashStyle.Solid。
(3)圖形繪制
有了畫板和畫筆后就可進行圖形的繪制,本軟件需要繪制的曲線圖形可以由直線、曲線(曲線可由多段直線表面)、矩形、圓和點(點可由小直徑的圓表達)等圖形單元組成。
畫直線:g.DrawLine(p, 10, 10, 100, 100);//在畫板上畫直線,起始坐標為(10,10),終點坐標為(100,100)。畫矩形:g.DrawRectangle(p, 10, 10, 100, 100);//在畫板上畫矩形,起始坐標為(10,10),寬為100,高為100。畫圓形:g.DrawEllipse(p, 10, 10, 100, 100);//在畫板上畫橢圓,起始坐標為(10,10),外接矩形的寬為100,高為100。
該模塊提供將各參數的測量數據、處理結果、分析判定結果和曲線等寫入Word文檔形成報告;Word文檔的生成通過調用Microsoft Word 應用程序提供的接口實現文檔的創建和數據寫入。主要函數接口如下所示。
應用對象建立:
private Microsoft.Office.Interop.Word.Application _wordApplication;
_wordApplication=new Microsoft.Office.Interop.Word.ApplicationClass();
word對象建立:
pivate Microsoft.Office.Interop.Word.Document _wordDocument;
_wordDocument=_wordApplication.Documents.Open(ref fileobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj);
添加文本:
_wordApplication.Selection.TypeText(string text);
添加圖片:
_wordApplication.Selection.InlineShapes.AddPicture(string pic, ref missing, ref missing, ref missing);
添加表格:
_wordApplication.ActiveDocument.Tables.Add(_wordApplication.Selection.Range, 2, 2, ref missing, ref missing);
保存文件:
_wordDocument.SaveAs(ref myFileName, ref myWordFormatDocument, ref myLockd, ref myPassword, ref myAddto, ref myPassword, ref myLockd, ref myLockd, ref myLockd, ref myLockd, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
軟件界面如圖6所示。界面分為頂部的操作區和下面的數據顯示區。操作區又分為導入數據、判定設置和導出報告三個操作區。導入數據區提供對各個指標參數測量數據的導入操作。判定設置區提供判定標準和判定方式的設定。判定標準可以選擇判定依據的標準和系統類型。判定方式包括自動和手動判定。自動判定模式下,軟件自動判定系統能達的最高等級;手動判定模式下,需要設定等級指標,軟件自動判定系統是否達到指定等級指標要求。導出區提供導出內容的選擇及報告導出操作。

圖6 軟件主界面
