メインコンテンツ

step

R2026b

時変振幅応答の表示

説明

step(dfv,filt) は、オブジェクト フィルター filt に freqz() の有効な実装がある場合に、filt の時変振幅応答を動的フィルター ビジュアライザーの Figure に表示します。

例

step(dfv,B,A) は、分子と分母の多項式係数が B1 と A1、B2 と A2、...、BN と AN にそれぞれ格納されたデジタル フィルターの振幅応答を表示します。

例

例

すべて折りたたむ

時変振幅応答と位相応答をもつ FIR フィルターを設計します。この応答の変化を、正規化周波数単位で、動的フィルター ビジュアライザー上にプロットします。

dsp.DynamicFilterVisualizer オブジェクトを作成します。PlotAsMagnitudePhase プロパティと NormalizedFrequency プロパティを true に設定します。

dfv = dsp.DynamicFilterVisualizer(PlotAsMagnitudePhase=1,...
    NormalizedFrequency=true,ShowLegend=true,...
    Title="Magnitude and Phase Response",...
    FilterNames="FIR Filter")
dfv = 
  dsp.DynamicFilterVisualizer handle with properties:

      NumFrequencyPoints: 2048
     NormalizedFrequency: 1
          FrequencyRange: [0 1]
                  XScale: 'Linear'
        MagnitudeDisplay: 'Magnitude (dB)'
    PlotAsMagnitudePhase: 1
             AxesScaling: 'Auto'

  Show all properties

FIR フィルターのカットオフ周波数 k を 0.1 から 0.5 まで 0.001 ずつ変化させます。動的フィルター ビジュアライザーを使用して振幅応答と位相応答の変化を表示します。

for k = 0.1:0.001:0.5
    b = designLowpassFIR(FilterOrder=90,CutoffFrequency=k);
    dfv(b,1);
end

動的フィルター ビジュアライザーを使用して、可変帯域幅 FIR フィルターの振幅応答の変化を可視化します。

dsp.DynamicFilterVisualizer オブジェクトを作成します。

dfv = dsp.DynamicFilterVisualizer(YLimits=[-160 10],...
    FilterNames="Variable Bandwidth FIR Filter")
dfv = 
  dsp.DynamicFilterVisualizer handle with properties:

      NumFrequencyPoints: 2048
     NormalizedFrequency: 0
              SampleRate: 44100
          FrequencyRange: [0 22050]
                  XScale: 'Linear'
        MagnitudeDisplay: 'Magnitude (dB)'
    PlotAsMagnitudePhase: 0
             AxesScaling: 'Manual'

  Show all properties

中心周波数が 5 kHz、帯域幅が 4 kHz のバンドパス可変帯域幅 FIR フィルターを設計します。

Fs = 44100;
vbw = dsp.VariableBandwidthFIRFilter(FilterType="Bandpass",...
    FilterOrder=100,...
    SampleRate=Fs,...
    CenterFrequency=5e3,...
    Bandwidth=4e3);

フィルターの中心周波数を変化させます。dsp.DynamicFilterVisualizer オブジェクトを使用して、フィルターの振幅応答の変化を可視化します。

for idx  = 1:100
    dfv(vbw);
    vbw.CenterFrequency = vbw.CenterFrequency + 20;
end

入力引数

すべて折りたたむ

動的フィルター ビジュアライザー。dsp.DynamicFilterVisualizer オブジェクトとして指定します。

freqz() の有効な実装をもつフィルター System object。

分子多項式係数。行ベクトルとして指定します。

データ型: single | double

分母多項式係数。次のいずれかとして指定します。

  • スカラー –– フィルターが FIR フィルター。

  • 行ベクトル –– フィルターが IIR フィルター。

データ型: single | double

バージョン履歴

R2018b で導入

参考

関数

オブジェクト