함수 > 신호 가공 > 디지털 필터링 > 예제: 보간 및 샘플링
예제: 보간 및 샘플링
multirate, resampleupsample 함수를 사용하여 다양한 방식과 가정으로 신호의 샘플링 속도를 변경합니다.
기본 FIR 필터의 multirate 함수
multirate 함수는 선형 위상 FIR 필터의 지연 그룹을 사용하여 초기의 과도한 출력이 끝나고 절단되는 위치를 계산합니다.
1. 신호 매개변수를 정의합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. sin 함수를 사용하여 싸인 신호의 합을 정의합니다.
이 식을 복사하려면 클릭
3. multirate 함수를 신호에 적용합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
4. 다시 샘플링한 신호를 도표화합니다.
이 식을 복사하려면 클릭
도표는 다시 샘플링한 신호가 약간 이동하고 원래 데이터 점 수의 n/m배를 포함함을 보여줍니다. 이동은 FIR 필터로 인해 발생하고 필터의 그룹 지연과 동일합니다.
선택적 저역 통과 FIR 필터의 multirate 함수
1. 차단 주파수, 계수 수 및 테이퍼 창의 유형을 정의합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. lowpass 함수를 사용하여 저역 통과 FIR 필터의 계수를 계산합니다.
이 식을 복사하려면 클릭
3. multirate 함수를 사용하여 다른 인수로 신호 x를 다시 샘플링합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
4. 다시 샘플링한 신호를 도표화합니다.
이 식을 복사하려면 클릭
FIR 필터의 게인이 업샘플링 비율 n과 동일하지 않기 때문에 다시 샘플링하면 신호 감쇄가 발생합니다.
5. 올바른 게인을 얻도록 FIR 필터 계수를 조정한 후 다시 샘플링한 신호를 다시 도표화합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
FIR 필터 계수를 조정하여 배율 효과를 제거합니다.
신호 업샘플링
multirate 함수를 사용하여 신호의 업샘플링이나 다운샘플링을 수행할 수 있습니다.
1. multirate 함수를 사용하여 n/m 비율을 높이고 신호 x를 업샘플링합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. 업샘플링한 신호를 도표화합니다.
이 식을 복사하려면 클릭
length 값으로 확인할 수 있는 것처럼, n/m 비율을 높이면 총 표본의 수가 많아지고 원래 신호의 두 연속 표본 사이에 새로운 표본이 더 많이 생깁니다.
3. multirate 함수를 사용하여 n/m 비율을 낮추고 신호 x를 다운샘플링합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
4. 다운샘플링한 신호를 도표화합니다.
이 식을 복사하려면 클릭
length 값으로 확인할 수 있는 것처럼, n/m 비율을 낮추면 총 표본의 수가 줄어들고 원래 신호의 두 연속 표본 사이에 새로운 표본이 더 적게 생깁니다.
데이터 업샘플링
upsample 함수는 계수 범위 중간에 0을 추가하여 필요한 보간 길이를 갖는 변환을 생성한 다음 확장된 스펙트럼을 역변환하여 원래 데이터에 대한 FFT를 수행합니다. 데이터를 보간하는 고유한 방법은 없습니다. 다만, 한 가지 방법으로 특수하게 설계된 FIR 필터를 사용할 수 있는데, 정기적으로 동작하는 데이터의 경우 이 함수로 합리적인 보간을 구할 수 있습니다.
1. 보간 인수 n을 설정하고 upsample 함수를 신호 x에 적용합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. 구한 신호를 도표화합니다.
이 식을 복사하려면 클릭
구한 신호는 신호 x의 점 수를 n배한 보간 버전입니다.
신호 다시 샘플링
resample 함수는 위와 같은 방식으로 보간하여 점 수를 n배한 버전을 생성한 다음 매 mth번째 점을 가져와 출력을 생성하는 방식으로 작동합니다.
1. 추림(decimation) 인수 m과 보간 인수 n을 설정합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. 구한 신호를 도표화합니다.
이 식을 복사하려면 클릭
구한 신호의 점 수는 3/5배이므로 표본 간의 간격이 원래 간격의 5/3배입니다.
비주기 및 주기 입력의 업샘플링 사용
upsample 함수는 입력이 주기적이라고 가정합니다. 두 경우 모두에서 구한 신호를 검토합니다.
비주기 입력
1. 보간 인수를 설정합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. 비주기 입력 신호를 정의합니다.
이 식을 복사하려면 클릭
3. upsample 함수를 적용합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
4. 구한 신호를 도표화합니다.
이 식을 복사하려면 클릭
보간 루틴에서는 X가 주기적이라고 가정합니다. 따라서 그래프의 끝 근방의 점이 초기 높이 1로 돌아가도록 보간합니다. 하지만 입력 시퀀스를 "래핑"하여 적절히 부드러운 함수를 얻을 수 있는 경우 함수가 민감한 결과를 제공합니다.
주기 입력
1. 보간 인수를 설정합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. 주기 입력 신호를 정의합니다.
이 식을 복사하려면 클릭
3. upsample 함수를 적용합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
4. 구한 신호를 도표화합니다.
이 식을 복사하려면 클릭
신호가 주기적인 경우 보간이 원래 신호를 보다 근접하게 근사화합니다.
도움이 되셨나요?