主要内容

このページの翻訳は最新ではありませ。

rls适応适応制剂を使たた同定

この例ではRLS(再帰的最小二乗)フィルターを使用してローパス冷杉フィルターでモデル化した未知のシステムを同定する方法を説明します。動的フィルター可視化ツールを使用して,未知のシステムと推定システムの周波数応答を比較します。この例ではUI(ユーザーインターフェイス)を使用して主要なシミュレーションパラメーターを動的に調整できます。また,MATLAB编码器を使用してアルゴリズムのコードを生成し,実行速度を加速する方法も説明します。

必要なmathworks™制品:

  • DSP System Toolbox™

オプションのmathworks™制品:

  • MATLABシミュレーションシミュレーションからののの生成に使用するMATLAB CODER™

  • 金宝app仿真软件バージョンの例を実行するための仿真软件™

はじめに

适応システム同定は适応フィルター处理の主なアプリケーションの1つです。この例では,RLSフィルターを使用したシステム同定について绍介します。以下にこの例のワークフローを示します。

未知のシステムシステムはローパスれていますますいいとと入同じに同じ入入を渡し渡しに同じ入は渡し渡します同じ同じ入は渡しにい同じ入モデルはいいいでモデルでででいでででシステムシステムローパスますのででシステムシステムローパスますてででのますますますますいいますますてますますますますいますますのます未知未知未知ローパスローパスローパスローパスローパスローパスローパス未知ローパスローパスローパスのローパスますますますますいでいいていいいますいいいいいますいいと入入入入同じ同じ入入渡し渡し同じ同じ入入は渡しい同じ同じ入ははい同じ同じ入ははますい同じ同じ入は渡しですです同じのシステムシステムのですです同じのシステムシステムののです同じ同じのシステムシステムののです同じためのシステムシステムシステムですですですためののシステムシステムシステムですですですためためのシステムシステムシステムですです同じためののシステムシステム入ですですためためためシステムシステムシステム入ですですためためためのシステムシステムシステムですですですためのののに收束します.rlsフィルターおよびfIRフィルターフィルター函数は,望ましい望ましい数量および推定さたた応答可化ためにフィルター可化ツールされ.rlsフィルターフィルターのの曲曲习习习习习习习曲习曲曲曲曲(平坦二乘误差)を时空

调整可能な冷杉フィルター

この例で使用するローパス冷杉フィルターはdsp.variaseBandWidthfirfilter.System对象をを用してててて化いいいいます。このこのオブジェクトの详细についてははしオフ周波わはは対応オフ周波われはにてのわについてはは対応オフ周波わについてはにオフ详细dsp.variaseBandWidthfirfilter.“と入力して表示することができます。

matlabシミュレーション

