freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)之-labview數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)(編輯修改稿)

2025-01-07 08:20 本頁面
 

【文章內(nèi)容簡介】 rinciple of microphone 如圖 32 所 示,此原理圖表示將聲波轉(zhuǎn)換成為電信號的過程,輸出為模擬量。接下來聲音由聲卡進(jìn)行模數(shù)轉(zhuǎn)換,再由南橋傳送給 CPU 進(jìn)行 DSP 處理。數(shù)據(jù)處理完成后,再經(jīng)同樣的路徑傳回聲卡進(jìn)行數(shù)模轉(zhuǎn)換。如圖 33 所示。 圖 33 聲卡硬件原理圖 Fig. 33 The principle chart of audio card 軟件設(shè)計(jì) 而 LabVIEW 函數(shù)庫中的子函數(shù)中,位于 ALL FUNCTIONS 目錄下的 Graphics amp。 sound下的 sound 下的 sound input 中,有關(guān)于聲卡采集數(shù)據(jù)的函數(shù),如 SI CONFIG, SI START, SI READ, SI STOP, SI CLEAR 等函數(shù)。分別對聲卡進(jìn)行音頻采集配置,啟動音頻采集,讀取音頻數(shù)據(jù),停止音頻采集,清空緩存數(shù)據(jù)。如圖 35 所示。 圖 35 聲音輸入程序 Fig. 35 Sound input Vis 下面就開始音頻數(shù)據(jù)采集的軟件設(shè)計(jì)。如圖 36 所示。 圖 36 SI CONFIG 的配置程序 Fig. 36 The config program of SI CONFIG 我們先來找到 SI CONFIG 子程序,這個函數(shù)用來對聲音設(shè)備( 也就是本文中的聲卡)進(jìn)行配置。只有經(jīng)過配置后,聲音數(shù)據(jù)才能被 SI START, SI READ 等程序調(diào)用從而進(jìn)行數(shù)據(jù)的傳輸。如圖 37 所示。 圖 37 SI CONFIG VIs 函數(shù) Fig. 37 SI CONFIG VIs 其中 device 用來對設(shè)備號進(jìn)行配置,格式為 U32,即無符號長整型。一般情況下,大多數(shù)用戶在此取默認(rèn)值 0。 Sound format 用來界定音頻采集的參數(shù),如單聲道還是立體聲、采樣的速率、模數(shù)轉(zhuǎn)換的位數(shù)(精度),其格式為簇。在圖 38 中,顯示了本文中聲音數(shù)據(jù)采集的格式:立體 聲、 44100s/s 的采樣率, 16 位的模數(shù)轉(zhuǎn)換精度。 圖 38 sound format 格式簇 Fig. 38 sound format cluster Buffer size 確定了數(shù)據(jù)采集所使用的緩存大小,也就是說,只有和緩存一樣大的數(shù)據(jù)才能同時顯示出來。隨著時間的推移,前次緩存里的數(shù)據(jù)會被清空,新的數(shù)據(jù)會進(jìn)來。格式為無符號長整型,默認(rèn)值為 8192 位。如果提示溢出錯誤,則將此值設(shè)置大一點(diǎn)。 Error in 與 error out 界定了錯誤顯示的條件與錯誤顯示的方式。格式為簇。 Task ID out 返回 一個與設(shè)備配置號相協(xié)調(diào)的值,并且這個值可以被傳遞給相關(guān)音頻采集輸入函數(shù)。其格式為無符號長整型。 SI CONFIG 的端口被一一了解后,我們就開始進(jìn)行配置。如圖 38 所示,緩存、音頻采集參數(shù)已經(jīng)設(shè)置好,其它值均取默認(rèn)值。 這段程序表明了音頻采集的初始配置:也就是當(dāng)程序開始執(zhí)行時,聲卡將按照這個指令執(zhí)行指定的采樣。注意音頻采集參數(shù)簇一邊輸送給 SI config 值,還有一路要經(jīng)過一個解簇函數(shù)( unbundle),將采樣率分解出來,輸送給一個 case 函數(shù)。那么接下來我們要明確這個 case 函數(shù)在這里起什么作用。 圖 39 分支列表 Fig. 39 Case list 一個顯而易見的情況是,我們的音頻采集參數(shù)設(shè)定簇內(nèi)的三個元素并非數(shù)值型,而是枚舉類型( enum),那么經(jīng)過解簇函數(shù)輸出的值為一個枚舉類型的數(shù)據(jù),它并不能直接進(jìn)入循環(huán)結(jié)構(gòu)去參與運(yùn)算,而必須把它轉(zhuǎn)換成數(shù)值型。而 case 函數(shù)的選擇器端口為字符串型或枚舉類型時, case 結(jié)構(gòu)的圖框表示符的值為由雙引號括起來的字符串。注意這里是字符串。那么當(dāng)解簇函數(shù)輸出一個采樣率的枚舉時,例如 44100,它對應(yīng) case 中的字符串” 44100”,如圖 39 所示,而這是 case 結(jié)構(gòu)中的 子函數(shù)為數(shù)值型的 44100 控件,這樣就把采樣率轉(zhuǎn)換為數(shù)值型參與到后面的運(yùn)算中了。 圖 310 SI Read 函數(shù) Fig. 310 SI Read function 如圖 310 所示,接下來就要依靠 SI Read 函數(shù)來讀取聲卡采集過來的數(shù)據(jù)了。 SI Read 函數(shù)直接讀取緩存 (buffer)里的數(shù)據(jù),如果緩存中已經(jīng)有數(shù)據(jù)的話,它就會返回給 SI Read,如果緩存里還沒有到達(dá)數(shù)據(jù)的話,那么 SI Read 一直會等,直到緩存里有了數(shù)據(jù)。如果緩存產(chǎn)生溢出的話,那么 SI Read 就會輸出錯誤信息。我們再仔細(xì)觀察一 下 SI Read 函數(shù)的端口定義,如圖 311 所示。 Task id in 應(yīng)為 SI CONFIG 設(shè)置的音頻采集設(shè)備號。為數(shù)值型。 另外此文中選取 stereo 16bit 為輸出音頻數(shù)據(jù)類型。在圖 310 中,我們可以看到 stereo 16bit 端口輸出的音頻數(shù)據(jù)到達(dá)一個索引數(shù)組函數(shù)( index array)。下面再簡要介紹一下索引數(shù)組函數(shù)。如圖 312 所示。索引數(shù)組函數(shù)用 圖 311 SI Read 函數(shù)端口 Fig. 311 SI Read function port 于訪問數(shù)組中指定位置的元素。索引數(shù)組函數(shù)剛放入框圖程序時,只有一個 index輸入端口,連接到一位數(shù)組時,仍是一個 index 輸入端口;給這個端口連接一個索引值時, element 參數(shù)就會輸出該索引值對應(yīng)的數(shù)據(jù)。 而當(dāng)連接二維數(shù)組函數(shù)時,它的索引端口自動變?yōu)?2 個,上面一個是行索引index(row),下面一行是列索引 index(col)。列索引默認(rèn)為不索引,所以端口形狀是空心的。如果二維數(shù)組有一項(xiàng)不索引,那么二維數(shù)組只能索引出一維數(shù)組。相應(yīng)的輸出參數(shù)也變?yōu)?sunarray。 圖 312 索引數(shù)組函數(shù) Fig. 312 index array function 這樣就明白,經(jīng)過索引數(shù)組函數(shù)輸出的量可以是一個元素,也可以是一個子數(shù)組。 在圖 310 中, SI Read 輸出的數(shù)據(jù)連接到了索引數(shù)組函數(shù)的 n 維數(shù)組端口上。這也從一個側(cè)面說明 SI Read 輸出的是一個數(shù)組型數(shù)據(jù),經(jīng)過進(jìn)一步分析可以得知是一個二維數(shù)組。為什么呢?這正是聲卡提供的左右兩個聲道的數(shù)據(jù)。因此構(gòu)成了二維數(shù)組。 圖 310 中,這個二維數(shù)組被索引數(shù)組函數(shù)兩次索引,分別輸出左聲道和右聲道的聲音數(shù)據(jù)。圖 313 就是本次試驗(yàn)中獲得的聲音波形圖,我們可以很清楚的看到左右聲道兩個波形的數(shù)據(jù)。經(jīng)過索引出來的數(shù)據(jù)分別進(jìn)入后續(xù)程序進(jìn)行處理。我們先分析從其中一個聲道輸出的數(shù)據(jù)。如圖 314 所示。 從索引數(shù)組函數(shù)的子數(shù)組端口出來的數(shù)據(jù)進(jìn)入除法器進(jìn)行初步運(yùn)算,被除以 1000后進(jìn)入下一個除法器,除數(shù)為電壓標(biāo)定 L。如圖 314 所示。前面板如圖 315 所示。電壓標(biāo)定 L 取值為 10,每增大一倍,最終的信號輸出幅值將會縮小一倍。接下來經(jīng)過除法運(yùn)算后的數(shù)據(jù)信息將會進(jìn)入 Build waveform(建立波形)函數(shù),如圖 316所示。下一面簡要介紹一下 Build waveform(建立波形)函數(shù)。 Build waveform(建立波形)函數(shù)如圖 317 所示。其作用是建立新的波形或者是對已存在的波形進(jìn)行修改。觀察一下圖 317 所示的 Build waveform(建 立波形)函數(shù)的端口,其中 waveform 端口是一列波的輸入口,如果此端口不連接的話,這個函數(shù)將會根據(jù)下面的 waveform ponent 端口輸入的信息新建一個波形。另外 t0 端口為生成波的起始時間, dt 為兩采樣點(diǎn)之間的間隔時間。如果 dt越小的話,生成的波將會越逼真,越細(xì)膩,越精確。而 Y 值則代表了生成 波形的幅值大小。 圖 313 聲 音波形 Fig. 313 sound wave 圖 314 程序的運(yùn)算部分 Fig. 314 the calculated part of program 圖 315 圖 314 的前面板 Fig. 315 the panel of the fig. 314 圖 316 建立波形函數(shù) Fig. 316 Build waveform function 圖 317 建立波形函數(shù) Fig. 317 Build waveform function 而在圖 317 中,此 Y 值正是聲 卡采集過來的數(shù)據(jù)經(jīng)過兩次除法運(yùn)算獲得的。所以這也就表明了,生成波形的幅值大小反映了聲音的強(qiáng)弱。我們再看看圖 318,我們可以看到 dt 的輸入。我們看到它來自采樣率的大小,也就是說,采樣率越大,經(jīng)過倒數(shù)運(yùn)算,輸出越小,而 dt 越小,采樣生成的波形就越細(xì)膩。這是同采樣率增大相對應(yīng)的。圖中所示的結(jié)果為每秒中采集 44100 個點(diǎn),相應(yīng)的生成的波形每秒也有 44100 個點(diǎn),這也是聲卡采樣所能達(dá)到的極限。再看起始時間 t0 的輸入,它由一個數(shù)值型的控件或常數(shù)經(jīng)過一個 to time stamp 函數(shù)轉(zhuǎn)換為時間型的數(shù)據(jù)。 綜合以上分析, 它表明這個 build waveform 函數(shù)生成的波形將能大致顯現(xiàn)聲音的相關(guān)參數(shù)。 接下來生成的波形將進(jìn)入一個加法器,同標(biāo)簽為左聲道的一個數(shù)值型控件相加,如圖 320 所示。而圖 319 所示的前面板控件則展現(xiàn)的它的作用。通過左聲道的旋鈕作用,來調(diào)節(jié)加法器另一端輸入的大小。從而可以在示波顯示屏幕上調(diào)節(jié)波形的大小,
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1