step

Системный объект: phased.MFSKWaveform
Пакет: поэтапный

Выборки непрерывной формы волны MFSK

Синтаксис

Y = step(sMFSK)

Описание

Примечание

Запуск в R2016b, вместо того, чтобы использовать step метод, чтобы выполнить операцию, заданную Системой object™, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполните эквивалентные операции. Когда единственный аргумент к step методом является сам Системный объект, замена y = step(obj) y = obj().

Y = step(sMFSK) возвращает выборки формы волны MFSK в N-by-1 комплексный оцененный вектор-столбец, Y.

Примечание

Объект выполняет инициализацию в первый раз, когда объект выполняется. Эта инициализация блокирует ненастраиваемые свойства и входные технические требования, такие как размерности, сложность и тип данных входных данных. Если вы изменяете ненастраиваемое свойство или входную спецификацию, Системный объект выдает ошибку. Чтобы изменить ненастраиваемые свойства или входные параметры, необходимо сначала вызвать release метод, чтобы разблокировать объект.

Входные параметры

развернуть все

Форма волны MFSK в виде phased.MFSKWaveform Системный объект.

Пример: sMFSK= phased.MFSKWaveform;

Выходные аргументы

развернуть все

Выведите выборки формы волны MFSK, возвращенной как N-by-1 комплексный вектор. Когда step метод достигает конца формы волны, выходные выборки повторяются от запуска формы волны, давая к периодической форме волны.

Примеры

развернуть все

Создайте форму волны MFSK с частотой дискретизации 1 МГц и полосой пропускания развертки 0,1 МГц. Примите 52 шага со временем шага 4 миллисекунд. Установите смещение частоты к 1 кГц. Существует 4 000 выборок на шаг.

fs = 1e6;
fsweep = 1e5;
tstep = 40e-4;
numsteps = 52;
foffset = 1000;
noutputsteps = 4;
sMFSK = phased.MFSKWaveform('SampleRate',fs,...
    'SweepBandwidth',fsweep,...
    'StepTime',tstep,...
    'StepsPerSweep',numsteps,...
    'FrequencyOffset',foffset,...
    'OutputFormat','Steps',...
    'NumSteps',noutputsteps);

Вызовите метод шага, чтобы получить выборки для четырех шагов.

z = step(sMFSK);

Постройте действительные и мнимые части первых двух шагов.

samplesperstep = fs*tstep;
disp(samplesperstep)
        4000
idx = [1:2*samplesperstep]';
time = idx/fs*1000;
plot(time,real(z(idx)),'b',time,imag(z(idx)),'k');
xlabel('Time (millisec)')

Figure contains an axes object. The axes object contains 2 objects of type line.

Вычислите БПФ всех данных.

n = size(z,1);
nfft = 2^ceil(log2(n));
Y = fftshift(fft(z,nfft));

Постройте величины спектра.

fmax = fs/2;
ft = [-nfft/2:nfft/2-1]*fmax/(nfft/2);
figure(2);
hp = plot(ft/1000,abs(Y));
axis([-2,8,-1,4000]);
xlabel('Frequency (kHz)')
grid

Figure contains an axes object. The axes object contains an object of type line.

График показывает две пары peaks. Первая пара находится на уровне 0 Гц и 1 000 Гц. Вторая пара находится на уровне 4 000 Гц и 5 000 Гц. Смещение частоты составляет 1 000 Гц.

Вычислите увеличение частоты к второй паре от peaks.

fdelta = fsweep/(numsteps/2-1);
disp(fdelta)
        4000

Увеличение соглашается с местоположением второй пары peaks в спектре БПФ.

Создайте форму волны MFSK с частотой дискретизации 1 МГц и полосой пропускания развертки 0,1 МГц. Примите 52 шага со временем шага 400 микросекунд. Установите смещение частоты к 1 кГц. Найдите количество отсчетов возвращенным когда OutputFormat свойство собирается возвратить выборки для одной развертки.

fs = 1e6;
fsweep = 1e5;
tstep = 40e-4;
numsteps = 52;
foffset = 1000;
noutputsweeps = 1;
sMFSK = phased.MFSKWaveform('SampleRate',fs,...
    'SweepBandwidth',fsweep,...
    'StepTime',tstep,...
    'StepsPerSweep',numsteps,...
    'FrequencyOffset',foffset,...
    'OutputFormat','Sweeps',...
    'NumSweeps',noutputsweeps);

Вызовите step метод, чтобы получить выборки для четырех шагов.

z = step(sMFSK);

Считайте количество отсчетов в развертке.

samplespersweep = fs*tstep*numsteps;
disp(samplespersweep)
      208000

Проверьте, что это значение соглашается с количеством отсчетов, возвращенным step метод.

disp(size(z))
      208000           1
Представленный в R2015a
Для просмотра документации необходимо авторизоваться на сайте