Этот пример показывает, как создать прямоугольную импульсную форму волны и измерить его коэффициент заполнения. Можно думать о прямоугольной импульсной форме волны как о последовательности состояний включения и выключения. Один период импульса является общей длительностью состояния включения и выключения. Ширина импульса является длительностью включенного состояния. Коэффициент заполнения является отношением ширины импульса к периоду импульса. Коэффициент заполнения для прямоугольного импульса описывает долю времени, в которой импульс включен за один период импульса.
Создайте прямоугольный импульс, дискретизированный в 1 гигагерц. Импульс включен или равен 1, длительностью 1 микросекунда. Импульс, если он выключен, или равен 0, на длительность 3 микросекунды. Период импульса составляет 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. Это ожидаемый коэффициент заполнения, потому что импульс включен в течение 1 микросекунды и выключен в течение 3 микросекунд в каждом 4 микросекундном периоде. Поэтому импульс включается в течение 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