主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

MATLAB编译器を使用したDSPアプリケ,ションの生成

この例では,MATLAB编译器™を使用して,DSP系统工具箱™の系统对象を使用するMATLAB関数からスタンドアロンアプリケーションを作成する方法を説明します。

はじめに

この例では,システム同定にRLSフィルタ,を使用する関数RLSFilterSystemIDCompilerExampleAppから開始します。MATLABCompiler を使用してこの関数から実行可能なアプリケーションを生成して実行します。このようなスタンドアロン アプリケーションを生成する利点は、MATLAB がインストールされていないシステムでもアプリケーションを実行できることです。これらに必要とされるものは MATLAB Runtime のインストールのみです。

システム同定アルゴリズム

再帰的最小二乗(rls)フィルタ,は不明なシステムの特定に使用可能な適応フィルタ,です。RLSFilterSystemIDCompilerExampleAppはRLSフィルタを使って可変カットオフ周波数をもシステムを特定します。このシステムは,dsp。VariableBandwidthFIRFilterを使って実装されるロパスfirフィルタです。RLSフィルタ,はdsp。RLSFilterを使って実装されます。

アルゴリズムと設定の詳細にいては,RLS適応フィルタ,処理を使用したシステム同定の例に従ってください。

Matlabシミュレ,ション

RLSFilterSystemIDCompilerExampleAppの動作を検証するには,matlabで関数を実行します。反復ステップの回数をオプションとして入力できます。既定値は300回の反復です。

RLSFilterSystemIDCompilerExampleApp;

制御可能な2つのパラメーターをもつユーザーインターフェイス(UI)が表示されます。

  1. 截止频率(Hz) -特定するロ,パスフィルタ,のカットオフ周波数。範囲[0,5000]Hzのスカラ.値として指定します。

  2. RLS遗忘因子——システム同定に使用するRLSフィルターの忘却係数。範囲[0,1]のスカラ.値として指定します。

シミュレションの終了後または[停止仿真]ボタンをクリックすると,これらのパラメーターに行った変更のプロットとそれがRLSフィルターの平均二乗誤差(MSE)にどのように影響を与えたかが表示されます。

コンパ@ @ル用の一時ディレクトリの作成

MATLABでの関数のシミュレーションで満足な結果が得られたら,関数をコンパイルすることができます。コンパesc escルする前に,書き込み権限のある一時ディレクトリを作成します。メインのMATLAB関数とそれに関連付けられた補助ファイルをこの一時ディレクトリにコピーします。

编译dir = fullfile(tempdir,“compilerDir”);%临时目录名称如果~存在(compilerDir“dir”mkdir (compilerDir);创建临时目录结束curDir = cd(编译dir);拷贝文件((“RLSFilterSystemIDCompilerExampleApp”));拷贝文件((“HelperRLSFilterSystemIdentificationSim”));拷贝文件((“HelperCreateParamTuningUI”));拷贝文件((“HelperUnpackUIData”));

スタンドアロンアプリケションへのmatlab関数のコンパル

作成した一時ディレクトリで,matlab関数RLSFilterSystemIDCompilerExampleAppに対して世纪挑战集团(MATLAB编译器)コマンドを実行します。世纪挑战集团によって起動されるMATLAB编译器がMATLAB関数をスタンドアロン実行可能ファイルとしてコンパイルし,現在のディレクトリに保存します。RLSFilterSystemIDCompilerExampleAppをスタンドアロンアプリケションにコンパルするには,MATLAB编译器から関数世纪挑战集团(MATLAB编译器)を使用します。スタンドアロンアプリケーションを生成するには- m的オプションを,“p”オプションを使って指定したパスのディレクトリのみを含めるには' n 'オプションを指定します。

世纪挑战集团(“锰”“RLSFilterSystemIDCompilerExampleApp”...“p”fullfile (matlabroot“工具箱”“dsp”));
编译器许可证。生成的应用程序将于今天起30天内到期,即2020年8月10日星期一18:05:54。

このステップは,完了するのに2 ~ 3分かかります。

配布アプリケ,ションの実行

系统コマンドを使用して,生成したスタンドアロンアプリケ,ションを実行します。システムコマンドを使用してスタンドアロンアプリケーションを実行する場合,現在のMATLAB環境と,MATLABのインストールで必要なライブラリファイルを使用する必要があります。MatlabがMATLAB运行时(MATLAB编译器)を参照してください。

如果Ismac状态= system(fullfile(“RLSFilterSystemIDCompilerExampleApp.app”...“内容”“MacOS”“RLSFilterSystemIDCompilerExampleApp”));其他的Status = system(fullfile(pwd,“RLSFilterSystemIDCompilerExampleApp”));结束
dyld:库未加载:@rpath/libmwlaunchermain。引用自:/private/var/folders/dc/482hqt1x0_g33cty0z3_8v20000_8y/T/compilerDir/RLSFilterSystemIDCompilerExampleApp。app/Contents/MacOS/RLSFilterSystemIDCompilerExampleApp原因:image not found RLSFilterSystemIDCompilerExampleApp。应用程序/内容/ MacOS / RLSFilterSystemIDCompilerExampleApp:中止

Matlabの例RLS適応フィルタ,処理を使用したシステム同定と同様に,この実行可能アプリケ,ションを実行するとUIも起動されます。UIではパラメ,タ,を調整でき,結果はシミュレ,ションにすぐに反映されます。たとえば,シミュレ,ションの実行中にカットオフ周波数(Hz)のスラ。カットオフ周波数のプロットの減少と,対応する変動がRLSフィルタ,のmseで見られます。UIのボタンを使用すると,シミュレ,ションを一時停止または停止できます。

生成ファ▪▪ルのクリ▪▪ンアップ

実行可能ファイルの生成と配布後,MATLABコマンドプロンプトで以下を実行して一時ディレクトリをクリーンアップできます。

cd (curDir);删除目录(compilerDir“年代”);