fvtool
(제거될 예정임) DSP 필터의 주파수 응답 시각화
설명
fvtool(
는 필터 System object™의 크기 응답을 표시합니다.sysobj
)
fvtool(____,
는 지정된 각 속성이 지정된 값으로 설정된 필터의 응답을 시각화합니다.Name=Value
)
입력 옵션에 대한 자세한 내용은 Signal Processing Toolbox™의 FVTool을 참조하십시오.
예제
2개의 저역통과 반대역 데시메이션 필터를 만듭니다. 첫 번째 필터의 설계 방법은 "Equiripple"
로 설정되고, 두 번째 필터의 설계 방법은 "Kaiser"
로 설정됩니다.
필터 차수를 52로 지정합니다. 천이 폭을 정규화 주파수 단위로 지정합니다.
filterspec = "Filter order and transition width"; Order = 52; TW = 0.1859; firhalfbanddecimEqui = dsp.FIRHalfbandDecimator(... NormalizedFrequency=true,... Specification=filterspec,... FilterOrder=Order,... TransitionWidth=TW,... DesignMethod="Equiripple"); firhalfbanddecimKaiser = dsp.FIRHalfbandDecimator(... NormalizedFrequency=true,...... Specification=filterspec,... FilterOrder=Order,... TransitionWidth=TW,... DesignMethod="Kaiser");
크기 응답을 플로팅합니다. 필터 사양이 좁은 경우(예: 필터 차수는 높고 천이 폭은 매우 좁은 경우), "Kaiser"
방법을 사용하여 설계된 필터가 더 효과적으로 수렴합니다.
hfvtMag = fvtool(firhalfbanddecimEqui,firhalfbanddecimKaiser); legend(hfvtMag,["Equiripple","Kaiser"])
입력 인수
입력 필터로, 다음 필터 System object 중 하나로 지정됩니다.
dsp.DCBlocker
(R2024b 이후)
예: firFilt = dsp.FIRFilter(Numerator=designLowpassFIR(FilterOrder=130, CutoffFrequency=2000/(8000/2))); fvtool(firFilt)
필터 분석 옵션으로, 다음 중 하나로 지정됩니다.
'magnitude'
–– 크기 응답'phase'
–– 위상 응답'freq'
–– 주파수 응답'grpdelay'
–– 군지연'phasedelay'
–– 위상 지연'impulse'
–– 임펄스 응답'step'
–– 계단 응답'polezero'
–– 극점-영점 플롯'coefficients'
–– 계수 벡터'info'
–– 필터 정보'magestimate'
–– 크기 응답 추정값'noisepower'
–– 반올림 잡음 파워 스펙트럼
예: fvtool(firFilt,'freq')
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: firFilt = dsp.FIRFilter(Numerator=designLowpassFIR(FilterOrder=130, CutoffFrequency=2000/(8000/2))); fvtool(firFilt,Arithmetic="single")
샘플링 레이트로, 스칼라로 지정됩니다. 이 값은 fvtool
이 채널라이저에서 필터의 주파수 응답을 보여주는 나이퀴스트 구간 [-Fs/2 Fs/2]를 결정합니다.
데이터형: single
| double
분석 중에 사용될 연산방식을 지정합니다. 연산방식 입력값이 지정되지 않고 필터 System object가 잠겨 있지 않으면 분석 툴은 배정밀도 필터라고 간주합니다. 'Fixed'
로 설정된 'Arithmetic'
속성은 고정소수점 속성을 가진 필터 System object에만 적용됩니다.
'Arithmetic'
속성이 'Fixed'
로 설정된 경우, 툴은 배정밀도 기준 필터와 이 필터의 양자화된 버전을 둘 다 보여줍니다. 필터의 양자화된 버전을 만들 때는 다음의 두 옵션을 제외한 모든 분석 옵션에 대해 각 필터 System object의 CoefficientsDataType
속성이 사용됩니다.
'magestimate'
–– 크기 응답 추정값'noisepower'
–– 반올림 잡음 파워 스펙트럼
위 두 분석 옵션의 경우는 필터의 양자화된 버전을 분석하는 데 고정소수점 설정 전체가 사용됩니다.
버전 내역
R2006a 이전에 개발됨fvtool
함수는 향후 릴리스에서 제거될 예정입니다. filterAnalyzer
를 대신 사용하십시오. fvtool
함수와 filterAnalyzer
함수는 다르게 동작하며, filterAnalyzer
를 사용하려면 코드를 업데이트해야 합니다.
타원 필터와 FIR 필터가 있다고 가정하겠습니다.
[b,a] = ellip(5,5,60,[0.2 0.45]); dFd = dsp.FIRFilter;
다음 표에서는 fvtool
함수의 일반적인 사용법과 filterAnalyzer
함수를 사용하여 해당 코드를 업데이트하는 방법을 보여줍니다.
권장되지 않는 사용법 | 권장되는 대체 방법 |
---|---|
fvtool(b,a,dFd) | filterAnalyzer(b,a,dFd) |
fvtool(b,a,dFd,Analysis="freq") | filterAnalyzer(b,a,dFd,... Analysis="magnitude",Overlay="phase") |
fvtool(b,a,Fs=1000) | filterAnalyzer(b,a,SampleRates=1000) |
fvtool(b,a,dFd,NumberofPoints=512, ... FrequencyRange="[0, 2pi)",FrequencyScale="Log") | filterAnalyzer(b,a,dFd,NFFT=512, ... FrequencyRange="twosided",FrequencyScale="log") |
hfvt = fvtool(dFd); addfilter(hfvt,dfilt.df1(b,a)) | fa = filterAnalyzer(dFd); addFilters(fa,b,a) |
hfvt = fvtool(dFd); setfilter(hfvt,dfilt.df1(b,a)) | fa = filterAnalyzer(dFd,FilterNames="df"); replaceFilters(fa,b,a,FilterNames="df") |
hfvt = fvtool(b,a,dFd); deletefilter(hfvt,2) | fa = filterAnalyzer(b,a,dFd,FilterNames=["ba" "dFd"]); deleteFilters(fa,FilterNames="dFd") |
hfvt = fvtool(b,a,dFd); legend(hfvt,"ba","dFd") | filterAnalyzer(b,a,dFd,FilterNames=["ba" "dFd"]) |
hfvt = fvtool(b,a,dFd); zoom(hfvt,[0.4 0.7 -30 0]) | fa = filterAnalyzer(b,a,dFd); zoom(fa,"xy",[0.4 0.7 -30 0]) |
fvtool(b,a,dFd,Analysis="noisepower") | filterAnalyzer(b,a,dFd,Analysis="noisepsd") |
필터 분석기에서는 2차섹션형(SOS) 형식이 지원되지 않습니다. 대신 CTF 형식을 사용하십시오. 필터를 SOS 행렬로 지정하는 경우 코드를 업데이트해야 합니다. 다음 표에서는 SOS 행렬로 지정된 필터에 대해 fvtool
함수를 사용하는 일반적인 방법과 filterAnalyzer
함수를 사용하여 해당 코드를 업데이트하는 방법을 보여줍니다.
권장되지 않는 사용법 | 권장되는 대체 방법 |
---|---|
fvtool(sos) | filterAnalyzer(sos(:,1:3),sos(:,4:6)) 또는 [ctfNum,ctfDen] = sos2ctf(sos); filterAnalyzer(ctfNum,ctfDen) |
hfvt = fvtool(sos); set(hfvt.SOSViewSettings,View="cumulative") | [ctfNum,ctfDen] = sos2ctf(sos); fa = filterAnalyzer(ctfNum,ctfDen,CTFAnalysisMode="cumulative"); |
hfvt = fvtool(sos); set(hfvt.SOSViewSettings,View="userdefined",UserDefined={3,1}) | [ctfNum,ctfDen] = sos2ctf(sos); fa = filterAnalyzer(ctfNum,ctfDen, ... CTFAnalysisMode="specify",CTFAnalysisSections={3,1}); |
dsp.BiquadFilter
객체는 경고를 발생시키므로 향후 릴리스에서 제거될 예정입니다. 대신 dsp.SOSFilter
객체를 사용하십시오. 기존 코드를 대체하는 방법에 대한 자세한 내용은 dsp.BiquadFilter
도움말 페이지의 호환성 관련 고려 사항 섹션을 참조하십시오.
R2024b부터 이 함수는 dsp.DCBlocker
객체를 지원합니다.
R2023b부터 fvtool
분석 함수는 dsp.ParallelFilter
객체와 dsp.Delay
객체를 지원합니다.
dsp.BiquadFilter
객체는 향후 릴리스에서 제거될 예정입니다. 대신 dsp.SOSFilter
객체를 사용하십시오.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)