dfilt
이산시간 필터
구문
Hd = dfilt.structure(input1,...)
설명
Hd = dfilt.은 structure(input1,...)structure 유형의 이산시간 필터 Hd를 반환합니다. 각 구조는 하나 이상의 입력값을 받습니다. 입력값 없이 dfilt.structure를 지정하면 디폴트 필터가 생성됩니다.
참고
structure를 dfilt와 함께 사용해야 합니다.
Hd = [dfilt.은 structure(input1,...),dfilt.structure(input1,...),...]dfilt 필터를 포함한 벡터를 반환합니다.
구조
dfilt 객체에 사용 가능한 구조가 아래에 나와 있습니다. block 메서드의 대상 블록은 필터 구조에 따라 달라집니다. 대상 블록에 따라 DSP System Toolbox™가 필요할 수 있습니다.
| 설명 |
|
|
|---|---|---|---|
| 지연 | 지원 안 됨 | DelayDSP System Toolbox 필요 |
| Direct-Form I | 지원됨 | Discrete Filter |
| Direct-Form I, 2차섹션형(SOS) | 지원됨 | Discrete FilterDSP System Toolbox 필요 |
| Direct-Form I 전치 | 지원됨 | Discrete Filter |
| Direct-Form I 전치, 2차섹션형(SOS) | 지원됨 | Biquad Filter DSP System Toolbox 필요 |
| Direct-Form II | 지원됨 | Discrete Filter |
| Direct-Form II, 2차섹션형(SOS) | 지원됨 | Discrete Filter |
| Direct-Form II 전치 | 지원됨 | Discrete Filter |
| Direct-Form II 전치, 2차섹션형(SOS) | 지원됨 | Biquad Filter DSP System Toolbox 필요 |
| Direct-Form FIR | 지원됨 | Discrete FIR Filter |
| Direct-Form FIR 전치 | 지원됨 | Discrete FIR Filter |
| Direct-Form 대칭 FIR | 지원됨 | Discrete FIR Filter |
| Direct-Form 반대칭 FIR | 지원됨 | Discrete FIR Filter |
| Overlap-add FIR | 지원 안 됨 | Overlap-Add FFT FilterDSP System Toolbox 필요 |
| 격자 전역통과 | 지원됨 | 지원 안 됨 |
| 격자 자기회귀(AR) | 지원됨 | Allpole FilterDSP System Toolbox 필요 |
| 격자 자기회귀 이동평균(ARMA) | 지원됨 | 지원 안 됨 |
| 최대 위상 격자 이동평균(MA) | 지원됨 | 지원 안 됨 |
| 최소 위상 격자 이동평균(MA) | 지원됨 | Discrete FIR Filter |
| 상태공간 | 지원됨. | 지원 안 됨 |
| 스칼라 이득 객체 | 지원됨 | GainDSP System Toolbox 필요 |
| 직렬 정렬 필터 | 지원됨 | 대상 블록은 직렬 시스템의 필터 구조에 따라 달라짐 |
| 병렬 정렬 필터 | 지원됨 | 대상 블록은 병렬 시스템의 필터 구조에 따라 달라짐 |
각 구조에 대한 자세한 내용을 보려면 MATLAB® 프롬프트에서 구문 help dfilt.structure를 사용하거나 해당하는 도움말 페이지를 참조하십시오.
메서드
메서드는 필터 파라미터를 다시 지정할 필요 없이 dfilt 객체에 직접 함수를 수행하는 방법을 제공합니다. dfilt 객체에 할당된 변수에 직접 이 메서드를 적용할 수 있습니다.
예를 들어, dfilt 객체 Hd를 생성할 경우 islinphase(Hd)를 사용하여 객체가 선형 위상을 갖는지 확인하거나 h=freqz(Hd)를 사용하여 객체의 주파수 응답 값을 구할 수 있습니다. 이러한 방식으로 아래의 모든 메서드를 사용할 수 있습니다.
참고
변수가 dfilt 필터로 구성된 1차원 배열인 경우 메서드는 배열에 있는 각 객체에 적용됩니다. freqz, grpdelay, impz, is*, order, stepz 메서드만 배열에 적용할 수 있습니다. zplane 메서드는 출력값 없이 사용되는 경우에만 배열에 적용할 수 있습니다.
아래에 나열된 메서드 중 일부는 Signal Processing Toolbox™ 함수와 이름이 같고 작동 방식도 유사합니다. 이를 함수의 오버로드라고 합니다.
사용 가능한 메서드는 다음과 같습니다.
메서드 | 설명 |
|---|---|
|
|
|
|
| 직렬로 결합된 두 |
| 원래 |
|
|
| 필터 계수 ASCII 파일을 작성합니다. 파일에는 단일 필터가 포함되거나 객체로 구성된 벡터가 포함될 수 있습니다. 디폴트 파일 이름은
16진수인 경우 10진수인 경우 이진 표현인 경우 |
|
|
| |
| 선형 위상 FIR 필터의 유형(1-4)을 반환합니다. |
주파수 응답을 플로팅합니다. | |
군지연을 플로팅합니다. | |
임펄스 응답을 플로팅합니다. | |
| 임펄스 응답의 길이를 반환합니다. |
| 필터 구조, 길이, 안정성, 선형 위상, 그리고 가능한 경우 격자 길이와 사다리 길이 등의 간략한 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2차섹션형(SOS) 필터의 섹션 개수를 반환합니다. 다단 필터에 여러 섹션을 갖는 단계가 있을 때 |
| 필터의 단계 개수를 반환합니다. 여기서 단계는 개별 모듈식 필터입니다. |
| 객체의 상태 개수를 반환합니다. |
| 필터 차수를 반환합니다. |
| 병렬로 결합된 두 개의 |
| 위상 응답을 플로팅합니다. |
| (Simulink에서만 사용 가능)
다음과 같은 속성을 사용할 수 있습니다.
다음은 블록 구조를 최적화하는 속성입니다.
|
| 종속 연결 또는 병렬 |
| 종속 연결 또는 병렬 |
|
|
|
|
| 계단 응답을 플로팅합니다.
|
|
|
|
|
| 영위상 응답을 플로팅합니다. |
|
|
극점-영점 플롯을 플로팅합니다. |
각 메서드에 대한 자세한 내용을 보려면 MATLAB 프롬프트에서 구문 help dfilt/method를 사용하십시오.
속성 보기
다른 객체와 마찬가지로 get을 사용하여 dfilt 속성을 볼 수 있습니다. 특정 속성을 보려면 다음 구문을 사용하십시오.
get(Hd,'property')
객체의 모든 속성을 보려면 다음 구문을 사용하십시오.
get(Hd)
속성 변경하기
특정 속성을 설정하려면 다음 구문을 사용하십시오.
set(Hd,'property1',value,'property2',value,...)
속성 이름은 작은따옴표로 묶어야 합니다.
또는 Object.property를 사용하여 속성값을 가져오거나 설정할 수 있습니다.
b = [0.05 0.9 0.05]; Hd = dfilt.dffir(b); % Lowpass direct-form I FIR filter Hd.arithmetic % get arithmetic property % returns double Hd.arithmetic = 'single'; % Set arithmetic property to single precision
객체 복사하기
객체의 복사본을 생성하려면 copy 메서드를 사용하십시오.
H2 = copy(Hd)
참고
구문 H2 = Hd를 사용하면 객체 핸들만 복사되고 새 객체가 생성되지는 않습니다.
필터 구조 간에 변환하기
dfilt 객체 Hd의 필터 구조를 변경하려면 다음 구문을 사용하십시오.
Hd2=convert(Hd,'structure_name');
여기서 structure_name은 작은따옴표로 묶은 유효한 구조 이름입니다. Hd가 cascade 또는 parallel 구조이면 각 단계는 새 구조로 변환됩니다.
필터 상태 사용하기
다음 두 속성이 필터 상태를 제어합니다.
states— 필터의 현재 상태를 저장합니다. 필터 적용 전에는 상태가 초기 조건과 일치하고, 필터 적용 후에는 상태가 최종 조건과 일치합니다.df1,df1t,df1sos,df1tsos구조의 경우states는filtstate객체를 반환합니다.PersistentMemory— 필터states의 저장 여부를 제어합니다. 디폴트 값은'false'이며, 이 경우 필터링 전에 초기 조건이 0으로 재설정되고states정보가 표시되지 않습니다.PersistentMemory를'true'로 설정하면, 필터가 초기 조건을 사용하거나 이전 필터링 작업의 최종 조건을 다음 필터링 작업의 초기 조건으로 재사용할 수 있습니다. 또한 필터states에 대한 정보도 표시됩니다.참고
states를 설정한 경우 이를 필터링에 사용하고자 하면, 필터를 사용하기 전에PersistentMemory를'true'로 설정해야 합니다.
예제
Direct-Form I 필터를 생성하고 메서드를 사용하여 필터가 안정적인지 확인합니다.
[b,a] = butter(8,0.25); Hd = dfilt.df1(b,a)
dfilt의 분자 값을 한 라인에 다 표시할 수 없는 경우, 벡터에 대한 설명이 표시됩니다. 이 예제의 특정 분자 값을 확인하려면 다음 구문을 사용하십시오.
get(Hd,'numerator')
또는 다음 구문을 사용합니다.
Hd.numerator
추가 예제는 각 구조의 도움말 페이지를 참조하십시오.
버전 내역
R2006a 이전에 개발됨