ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

MATLAB Compiler™ での System Object の使用

このデモでは、MATLAB Compiler を使用して、System object による MATLAB 関数ファイルからスタンドアロン アプリケーションを作成します。

はじめに

この例では、MATLAB コンパイラを使用して、線形予測 coder MATLAB 関数ファイル dspLinearPredictiveCoderFcn.mdspLinearPredictiveCoderFcn.m をコンパイルし、生成されたスタンドアロン アプリケーションを実行します。この線形予測 coder 関数には、音声信号の LPC 解析および合成 (LPC コーディング) が含まれます。

コンパイルは、MATLAB 関数内で使用される System object でのみサポートされます。System object を使用する MATLAB スクリプトは、MATLAB コンパイラではサポートされません。

音声の LPC 解析と合成

この線形予測符号関数には、次の 2 つのステップが含まれます。解析および合成。解析では、信号から反射係数を抽出し、これを使用して残差信号を計算します。合成では、残差信号と反射係数を使用して信号を復元します。また、この関数は、LPC 係数から推定したスペクトルと信号スペクトルをプロットします。

MATLAB コードの実行

dspLinearPredictiveCoderFcn
close all;

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

MATLAB 関数をコンパイルして、スタンドアロン アプリケーションを作成するには、一時ディレクトリを使用します。コンパイルする MATLAB 関数と必要なヘルパー ファイルを、この一時ディレクトリにコピーします。

compilerDir = [tempdir 'compilerDir']; % Name of temporary directory
if ~exist(compilerDir,'dir')
    mkdir(compilerDir); % Create temporary directory
end
curdir = cd(compilerDir);
copyfile(which('dspLinearPredictiveCoderFcn'));
copyfile(which('hfigslpc'));
copyfile(which('plotlpcdata'));
copyfile(which('speech_dft.avi'));

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

mcc 関数を使用して、dspLinearPredictiveCoderFcn をスタンドアロン アプリケーションにコンパイルします。スタンドアロン アプリケーションを生成するには '-m' オプションを、パス内で '-p' オプションを使って指定したディレクトリだけを含めるには '-N' オプションを指定します。このステップは、完了するのに 2 ~ 3 分かかります。

mcc('-mN', 'dspLinearPredictiveCoderFcn', '-p', [matlabroot '/toolbox/dsp']);

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

system コマンドを使用して、生成したスタンドアロン アプリケーションを実行します。システム コマンドを使用してスタンドアロン アプリケーションを実行する場合、現在の MATLAB 環境と、MATLAB のインストールで必要なライブラリ ファイルを使用する必要があります。このアプリケーションをエンド ユーザーに配布するには、MATLAB CompilerMATLAB Compiler 製品の『ユーザー ガイド』の「配布プロセス」を参照してください。

system(['.' filesep 'dspLinearPredictiveCoderFcn']);

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

cd(curdir);
rmdir(compilerDir,'s');
この情報は役に立ちましたか?