주요 콘텐츠

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

blackman

블랙맨 윈도우

설명

w = blackman(L)L개 점을 갖는 대칭형 블랙맨 윈도우를 반환합니다.

예제

w = blackman(L,sflag)sflag로 지정된 윈도우 샘플링 방법을 사용하여 블랙맨 윈도우를 반환합니다.

w = blackman(___,typeName)은 단정밀도 또는 배정밀도를 사용하여 윈도우 w를 반환하는 옵션을 지정합니다.

예제

모두 축소

64개 점을 갖는 블랙맨 윈도우를 생성합니다. wvtool을 사용하여 결과를 표시합니다.

L = 64;
wvtool(blackman(L))

Figure Window Visualization Tool contains 2 axes objects and other objects of type uimenu, uitoolbar, uipanel. Axes object 1 with title Time domain, xlabel Samples, ylabel Amplitude contains an object of type line. Axes object 2 with title Frequency domain, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Magnitude (dB) contains an object of type line.

입력 인수

모두 축소

윈도우 길이로, 양의 정수로 지정됩니다.

참고

L을 정수가 아닌 값으로 지정하면 함수는 이를 가장 가까운 정수 값으로 반올림합니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

윈도우 샘플링 방법으로, 다음과 같이 지정됩니다.

  • "symmetric" — 필터 설계에 윈도우를 사용할 경우 이 옵션을 사용합니다.

  • "periodic" — 스펙트럼 분석에 윈도우를 사용할 경우 이 옵션을 사용합니다. "periodic"을 지정하면 blackman 함수는 길이가 L + 1인 윈도우를 계산하고 처음 L개 점을 반환합니다. 누락된 끝점은 시퀀스의 주기적 확장에서 다음 주기의 시작 부분입니다. 따라서 시퀀스가 이산 푸리에 변환의 주기성 가정을 충족합니다.

데이터형: char | string

R2024b 이후

출력 데이터형(클래스)으로, 다음 중 하나로 지정됩니다.

  • "double" — 배정밀도 출력 w를 반환하려면 이 옵션을 사용합니다.

  • "single" — 단정밀도 출력 w를 반환하려면 이 옵션을 사용합니다.

데이터형: char | string

출력 인수

모두 축소

블랙맨 윈도우로, 열 벡터로 반환됩니다.

알고리즘

다음 방정식은 길이가 N인 블랙맨 윈도우를 정의합니다.

w(n)=0.420.5cos(2πnL1)+0.08cos(4πnL1),0nM1

여기서 MN이 짝수인 경우 N/2이고 N이 홀수인 경우 (N + 1)/2입니다.

대칭형인 경우, 블랙맨 윈도우의 두 번째 절반 MnN – 1은 중간점을 기준으로 첫 번째 절반에 대해 대칭 이동을 수행하는 방식으로 구합니다. FIR 필터 설계에 블랙맨 윈도우를 사용하는 경우 대칭형 옵션을 사용하는 것이 좋습니다.

주기적 블랙맨 윈도우는 원하는 윈도우 길이를 한 개 샘플만큼 늘려 N + 1로 키워 대칭형 윈도우를 생성한 후 마지막 샘플을 제거하는 방식으로 생성됩니다. 이산 푸리에 변환은 입력 벡터의 주기적 확장을 가정하므로 스펙트럼 분석에서 블랙맨 윈도우를 사용하는 경우 주기적 버전을 사용하는 것이 좋습니다.

참고 문헌

[1] Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice Hall, 1999, pp. 468–471.

확장 기능

모두 확장

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

모두 확장