Main Content

square

설명

x = square(t)는 시간 배열 t의 요소에 대해 주기가 2π인 구형파를 생성합니다. square는 사인 함수와 비슷하지만, 값이 –1과 1인 구형파를 만듭니다.

예제

x = square(t,duty)는 지정된 듀티 사이클 duty를 갖는 구형파를 생성합니다. 듀티 사이클은 구형파가 양수가 되는 신호 주기의 비율입니다.

예제

예제

모두 축소

0에서 3π까지 균일한 간격으로 배치된 100개 숫자로 구성된 벡터를 생성합니다. 주기가 2π인 구형파를 생성합니다.

t = linspace(0,3*pi)';
x = square(t);

구형파를 플로팅하고 사인을 겹쳐 놓습니다. x축을 π로 정규화합니다. 생성되는 구형파는 구간 [nπ,(n+1)π)에서 n이 짝수이면 값이 1이고, 구간 [nπ,(n+1)π)에서 n이 홀수이면 -1입니다. 구형파 값이 0인 경우는 없습니다.

plot(t/pi,x,'.-',t/pi,sin(t))
xlabel('t / \pi')
grid on

Figure contains an axes object. The axes object with xlabel t / blank pi contains 2 objects of type line.

계산을 반복하되, 이번에는 -π2π 사이에서 균일한 간격으로 배치된 121개 숫자에서 square(2*t)를 계산합니다. 진폭을 1.15로 변경합니다. 이 구형파를 플로팅하고 같은 파라미터를 갖는 사인을 겹쳐 놓습니다. 이 새로운 구형파는 t=0에서 음수이며 끝점 -π2π에서 양수입니다.

t = linspace(-pi,2*pi,121);
x = 1.15*square(2*t);

plot(t/pi,x,'.-',t/pi,1.15*sin(2*t))
xlabel('t / \pi')
grid on

Figure contains an axes object. The axes object with xlabel t / blank pi contains 2 objects of type line.

70ms 동안 1kHz로 샘플링된 30Hz 구형파를 생성합니다. 37%의 듀티 사이클을 지정합니다. 분산이 1/100인 백색 가우스 잡음을 추가합니다.

t = 0:1/1e3:0.07;
y = square(2*pi*30*t,37)+randn(size(t))/10;

이 구형파의 듀티 사이클을 계산합니다. 파형을 플로팅하고 듀티 사이클에 대한 주석을 표시합니다.

dutycycle(y,t)

Figure Duty Cycle Plot contains an axes object. The axes object with xlabel Time (seconds), ylabel Level (Volts) contains 9 objects of type line. One or more of the lines displays its values using only markers These objects represent signal, mid cross, upper boundary, upper state, lower boundary, mid reference, lower state.

ans = 
0.3639

입력 인수

모두 축소

시간 배열로, 벡터, 행렬 또는 N차원 배열로 지정됩니다. square는 크기가 1보다 큰 t의 첫 번째 배열 차원을 따라 동작합니다.

데이터형: single | double

듀티 사이클로, 0에서 100까지의 실수형 스칼라로 지정됩니다.

데이터형: single | double

출력 인수

모두 축소

구형파로, 벡터, 행렬 또는 N차원 배열로 반환됩니다.

확장 기능

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

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

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

| | | | | | | |