江偉歡
(廣東省建設(shè)工程質(zhì)量安全檢測(cè)總站有限公司,廣州 510500)
擴(kuò)聲特性指標(biāo)是反映各類擴(kuò)聲系統(tǒng)擴(kuò)聲性能的一組指標(biāo)參數(shù)。擴(kuò)聲系統(tǒng)包括會(huì)議類、文藝演出類、廣播類、會(huì)議電視會(huì)場(chǎng)類等七大類系統(tǒng)。擴(kuò)聲特性指標(biāo)包括最大聲壓級(jí)(峰值)、傳輸頻率特性、傳聲增益、穩(wěn)態(tài)聲場(chǎng)不均勻度、語(yǔ)言傳輸指數(shù)(STIPA)、系統(tǒng)總噪聲級(jí)、總噪聲級(jí)、早后期聲能比(可選項(xiàng))。其中,最大聲壓級(jí)、語(yǔ)言傳輸指數(shù)等指標(biāo)參數(shù)的測(cè)量數(shù)據(jù)較少,計(jì)算過(guò)程也較簡(jiǎn)單,可以用計(jì)算器等簡(jiǎn)單的計(jì)算工具進(jìn)行計(jì)算;但傳輸頻率特性、聲場(chǎng)不均勻度、傳聲增益、系統(tǒng)總噪聲級(jí)等參數(shù)的測(cè)量數(shù)據(jù)多,計(jì)算還需要畫曲線圖對(duì)測(cè)量結(jié)果進(jìn)行表示,過(guò)程復(fù)雜,因此一般是使用Excel輔助完成數(shù)據(jù)的處理而非人工處理,但使用Excel進(jìn)行輔助分析時(shí),又存在工作量大、費(fèi)時(shí)、人員工作負(fù)擔(dān)重、容易出現(xiàn)因主觀疏忽導(dǎo)致的錯(cuò)誤,以及不能現(xiàn)場(chǎng)處理數(shù)據(jù)、不能現(xiàn)場(chǎng)指導(dǎo)整改等問(wèn)題。為了解決這些問(wèn)題,本文提出了使用計(jì)算機(jī)軟件技術(shù)設(shè)計(jì)數(shù)據(jù)處理軟件用于擴(kuò)聲特性測(cè)量數(shù)據(jù)的處理,可實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)處理。
(1)使用ASP.NET 4.0作為技術(shù)支撐平臺(tái)進(jìn)行開發(fā),使用Visual Studio作為開發(fā)平臺(tái),采用C#作為編程語(yǔ)言。(2)根據(jù)功能需要開發(fā)數(shù)據(jù)導(dǎo)入模塊、數(shù)據(jù)處理模塊、繪圖模塊、分析判定模塊、Word操作模塊、報(bào)告生成導(dǎo)出模塊等。(3)綜合分析各標(biāo)準(zhǔn)規(guī)范對(duì)各類系統(tǒng)的擴(kuò)聲特性指標(biāo)的要求,建立統(tǒng)一的模型對(duì)各類系統(tǒng)的判定依據(jù)進(jìn)行數(shù)據(jù)化,實(shí)現(xiàn)自動(dòng)判定;將判定依據(jù)保存在文件中,使用一個(gè)文件保存一類系統(tǒng)的判定依據(jù)。(4)使用GDI+技術(shù)實(shí)現(xiàn)曲線圖形繪制。(5)導(dǎo)出的報(bào)告文件格式使用Word格式,通過(guò)載入Office組件,調(diào)用Microsoft Word 應(yīng)用程序提供的接口實(shí)現(xiàn)文檔的創(chuàng)建和數(shù)據(jù)、表格、圖形的寫入,生成報(bào)告。
擴(kuò)聲特性指標(biāo)數(shù)據(jù)處理軟件需要包括數(shù)據(jù)導(dǎo)入模塊、數(shù)據(jù)處理模塊、分析判定模塊、繪圖模塊、報(bào)告模塊和數(shù)據(jù)呈現(xiàn)模塊六個(gè)模塊和測(cè)量數(shù)據(jù)對(duì)象、判定標(biāo)準(zhǔn)對(duì)象兩個(gè)數(shù)據(jù)對(duì)象。
(1)用戶執(zhí)行導(dǎo)入操作時(shí),調(diào)用數(shù)據(jù)導(dǎo)入模塊從文件中提取測(cè)量數(shù)據(jù),調(diào)用數(shù)據(jù)處理模塊對(duì)測(cè)量數(shù)據(jù)進(jìn)行處理得到處理結(jié)果,分析判斷模塊根據(jù)處理結(jié)果,結(jié)合判定依據(jù)數(shù)據(jù)判定指標(biāo)等級(jí),繪圖模塊將處理結(jié)果和指標(biāo)等級(jí)的數(shù)據(jù)進(jìn)行曲線繪制。(2)通過(guò)調(diào)用數(shù)據(jù)呈現(xiàn)模塊的功能將相關(guān)數(shù)據(jù)和圖形在軟件界面顯示。(3)需要導(dǎo)出報(bào)告時(shí),執(zhí)行導(dǎo)出操作,程序調(diào)用報(bào)告生成模塊將測(cè)量數(shù)據(jù)、處理結(jié)果、分析判定結(jié)果和曲線等寫入Word文檔形成報(bào)告;Word文檔的生成通過(guò)調(diào)用Microsoft Word 應(yīng)用程序提供的接口實(shí)現(xiàn)文檔的創(chuàng)建和數(shù)據(jù)寫入。在各個(gè)流程中通過(guò)數(shù)據(jù)對(duì)象對(duì)數(shù)據(jù)進(jìn)行保存和傳遞。軟件結(jié)構(gòu)如圖1所示。
圖1 軟件結(jié)構(gòu)示意圖
測(cè)量數(shù)據(jù)類型是保存測(cè)量數(shù)據(jù)的公共對(duì)象,包括傳輸頻率特性等指標(biāo)參數(shù)的測(cè)量數(shù)據(jù)、處理結(jié)果數(shù)據(jù)、分析判定數(shù)據(jù)和曲線圖形數(shù)據(jù),其類型結(jié)構(gòu)如圖2所示。
圖2 測(cè)量數(shù)據(jù)類型
(1)判定標(biāo)準(zhǔn)對(duì)象:包含系統(tǒng)類型、判定方法、判定標(biāo)準(zhǔn)等信息。(2)傳輸頻率特性數(shù)據(jù)對(duì)象:包含傳輸頻率特性的測(cè)點(diǎn)數(shù)、測(cè)量數(shù)據(jù)、處理結(jié)果、判定結(jié)果等信息。(3)傳聲增益數(shù)據(jù)對(duì)象:包含傳聲增益的測(cè)點(diǎn)數(shù)、測(cè)量數(shù)據(jù)、處理結(jié)果、判定結(jié)果等信息。(4)系統(tǒng)總噪聲級(jí)數(shù)據(jù)對(duì)象:包含系統(tǒng)總噪聲級(jí)的測(cè)點(diǎn)數(shù)、測(cè)量數(shù)據(jù)、處理結(jié)果、判定結(jié)果等信息。(5)曲線圖形對(duì)象:包含曲線圖形數(shù)據(jù)。
判定標(biāo)準(zhǔn)數(shù)據(jù)類型用于表示判定標(biāo)準(zhǔn)數(shù)據(jù),其類型結(jié)構(gòu)如圖3所示。
圖3 判定標(biāo)準(zhǔn)數(shù)據(jù)類型
(1)判定標(biāo)準(zhǔn)對(duì)象:包含系統(tǒng)類型、判定方法、判定標(biāo)準(zhǔn)等信息。(2)傳輸頻率特性判定對(duì)象:包含傳輸頻率特性頻點(diǎn)、各級(jí)指標(biāo)的上下限等信息。(3)聲場(chǎng)不均度判定對(duì)象:包含聲場(chǎng)不均度頻點(diǎn)、各級(jí)指標(biāo)的上下限等信息。(4)傳聲增益判定對(duì)象:包含傳聲增益頻點(diǎn)、各級(jí)指標(biāo)的上下限等信息。(5)系統(tǒng)總噪聲級(jí)判定對(duì)象:包含系統(tǒng)總噪聲級(jí)頻點(diǎn)、各級(jí)指標(biāo)的上下限等信息。
該模塊提供通過(guò)分析從測(cè)量?jī)x器導(dǎo)出的數(shù)據(jù)文件格式特點(diǎn),從中提取測(cè)量數(shù)據(jù),并將數(shù)據(jù)保存到測(cè)量數(shù)據(jù)對(duì)象中的對(duì)應(yīng)變量中的功能。從儀器導(dǎo)出的數(shù)據(jù)文件包含每個(gè)測(cè)點(diǎn)的測(cè)量數(shù)據(jù),即該測(cè)點(diǎn)所有頻率范圍內(nèi)聲壓級(jí),包括從6.3Hz到20 000.0Hz 所有1/3倍頻程的36組數(shù)據(jù),根據(jù)文件內(nèi)容的特點(diǎn)編程實(shí)現(xiàn)自動(dòng)從中提取測(cè)量數(shù)據(jù)。
數(shù)據(jù)處理模塊提供對(duì)四個(gè)指標(biāo)參數(shù)的測(cè)量數(shù)據(jù)進(jìn)行處理計(jì)算得到指標(biāo)值的功能。包括四個(gè)指標(biāo)的數(shù)據(jù)處理功能。
(1)傳輸頻率特性數(shù)據(jù)的處理
傳輸頻率特性的計(jì)算需根據(jù)式(1)使用各頻段在各測(cè)量點(diǎn)的聲壓值計(jì)算各頻段的綜合聲壓。
(1)
(2)聲場(chǎng)不均勻度數(shù)據(jù)的處理
聲場(chǎng)不均勻度可以和傳輸頻率特性共用測(cè)量數(shù)據(jù),需要分別計(jì)算1 000Hz,2 000Hz和4 000Hz等頻段在各測(cè)量點(diǎn)中的最大值和最小值之差即聲場(chǎng)不均勻度。計(jì)算如式(2)~(3)所示:
Δf1k=L1kmax-L1kmin
(2)
Δf4k=L4kmax-L4kmin
(3)
(3)傳聲增益數(shù)據(jù)處理功能
傳聲增益的數(shù)據(jù)包括傳聲器處測(cè)得的一組各頻段的聲壓值,及在聽(tīng)眾區(qū)的若干個(gè)測(cè)點(diǎn)分別測(cè)得的各頻段的聲壓值。
首先使用傳聲器處的測(cè)量值根據(jù)公式(4)計(jì)算傳聲器處的寬頻聲壓Lw1。
(4)
式中,Lw為寬頻聲壓;Lf1…LfM為各頻段聲壓值;M為頻段數(shù)。
再計(jì)算聽(tīng)眾區(qū)的綜合寬頻聲壓,首先利用公式(1)計(jì)算各頻段的綜合聲壓,這個(gè)過(guò)程與傳輸頻率特性的計(jì)算過(guò)程類似,再將綜合聲壓數(shù)據(jù)代入公式(4)計(jì)算聽(tīng)眾區(qū)的綜合寬頻聲壓,則傳聲增益計(jì)算式如式(5)所示為:
Z=Lw2-Lw1
(5)
(4)系統(tǒng)總噪聲級(jí)數(shù)據(jù)處理功能
系統(tǒng)總噪聲級(jí)指標(biāo)使用噪聲評(píng)價(jià)參數(shù)NR的值表示。該指標(biāo)的測(cè)量數(shù)據(jù)是在若干測(cè)量點(diǎn)測(cè)得的1/1倍頻程各頻段的聲壓值,首先需要使用式(1)計(jì)算各頻段的綜合聲壓,噪聲評(píng)價(jià)參數(shù)NR和各頻段的綜合聲壓的關(guān)系如式(6)所示。各頻段計(jì)算的最大NR值即系統(tǒng)總噪聲級(jí)指標(biāo)值。
(6)
式中,NFf為在頻段f的噪聲評(píng)價(jià)參數(shù);Lf為頻段f的聲壓值;a, b常數(shù)與各頻段的關(guān)系如表1所示。
噪聲評(píng)價(jià)參數(shù)計(jì)算常數(shù)和頻帶的關(guān)系表 表1
該模塊提供通過(guò)指標(biāo)等級(jí)要求和數(shù)據(jù)處理結(jié)果判定各參數(shù)達(dá)到的指標(biāo)等級(jí)的功能。GB 50526-2010《公共廣播系統(tǒng)工程技術(shù)規(guī)范》對(duì)各種廣播系統(tǒng)(包括業(yè)務(wù)廣播系統(tǒng)、背景廣播系統(tǒng)和緊急廣播系統(tǒng))的擴(kuò)聲特性指標(biāo)進(jìn)行了規(guī)定;GB 50635-2010《會(huì)議電視會(huì)場(chǎng)系統(tǒng)工程設(shè)計(jì)規(guī)范》對(duì)會(huì)議電視會(huì)場(chǎng)系統(tǒng)的擴(kuò)聲特性指標(biāo)作了規(guī)定;GB/T 28049-2011《廳堂、體育場(chǎng)館擴(kuò)聲系統(tǒng)設(shè)計(jì)規(guī)范》、JGJ/T 131-2012《體育場(chǎng)館聲學(xué)設(shè)計(jì)及測(cè)量規(guī)程》對(duì)多功能類系統(tǒng)、文藝演出類系統(tǒng)、會(huì)議類系統(tǒng)、體育場(chǎng)擴(kuò)聲系統(tǒng)的擴(kuò)聲特性指標(biāo)作了規(guī)定。表2是標(biāo)準(zhǔn)對(duì)會(huì)議系統(tǒng)的擴(kuò)聲特性指標(biāo)要求。
根據(jù)各指標(biāo)參數(shù)處理結(jié)果判斷各參數(shù)達(dá)到的指標(biāo)等級(jí),取各個(gè)參數(shù)的指標(biāo)等級(jí)中最小者為該對(duì)象擴(kuò)聲特性的綜合等級(jí)。
為了能用一致的方法進(jìn)行調(diào)用,實(shí)現(xiàn)自動(dòng)判定,綜合分析各個(gè)相關(guān)的標(biāo)準(zhǔn)對(duì)各類系統(tǒng)的擴(kuò)聲特性指標(biāo)的要求,基于文本文件設(shè)計(jì)了統(tǒng)一的模型對(duì)各類系統(tǒng)的判定標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)化,圖4是部分判定標(biāo)準(zhǔn)數(shù)據(jù)模型,其中“ ”表示制表符。
圖4 部分判定標(biāo)準(zhǔn)數(shù)據(jù)模型
設(shè)計(jì)時(shí),將在軟件目錄下建立判定依據(jù)文件夾,將判定依據(jù)保存在文件中,使用一個(gè)文件保存一類系統(tǒng)的判定依據(jù),軟件啟動(dòng)時(shí),自動(dòng)識(shí)別各系統(tǒng)類型,增加到類別列表。
會(huì)議類擴(kuò)聲特性指標(biāo)要求 表2
繪圖模塊主要是提供繪制傳輸頻率特性的數(shù)據(jù)曲線圖的功能。繪制的內(nèi)容包括坐標(biāo)軸及其刻度和值、網(wǎng)格線、傳輸頻率特性曲線、達(dá)到的指標(biāo)等級(jí)的上下限界線,如圖5所示。
圖5 繪制的傳輸頻率特性曲線
繪圖功能主要使用GDI+技術(shù)實(shí)現(xiàn)。GDI+提供了各種豐富的圖形圖像處理功能;在C#.NET中,使用GDI+處理二維的圖形和圖像,使用DirectX處理三維的圖形圖像。圖形圖像處理用到的主要命名空間是System.Drawing,提供了對(duì)GDI+基本圖形功能的訪問(wèn),主要有Graphics類、Bitmap類、從Brush類繼承的類、Font類、Icon類、Image類、Pen類、Color類等。使用GDI+需要使用命名空間:using System.Drawing。
(1)畫板的創(chuàng)建
要畫圖首先要有畫板,畫板可以通過(guò)Graphics這個(gè)類來(lái)創(chuàng)建。創(chuàng)建一個(gè)畫板主要有3種方式:1)在窗體或控件的Paint事件中直接引用Graphics對(duì)象。2)利用窗體或某個(gè)控件的CreateGraphics方法。3)從繼承自圖像的任何對(duì)象創(chuàng)建Graphics對(duì)象。如在Paint事件中創(chuàng)建畫板:Graphics g=e.Graphics;使用CreateGraphics方法創(chuàng)建畫:板Graphics g=this.CreateGraphics()。
(2)畫筆的創(chuàng)建
有了畫板之后,還需要畫筆,畫筆使用Pen類定義,創(chuàng)建畫筆時(shí)可以同時(shí)指定畫筆顏色和畫筆寬度,如創(chuàng)建一支藍(lán)色、畫痕寬度為2像素的畫筆:Pen p=new Pen(Color.Blue, 2);定義畫筆的線型樣式,本軟件主要使用兩種線型:短劃虛線、長(zhǎng)短劃虛線和實(shí)線。其中,短劃虛線畫筆設(shè)定:p.DashStyle=DashStyle.Dot。長(zhǎng)短劃虛線畫筆設(shè)定:float[] dashValues={4,4,12,4}; //即短劃長(zhǎng)度為4,長(zhǎng)劃長(zhǎng)度為12,間隔是都4,p.DashPattern=dashValues;實(shí)線畫筆設(shè)定:p.DashStyle=DashStyle.Solid。
(3)圖形繪制
有了畫板和畫筆后就可進(jìn)行圖形的繪制,本軟件需要繪制的曲線圖形可以由直線、曲線(曲線可由多段直線表面)、矩形、圓和點(diǎn)(點(diǎn)可由小直徑的圓表達(dá))等圖形單元組成。
畫直線:g.DrawLine(p, 10, 10, 100, 100);//在畫板上畫直線,起始坐標(biāo)為(10,10),終點(diǎn)坐標(biāo)為(100,100)。畫矩形:g.DrawRectangle(p, 10, 10, 100, 100);//在畫板上畫矩形,起始坐標(biāo)為(10,10),寬為100,高為100。畫圓形:g.DrawEllipse(p, 10, 10, 100, 100);//在畫板上畫橢圓,起始坐標(biāo)為(10,10),外接矩形的寬為100,高為100。
該模塊提供將各參數(shù)的測(cè)量數(shù)據(jù)、處理結(jié)果、分析判定結(jié)果和曲線等寫入Word文檔形成報(bào)告;Word文檔的生成通過(guò)調(diào)用Microsoft Word 應(yīng)用程序提供的接口實(shí)現(xiàn)文檔的創(chuàng)建和數(shù)據(jù)寫入。主要函數(shù)接口如下所示。
應(yīng)用對(duì)象建立:
private Microsoft.Office.Interop.Word.Application _wordApplication;
_wordApplication=new Microsoft.Office.Interop.Word.ApplicationClass();
word對(duì)象建立:
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所示。界面分為頂部的操作區(qū)和下面的數(shù)據(jù)顯示區(qū)。操作區(qū)又分為導(dǎo)入數(shù)據(jù)、判定設(shè)置和導(dǎo)出報(bào)告三個(gè)操作區(qū)。導(dǎo)入數(shù)據(jù)區(qū)提供對(duì)各個(gè)指標(biāo)參數(shù)測(cè)量數(shù)據(jù)的導(dǎo)入操作。判定設(shè)置區(qū)提供判定標(biāo)準(zhǔn)和判定方式的設(shè)定。判定標(biāo)準(zhǔn)可以選擇判定依據(jù)的標(biāo)準(zhǔn)和系統(tǒng)類型。判定方式包括自動(dòng)和手動(dòng)判定。自動(dòng)判定模式下,軟件自動(dòng)判定系統(tǒng)能達(dá)的最高等級(jí);手動(dòng)判定模式下,需要設(shè)定等級(jí)指標(biāo),軟件自動(dòng)判定系統(tǒng)是否達(dá)到指定等級(jí)指標(biāo)要求。導(dǎo)出區(qū)提供導(dǎo)出內(nèi)容的選擇及報(bào)告導(dǎo)出操作。
圖6 軟件主界面