Helperrlsfiltersystemiderifiedim.[

关节有关部rlsfiltersystemidexampleapp.Helperrlsfiltersystemiderifiedim.をラップアラウンドして缲り返し呼び出し,未同定のFIRシステムに対する连続的な适応を提供します。dsp.dynamicfiltervisualizerを使用すると,アプリケーションでは以下もプロットされます。

  1. 目标目标周波数达达关关数と推定の数达达关数

  2. rlsフィルターの学习曲线

[Plotresults]入力が[真实]

Rlsfiltersystemidexampleappを実行してシミュレーションを実行し,結果をスコープにプロットします。シミュレーションはユーザーが明示的に停止するまで実行し続けることに注意してください。

以下のプロットは,上記のシミュレーションをタイムステップ100回実行した場合の出力です。

上のプロットでは,RLSフィルターが冷杉フィルターに急速に収束するのを見ることができます。

RLSFilterSystemIDExampleAppはシミュレーションを対話的に実行するように設計されたUI(ユーザーインターフェイス)を起動します。UIではパラメーターを調整でき,結果はシミュレーションにすぐに反映されます。たとえば,シミュレーションの実行中に(截止频率)のスライダーを右に動かすと,冷杉フィルターのカットオフ周波数が大きくなります。同様に,RLS遗忘因子のスライダーを動かすと,RLSフィルターの忘却係数が調整されます。これらのパラメーターを調整すると,変更がプロットに反映されます。UIの詳細は,HelperCreateParamTuningUIを参照してください。

また,uiには[重置]と[停止仿真]という2つのボタンがあります。[重置]ボタンはrlsフィルターとfirフィルターの状态を初値にし,[停止仿真]ボタンはシミュレーションを终了しします.rlsフィルターフィルター忘却忘却のを小さくしすぎる,予想されるようすぎる,rフィルターは目标の解收束ようなくなります收束收束するにには,忘却するようには,忘却忘却ををはな忘却大声し,[重置]ボタンをクリックします。uiには,シミュレーションの制御に使使すると,オプションで以以にに说するシミュレーションコードからから生されたシミュレーションファイルから生からファイルファイルファイルファイルファイルファイルファイルファイルファイルファイルファイルファイルファイルファイルファイルファイルファイルファイルファイルファイルファイルものがあります.MIDIコントローラーがある场合は,UIと同期することができます。このためには,スライダーまたはボタンを右クリックすると表示されるダイアログでMIDIコントロールを选択し,コンテキストメニューから “同步” を

Mexファイルの生成

MATLAB编码器をを用词相关数Helperrlsfiltersystemiderifiedim.ののを生成するももます。

curdir = pwd;%存储当前目录地址mexDir = [tempdir'rlsfiltersystemiderificationexamplemexdir'];%的名字%临时目录如果〜存在(Mexdir,“dir”)MKDIR(MEXDIR);%创建临时目录结尾cd (mexDir);%更改目录paramstruct = helperrlscodegeneration();
代码成功:要查看报告,请打开('codegen / mex / helperrlsfiltersystemiderationim / html / export.mldatx')。

“真正的”を函数として使使用ししラッパー关联rlsfiltersystemidexampleapp.を呼び出すと,シミュレーションでHelperrlsfiltersystemiderifiedim.のの代わり生成したmexファイルHelperRLSFilterSystemIdentificationSimMEXを使でます。このこのでで,uiはmatlab环境の内部ででてしてますますが,主要主要な处アルゴリズムmexファイルによって実されています。

“真正的”を引数としてrlsfiltersystemidexampleapp.を呼び出し,シミュレーションに墨西哥人ファイルを使用するには,ここをクリックしてください。ここここも,シミュレーションはuiで明显的に停止まで実行。

シミュレーションシミュレーションmexの速度の比较

MEXファイルを作品成する,シミュレーションの実行时间が短缩れるれることがありますます。

清晰的Helperrlsfiltersystemiderifiedim.DISP(“运行MATLAB代码……”)Tic ntimesteps = 100;为了IND = 1:Ntimesteps Helperrlsfiltersystemiderified(paramstruct);结尾tmatlab = toc;
运行matlab代码...

次に,対応するMEXファイルを実行して结果を表示します。

清晰的Helperrlsfiltersystemiderifiedim.DISP('运行mex-file ...')Tic.为了IND = 1:ntimesteps Helperrlsfiltersystemiderifiedimmex(paramstruct);结尾tmex = toc;DISP(的结果:)disp(['运行MATLAB系统对象的时间:',num2str(tmatlab),......'秒']);DISP(['运行mex文件的时间:',num2str(tmex),'秒']);DISP(['加速了一个因素',num2str(tmatlab / tmex),......'通过创建MEX文件来实现]);
运行MEX文件...结果:运行MATLAB系统的时间

生成ファイルファイルのクリーン

以前に作物成したディレクトリ,次のようにして削除ます。

cd (currDir);清晰的HelperRLSFilterSystemIdentificationSimMEX;删除目录(mexDirs);

金宝appsimulinkバージョン

rlsfiltersysteatientificationは,前の節で説明したRLSのシステム同定の例を実装する仿真软金宝app件モデルです。

このモデルでは,可变带宽FIR滤波器ブロックブロック使使てローパスローパスローパスローパスフィルターがモデルモデルれれれdsp.dynamicfiltervisualizerを使用して,振幅応答の可視化が実行されます。

系统识别サブサブをダブルクリックてて,金宝appSIMULINKモデルと连携するに设计されたマスクをします。フィルター

モデルのシミュレーションを実行すると,コードが生成されます。したがって,書き込み権限のあるフォルダーから実行する必要があります。