exponenta event banner

Моделирование системы «образец и удержание»

В этом примере показано несколько способов моделирования выходного сигнала системы выборки и хранения путем повышения дискретизации и фильтрации сигнала.

Создайте синусоидальный сигнал. Укажите частоту выборки таким образом, чтобы 16 выборок соответствовали ровно одному периоду сигнала. Нарисуйте основной график сигнала. Наложение графика лестничных шагов для визуализации образца и удержания.

fs = 16;
t = 0:1/fs:1-1/fs;

x = .9*sin(2*pi*t);

stem(t,x)
hold on
stairs(t,x)
hold off

Figure contains an axes. The axes contains 2 objects of type stem, stair.

Увеличьте значение сигнала в четыре раза. Постройте график результата вместе с исходным сигналом. upsample увеличивает частоту дискретизации сигнала путем добавления нулей между существующими выборками.

ups = 4;

fu = fs*ups;
tu = 0:1/fu:1-1/fu;

y = upsample(x,ups);

stem(tu,y,'--x')

hold on
stairs(t,x)
hold off

Figure contains an axes. The axes contains 2 objects of type stem, stair.

Фильтр с фильтром FIR скользящего среднего для заполнения нулей значениями выборки и хранения.

h = ones(ups,1);

z = filter(h,1,y);

stem(tu,z,'--.')
hold on
stairs(t,x)
hold off

Figure contains an axes. The axes contains 2 objects of type stem, stair.

Такое же поведение можно получить с помощью функции MATLAB ®interp1 с интерполяцией ближайшего соседа. В этом случае необходимо сдвинуть начало координат, чтобы выстроить последовательность.

zi = interp1(t,x,tu,'nearest');

dl = floor(ups/2);

stem(tu(1+dl:end),zi(1:end-dl),'--.')
hold on
stairs(t,x)
hold off

Figure contains an axes. The axes contains 2 objects of type stem, stair.

Функция resample приводит к такому же результату, когда последний входной аргумент устанавливается равным нулю.

q = resample(x,ups,1,0);

stem(tu(1+dl:end),q(1:end-dl),'--.')
hold on
stairs(t,x)
hold off

Figure contains an axes. The axes contains 2 objects of type stem, stair.

См. также

|