FIR濾波器網頁端設計利用MBFJ技術來實現

  • FIR濾波器網頁端設計利用MBFJ技術來實現已關閉評論
  • A+
所屬分類:網站建設公司

FIR濾波器網頁端設計利用MBFJ技術來實現

福州嘉藝網絡有專業的網站建設和網頁設計人員,今天就來說下網頁設計比較專業的方面,

MATLAB作為一種高級編程語言被廣泛應用于現代教學中, , 但MATLAB圖像化顯示不能脫離MATLAB軟件單獨顯示, 隨特定機器而實現。教師教學演示必須在安裝MATLAB的機器上運行相應程序, 考慮到當代智能終端的應用, 產生MATLAB圖像在網頁端顯示的想法, 脫離機器來完成演示效果, 方便教師的教學。網頁端的顯示離不開Java高級語言的編程, 查閱相關資料得到目前Java調用MATLAB程序顯示圖像的方法有三種, 分別為CORBA?(Common Object Request Broker Architecture) 技術、JNI?(Java Native Interface) 技術和MBFJ(MATLAB Builder For Java) 技術。本文以電信類學生專業核心課程數字信號處理中的FIR濾波器設計為例, 參看文獻, 來展示MATLAB圖像在網頁端顯示的實現??紤]到實驗效果與操作的簡易度, 現采用MBJF技術來實現FIR濾波器在網頁端的設計與演示。

1 Java-GUI的FIR濾波器整體設計

FIR濾波器的界面通常采用GUI來設計, GUI最大的特點就是交互性強, 可以通過相應控件的回調函數實現對應的功能;FIR濾波器的設計方法有三種, 可以采用窗函數、頻率采樣法和等紋波最佳逼近法來實現, 參看文獻[8]。通過MBFJ接口打包M文件生成的jar文件是不同語言之間共享二進制代碼標準,, 數據可通過該標準實現圖像和參數的傳遞, 故利用MBFJ技術實現Java調用MATLAB中的GUI程序, 以達到FIR濾波器的設計在網頁端的顯示,

2 Java-GUI混合編程的準備過程

2.1 JAVA-GUI實現原理

JAVA-GUI混合編程實現了MATLAB程序到網頁端的顯示, 以及網頁端參數傳遞到MAT-LAB中的互逆過程, 進而得到需要的效果圖。實現GUI與JAVA結合的步驟如下:

(1) 網頁端通過支持Java虛擬機的瀏覽器向遠程服務器提出申請訪問頁面。根據對頁面中的事件響應, 向服務器請求所需要的Java class文件。

(2) 服務器解析該文件, 返回給用戶相應的Java class文件。

(3) 傳送給系統后, 調用本地虛擬機將初始化用戶界面, 用戶按照相應的流程, 啟動本地線程, 系統向遠程服務器發送調用MATLAB功能函數的請求。

(4) 服務器運算后, 將MATLAB結果以Web Figure形式窗體返回給用戶。

(5) 用戶得到相應效果圖。

(6) 改變相關參數, 得到不同效果圖。

2.2 FIR濾波器的GUI界面設計與濾波器實現

濾波器有低通、高通、帶通和帶阻四種類型, 通帶截止頻率、阻帶截止頻率、通帶衰減和阻帶衰減等設計指標個數隨濾波器類型不同而有所不同。FIR濾波器的設計主要以理想的濾波器頻率特性為基礎, 以某種方法加以逼近, 目前廣泛使用的是窗函數法、頻率采樣法和等紋波最佳逼近法等三種方法。利用窗函數法時, 需要選擇合適窗體類型來得到想要的頻率特性;在頻率采樣法時, 需要確定合適的過渡采樣值與指定階數, 進而得到合適的頻率特性;在等紋波最佳逼近法時, 我們考慮的條件比較少, 因為該方法比較智能化, 只需要相應數字指標即可實現相應的頻率特性。

