이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

FVTool

필터 시각화 툴

설명

필터 시각화 툴은 필터의 크기, 위상 응답, 군지연, 임펄스 응답, 계단 응답, 극점-영점 플롯, 계수를 표시하도록 해주는 대화형 툴입니다. 파일 > 내보내기를 사용하여 표시된 응답을 파일로 내보낼 수 있습니다.

DSP System Toolbox™ 제품이 설치된 경우 FVTool은 필터 System object™의 주파수 응답을 시각화할 수도 있습니다. 스트리밍 데이터를 실시간으로 필터링해야 하는 경우 System Object를 사용하는 것이 좋습니다. 자세한 내용은 fvtool 항목을 참조하십시오.

FVTool 열기

프로그래밍 방식 사용에 설명된 방법 중 하나를 사용하여 프로그래밍 방식으로 FVTool을 열 수 있습니다.

예제

모두 확장

6차 타원 필터의 크기 응답을 표시합니다. 통과대역 리플을 3dB로, 저지대역 감쇠량을 50dB로, 샘플 레이트를 1kHz로, 정규화된 통과대역 경계를 300Hz로 지정합니다. 명령줄에서 FVTool을 시작합니다.

[b,a] = ellip(6,3,50,300/500);
fvtool(b,a)

명령줄에서 FVTool을 시작하여 여러 개의 FIR 필터를 표시하고 분석합니다.

b1 = firpm(20,[0 0.4 0.5 1],[1 1 0 0]); 
b2 = firpm(40,[0 0.4 0.5 1],[1 1 0 0]); 
fvtool(b1,1,b2,1)

분석 > 분석 파라미터를 선택하여 연결된 분석 파라미터를 표시합니다.

.

명령줄에서 FVTool을 시작합니다. 6차 타원 필터의 크기 응답을 표시합니다. 통과대역 리플을 3dB로, 저지대역 감쇠량을 50dB로, 샘플 레이트를 1kHz로, 정규화된 통과대역 경계를 300Hz로 지정합니다.

[b,a] = ellip(6,3,50,300/500);
h = fvtool(b,a)

h = 
  Figure (filtervisualizationtool) with properties:

      Number: 1
        Name: 'Filter Visualization Tool - Magnitude Response (dB)'
       Color: [0.9400 0.9400 0.9400]
    Position: [346.5000 282.5000 583 437]
       Units: 'pixels'

  Use get to show all properties

필터의 위상 응답을 표시합니다.

h.Analysis = 'phase'

h = 
  Figure (filtervisualizationtool) with properties:

      Number: 1
        Name: 'Filter Visualization Tool - Phase Response'
       Color: [0.9400 0.9400 0.9400]
    Position: [346.5000 282.5000 583 437]
       Units: 'pixels'

  Use get to show all properties

플롯 범례를 활성화하고 텍스트를 추가합니다.

legend(h,'Phase plot')

샘플 레이트를 1kHz로 지정합니다. 중심이 맞춰진 양측 응답을 표시합니다.

h.Fs = 1000;
h.FrequencyRange='[-Fs/2, Fs/2)'

h = 
  Figure (filtervisualizationtool) with properties:

      Number: 1
        Name: 'Filter Visualization Tool - Phase Response'
       Color: [0.9400 0.9400 0.9400]
    Position: [346.5000 282.5000 583 437]
       Units: 'pixels'

  Use get to show all properties

플롯의 모든 속성을 봅니다. FVTool 특정 속성은 목록 끝 부분에 있습니다.

