フィルターのクリア

simulinkを離散時間で計算したい

9 ビュー (過去 30 日間)
fractal
fractal 2018 年 12 月 8 日
コメント済み: fractal 2018 年 12 月 11 日
ソース信号にローパスをフィルタをかけてオーディオ出力として出力したいのですが、できません。
Audio System SourceのFromMultimediaFileを入力、出力にAudio Device Writeをしています。
その間にsimscapeのElectrical Elementsで作ったローパスフィルタを挟んでいます。
これで実行した場合AudioDeviceの入力が連続時間なっているため、実行することができません。
モデルの離散化というのも試したのですが、エラーがでてできませんでした。
どのように直したらいいでしょうか
エラー内容
Error in 'audio_test/Audio Device Writer': The block input must have a discrete sample time.

採用された回答

Naoya
Naoya 2018 年 12 月 10 日
Audio Device Writerブロックは エラーメッセージの通り、離散時間信号のみを受け付けます。
そのため、下記キャプチャ例のように、 Zero-order Hold ブロックで適当なサンプリング時間(例えば 1/8000 sec)を挿入して、離散信号としてください。
また、Audio Device Writerブロックで再生する場合、信号を一旦 バッファしないと再生が処理に追従できない場合があります。併せて、 Bufferブロック (DSP System Toolbox > Signal Management > Buffers > Bufferブロック) を挿入してみてください。 (Bufferブロックのバッファサイズはこちらも適宜設定します。例:256 サンプル)
capture.png
  2 件のコメント
fractal
fractal 2018 年 12 月 11 日
Naoya様
ご回答ありがとうございます。
ご指摘いただいた通りの構成にしたところ正常にAudioDeviceからSin波を出力することに成功しました。
ありがとうございます
fractal
fractal 2018 年 12 月 11 日
Naoya様の助言を基にソースがオーディオファイルの場合でも成功しました。
図のような構成にしてサンプル時間を適切な値で統一したら出来ました。
ありがとうございました。
スクリーンショット 2018-12-11 13.15.35.jpg

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange基礎となるドメイン についてさらに検索

製品


リリース

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!