사각 펄스 파형의 듀티 사이클
이 예제에서는 사각 펄스 파형을 생성하고 그 듀티 사이클을 측정하는 방법을 보여줍니다. 사각 펄스 파형은 일련의 켜짐 상태와 꺼짐 상태로 간주할 수 있습니다. 하나의 펄스 주기는 켜짐 상태와 꺼짐 상태가 한 번씩 지속되었을 때의 총 지속 시간입니다. 펄스 폭은 켜짐 상태가 지속된 시간입니다. 듀티 사이클은 펄스 주기에 대한 펄스 폭의 비율입니다. 따라서 사각 펄스의 듀티 사이클은 해당 펄스가 하나의 펄스 주기에서 켜져 있는 시간의 비율을 나타냅니다.
1기가헤르츠로 샘플링된 사각 펄스를 생성합니다. 이 펄스는 1마이크로초 동안 켜져 있습니다. 즉, 값이 1입니다. 이 펄스는 3마이크로초 동안 꺼져 있습니다. 즉, 값이 0입니다. 펄스 주기는 4마이크로초입니다. 파형을 플로팅합니다.
Fs = 1e9; t = 0:1/Fs:(10*4e-6); pulsewidth = 1e-6; pulseperiods = [0:10]*4e-6; x = pulstran(t,pulseperiods,@rectpuls,pulsewidth); plot(t,x) axis([0 4e-5 -0.5 1.5])
dutycycle
을 사용하여 파형의 듀티 사이클을 구합니다. 펄스 파형과 샘플 레이트를 모두 입력하여 듀티 사이클을 출력합니다. dutycycle
은 감지된 각 펄스의 듀티 사이클 값을 출력합니다.
D = dutycycle(x,Fs)
D = 1×9
0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500
이 예제의 경우 감지된 각 펄스의 듀티 사이클이 0.25로 동일합니다. 이 듀티 사이클은 예상된 결과로, 펄스가 각 4마이크로초 주기에서 1마이크로초 동안 켜져 있고 3마이크로초 동안 꺼져 있기 때문입니다. 즉, 펄스는 각 주기의 1/4 동안 켜져 있습니다. 이를 백분율로 표현하면 25%의 듀티 사이클에 해당합니다.
출력 인수 없이 dutycycle
을 호출하면 감지된 모든 펄스 폭이 표시된 플롯이 생성됩니다.
dutycycle(x,Fs);
같은 샘플 레이트와 펄스 주기를 적용하여, 루프에서 펄스가 켜져 있는 시간(펄스 폭)을 1마이크로초에서 3마이크로초까지 달리하면서 듀티 사이클을 계산합니다. 펄스 파형을 플로팅하고, 루프의 각 단계에 대한 듀티 사이클 값을 플롯 제목에 표시합니다. 펄스 폭이 증가하면 듀티 사이클이 0.25(1/4)에서 0.75(3/4)로 증가합니다.
nwid = 3; for nn = 1:nwid x = pulstran(t,pulseperiods,@rectpuls,nn*pulsewidth); subplot(nwid,1,nn) plot(t,x) axis([0 4e-5 -0.5 1.5]) D = dutycycle(x,Fs); title(['Duty cycle is ' num2str(mean(D))]) end