get(h)
                     Grid: 'on'
                   Legend: 'on'
          AnalysisToolbar: 'on'
            FigureToolbar: 'on'
               DesignMask: 'off'
          SOSViewSettings: [1x1 dspopts.sosview]
                       Fs: 1000
                 Alphamap: [1x64 double]
          CloseRequestFcn: 'closereq'
                    Color: [0.9400 0.9400 0.9400]
                 Colormap: [256x3 double]
              CurrentAxes: [1x1 Axes]
         CurrentCharacter: ''
            CurrentObject: [0x0 GraphicsPlaceholder]
             CurrentPoint: [0 0]
             DockControls: 'on'
                 FileName: ''
            IntegerHandle: 'on'
           InvertHardcopy: 'on'
              KeyPressFcn: ''
            KeyReleaseFcn: ''
                  MenuBar: 'none'
                     Name: 'Filter Visualization Tool - Phase Response'
                 NextPlot: 'new'
              NumberTitle: 'on'
               PaperUnits: 'inches'
         PaperOrientation: 'portrait'
            PaperPosition: [1.3350 3.3150 5.8300 4.3700]
        PaperPositionMode: 'auto'
                PaperSize: [8.5000 11]
                PaperType: 'usletter'
                  Pointer: 'arrow'
        PointerShapeCData: [16x16 double]
      PointerShapeHotSpot: [1 1]
                 Position: [346.5000 282.5000 583 437]
                 Renderer: 'opengl'
             RendererMode: 'auto'
                   Resize: 'on'
                ResizeFcn: ''
            SelectionType: 'normal'
                  ToolBar: 'auto'
                     Type: 'figure'
                    Units: 'pixels'
      WindowButtonDownFcn: ''
    WindowButtonMotionFcn: ''
        WindowButtonUpFcn: ''
        WindowKeyPressFcn: ''
      WindowKeyReleaseFcn: ''
     WindowScrollWheelFcn: ''
              WindowStyle: 'normal'
             BeingDeleted: 'off'
            ButtonDownFcn: ''
                 Children: [15x1 Graphics]
                 Clipping: 'on'
                CreateFcn: ''
                DeleteFcn: ''
               BusyAction: 'queue'
         HandleVisibility: 'on'
                  HitTest: 'on'
            Interruptible: 'on'
                   Parent: [1x1 Root]
                 Selected: 'off'
       SelectionHighlight: 'on'
                      Tag: 'filtervisualizationtool'
            UIContextMenu: [0x0 GraphicsPlaceholder]
                 UserData: []
                  Visible: 'on'
          FrequencyVector: [1x256 double]
           NumberofPoints: 8192
            ShowReference: 'on'
               PhaseUnits: 'Radians'
           FrequencyScale: 'Linear'
             PhaseDisplay: 'Phase'
            PolyphaseView: 'off'
        OverlayedAnalysis: ''
           FrequencyRange: '[-Fs/2, Fs/2)'
      NormalizedFrequency: 'off'
                 Analysis: 'phase'

저지대역 주파수 150Hz와 350Hz, 통과대역 주파수 200Hz와 300Hz로 50차 대역통과 FIR 필터를 설계합니다. 샘플 레이트는 1000Hz입니다. 필터의 크기 응답과 위상 응답을 시각화합니다.

N = 50;
Fstop1 = 150;
Fstop2 = 350;

Fpass1 = 200;
Fpass2 = 300;

Fs = 1e3;

bpFilt = designfilt('bandpassfir','FilterOrder',N, ...
'StopbandFrequency1',Fstop1,...
'StopbandFrequency2',Fstop2,...
'PassbandFrequency1',Fpass1,...
'PassbandFrequency2',Fpass2,...
'SampleRate',Fs);

fvtool(bpFilt,'Analysis','freq')

관련 예제

프로그래밍 방식으로 사용

모두 확장

fvtool(b,a)는 FVTool을 열고 분자 b와 분모 a로 정의된 디지털 필터의 크기 응답을 표시합니다.

fvtool(sos)는 FVTool을 열고 Lx6 2차섹션형 행렬로 정의된 디지털 필터의 크기 응답을 표시합니다.

sos=[b01b11b211a11a21b02b12b221a12a22b0Lb1Lb2L1a1La2L]

sos의 행에는 H(z)에 대한 2차섹션형 종속 연결의 분자 계수와 분모 계수인 bik와 aik가 포함되어 있습니다.

H(z)=gk=1LHk(z)=gk=1Lb0k+b1kz1+b2kz21+a1kz1+a2kz2.

섹션 개수 L은 2보다 크거나 같아야 합니다. 섹션 개수가 2보다 작으면 fvtool이 입력값을 분자 벡터로 간주합니다.

fvtool(d)는 FVTool을 열고 디지털 필터 d의 크기 응답을 표시합니다. designfilt를 사용하여 주파수-응답 사양을 기반으로 d를 생성합니다.

fvtool(b1,a1,b2,a2,...,bN,aN)은 FVTool을 열고 분자 b1, …, bN과 분모 a1, ..., aN으로 정의된 여러 필터의 크기 응답을 표시합니다.

fvtool(sos1,sos2,...,sosN)은 FVTool을 열고 2차섹션형 행렬 sos1, sos2, ..., sosN으로 정의된 여러 필터의 크기 응답을 표시합니다.

fvtool(Hd)는 FVTool을 열고 dfilt 필터 객체 Hd 또는 dfilt 필터 객체의 배열에 대한 크기 응답을 표시합니다.

fvtool(Hd1,Hd2,...,HdN)은 FVTool을 열고 dfilt 객체 Hd1, Hd2, ...HdN에 포함된 필터의 크기 응답을 표시합니다.

h = fvtool(___)은 Figure 핸들 h를 반환합니다. 이 핸들을 사용하여 명령줄에서 FVTool과 상호 작용할 수 있습니다. Controlling FVTool from the MATLAB Command Line 항목을 참조하십시오.

세부 정보

모두 확장

R2006a 이전에 개발됨