FIR濾波器的GUI界面完成后, 需要在不同的控件上添加合適的回調函數來實現相應的功能, 以達到濾波器的整體設計, M文件在MATLAB中能夠運行是實現MATLAB圖像在網頁端顯示的前提。

2.3 FIR濾波器在網頁端的實現

2.3.1 完善Filter.m文件, 建立MATLA與Java連接

只是單單MATLAB的M文件是不能網頁端顯示出MATLAB圖像的, 需要在合適的地方添加webfigure方法來實現圖像在網頁端顯示的功能。本例中需要在“設計濾波器”按鈕的回調函數中添加相應的代碼以實現圖像化在網頁端的顯示:

在function sjlbq_Callback (h Object, eventdata, handles) 函數中聲明全局變量f, 以備后面result=webfigure (f) 調用, 實現圖像從MATLAB端到網頁端的轉化。

2.3.2 打包Filter.m文件, 生成Filter.jar文件

在命令窗口輸出命令“deploytool”, 啟動Compiler窗口并選擇相應命令Library Compiler, 如圖3所示。

在Deployment Project對話框中, 編譯工程名:Filter.prj, 選擇Java Package包和EXPORTED FUNCTIONS窗口添加Filter.m文件, 點擊Package進行打包, 即可在編譯項目所在的目錄自動生成新文件夾,

3 Java-GUI混合編程的網頁實現過程

3.1 導入相應的包, 實現Java-GUI連接

通過My Eclipse開發工具編寫相應的Web工程, 在Web工程對應目錄WebRoot下新建一個test.jsp文件, 然后通過工程下的Java Build Path導入相應的Filter.jar和javabuilder.jar文件如圖5所示;將以上兩個jar文件拷貝到Web-INF\lib文件下, 同時將MATLAB軟件自帶的webfigures.tld文件拷貝到Web-INF文件夾下。

3.2 部分程序關鍵代碼

3.3 Web.xml文件的配置

Web.xml文件是一系列標準的集合, 要想達到MATLAB圖像在網頁端的顯示, 其配置文件是必不可少的。打開Web-INF\web.xml文件, 添加相應的Web Figure Servlet的配置。

4 FIR濾波器網頁端的演示

在本機服務器上, 把編寫的濾波器Web工程發布, 在任意瀏覽器中的網頁欄輸入網址http:∥localhost:8080/test.jsp即可得到濾波器設計按鈕界面頁, 點擊按鈕“FIR濾波器的設計”, 即可得到與在MATLAB中運行一致的圖像。

在缺省參數的情況下, 點擊“設計濾波器”按鈕, 即可得到在系統默認參數的情況下的效果圖, 如圖7 (a) 所示;只改變窗函數的窗體, 選擇漢寧窗, 即可得到不同的效果圖。從兩個效果圖中可以很明顯得出兩者的特征, 同時還可以在界面上得到通帶和阻帶的衰減ap和as, 實現FIR濾波器設計的多樣化, 設計不同濾波器時使得參數改變、窗口選擇更為便利和簡潔。

FIR濾波器在網頁端的顯示, 使得教師可以在移動終端演示濾波器設計的效果, 操作方便, 可脫離MATLAB軟件, 使得上課效率大大提升;學生也可以在移動終端設計濾波器與自己在MATLAB中設計的有何出入, 從而得到差異, 進而得到提高。

5 結束語

FIR濾波器網頁端設計利用MBFJ技術來實現, 關鍵點在于利用MATLAB與JAVA混合編程實現MATLAB圖像在網頁端顯示, 在網頁端界面改變FIR濾波器其中某個參數的數值、更換不同的窗口, 能在實驗結果里顯現出不同的效果圖, 實現了濾波器設計實驗的多樣化、豐富化、簡潔化, 促進了互聯網教學, 使得教師演示實驗效率大大提升。在新時代的今天改變了傳統的濾波器設計體系, 應用在教學、仿真等多個領域, 使教師大大減少了工作量, 同時也方便了學生的求同存異性, 有利于教育的發展。