函式波形的形成

2021-07-29 18:12:39 字數 2247 閱讀 4060

一、labview介紹

labview (laboratory virtual instrument engineeringworkbench,實驗室虛擬儀器整合環境)是乙個基於g(graphic)語言的圖形程式設計開發環境,在工業界和學術界中廣泛用作開發資料採集系統、儀器控制軟體和分析軟體的標準語言,對於科學研究和工程應用來說是很理想的語言。它含有種類豐富的函式庫,科學家和工程師們利用它可以方便靈活地搭建功能強大的測試系統。labview程式語言最主要的兩個特點是圖形化程式設計和資料流驅動:

1.圖形化程式設計

labview與visual c++、visual basic、labwindows/cvi等程式語言不同,後幾種都是基於文字的語言,而labview則是使用圖形化程式語言g語言,用框圖代替了傳統的程式**,程式設計的過程即是使用圖形符號表達程式行為的過程,源**不是文字而是框圖。乙個vi有三個主要部分組成:框圖、前面板和圖示/聯結器。框圖是程式**的圖形表示。

labview的框圖中使用了豐富的裝置和模組圖示,與科學家、工程師們習慣的大部分圖示基本一致,這使得程式設計過程和思維過程非常的相似。多樣化的圖示和豐富的色彩也給使用者帶來不一樣的體驗和樂趣。

前面板是vi的互動式使用者介面,外觀和功能都類似於傳統儀器面板,使用者的輸入資料通過前面板傳遞給框圖,計算和分析結果也在前面板上以數字、圖形、**等各種不同方式顯示出來。

圖示是vi的圖形符號,聯結器則用來定義輸入和輸出,每乙個vi都有圖示和聯結器。使用者要做的工作就是恰當地設定引數,並連線各個子vi。程式設計一般步驟就是使用滑鼠選取合適的模組、連線和設定引數的過程,與煩瑣枯燥的文字程式設計相比更為簡單、生動和直觀。               

如果將虛擬儀器與傳統儀器作一模擬,前面板就像是儀器的操作和顯示面板,提供各種引數的設定和資料的顯示,框圖就像是儀器內部的印刷電路板,是儀器的核心部分,對使用者來講是透明的,而圖示和聯結器可以比作電路板上的電子元器件和積體電路,保證了儀器正常的邏輯和運算功能。

2.資料流驅動

巨集觀上講,labview的執行機制已不再是傳統上的馮·諾伊曼式計算機體系結構的執行方式了。傳統計算機語言(如c語言)中的順序執行結構在labview中被並行機制所代替。本質上講它是一種帶有圖形控制流結構的資料流模式,程式中的每乙個函式節點只有在獲得它的全部輸入資料後才能夠被執行。既然labview程式是資料流驅動的,資料流程式設計規定,乙個目標只有當它的所有輸入有效時才能夠被執行;而目標的輸出只有當它的功能完全時才是有效的。於是labview中被連線的函式節點之間的資料流控制著程式的執行次序,而不像文字程式那樣受到行順序執行的約束。我們可以通過相互連線函式節點簡潔高效地開發應用程式,還可以有多個資料通道同步執行,即所謂的多執行緒。

在labview中單擊加亮執行(highlight execution)按鈕,即可以動畫方式演示框圖的執行過程,可以觀察到資料流流動的方式,資料以有色小圓點表示,在各種不同顏色(代表不同資料型別)的連線上流動。

二、 任意波形發生器的設計

1.小組任務分配

一:基本波形源程式設計:正弦波、方波、鋸齒波、三角波。

二:自定義波形和停止模組設計。

三 程式前面板總體的設計和程式除錯。

2.儀器功能描述

本儀器功能主要包括四類基本函式訊號一——正弦波、方波、三角波、鋸齒波的輸出和通過函式輸出產生任意波形。

3.任意波形發生器發生器的前面板

本任意波形發生器的前面板主要由以下幾個部分構成:頻率控制,波形選擇,偏移量控制、相位控制、輸出波形幅度控制按鈕。

圖2.1  函式訊號發生器的前面板

4.任意波形發生器的程式框圖構成

圖2.2 任意波形發生器的程式框圖

5.波形產生設計

波形產生模組是任意波形發生器軟體的核心。利用該模組可實現正弦波、方波、鋸齒波、三角波等波形。通過在波形型別選擇輸入正弦波、方波、鋸齒波、三角波可以顯示函式波形,同時通過自定義函式輸入可以顯示函式波形。

正弦波源程式如圖2.3所示:

圖2.3 正弦波源程式框圖

可以通過介面的頻率選型修改頻率大小,通過幅值修改輸出幅值大小,其執行程式如圖2.4所示:

圖2.4 正弦波執行圖

方波源程式如圖2.5所示:

圖2.5 方波源程式框圖

圖2.6 方波執行圖

鋸齒波源程式如圖2.7所示:

圖2.7 鋸齒波源程式框圖

圖2.8 鋸齒波執行圖

三角波源程式如圖2.9所示:

圖2.9 三角波源程式框圖

圖2.10 三角波執行圖

在自定義框中輸入函式,執行的波形如圖2.11所示:

圖2.11 函式sin(w*t)*sin(2*pi(1)*t)的波形執行圖

stm32 PWM波形輸出多週期的波形設計

一 stm32如何實現乙個pwm波形內具有2個週期 答 在不需要波形輸出時關閉gpiof使能 或者開個定時器定時觸發pwm使能 實現波形設計為 1 pwm.c和pwm.h include pwm.h include led.h include usart.h tim14 pwm部分初始化 pwm輸出...

音訊常見的波形編碼

g.711是一種由國際電信聯盟 itu t 訂定音訊編碼方式,又稱為itu t g.711。g.711使用64kbps的頻寬,可將14bits轉換成8bits。目前g.711有兩個編碼方式 一種是u law又稱mu law,主要運用於北美和日本 另一種是a law,主要運用於歐洲和世界其他地區。其中...

三角函式形成簡單的波浪

定義canvas var canvas document.getelementbyid canvas var context canvas.getcontext 2d var a 1 弧度 var b 1 弧度正反的按鈕 setinterval function else if a 10 弧度範圍 ...