Понижающая выборка в MATLAB
Двумя основными операциями в многоскоростной системе являются уменьшение / уменьшение частоты дискретизации (прореживание) и увеличение (интерполяция) частоты дискретизации сигнала.
При понижающей дискретизации мы начинаем с сигнала постоянного времени x (t) и преобразуем его в последовательность тестов x [n], при децимации мы начинаем с сигнала дискретного времени x [n] и преобразуем его в другой сигнал дискретного времени. сигнал y [n], который состоит из подтестов x [n].
Мы будем использовать функции decimate () и stem () .
Функция decimate () используется для уменьшения частоты дискретизации на целочисленный коэффициент.
Syntax: a = decimate(x, r)
Parameters:
- x: input signal,
- r: decimation factor
Return Value: Decimated Signal
Функция stem () используется для построения данных дискретной последовательности.
Syntax: stem(y)
Parameter:
- y: data sequence
Return Value: Plot of data sequence in discrete time
MATLAB code for down-sampling:
% Time vector t = 0 : .00025 : 1; % Original signal x = sin(2 * pi * 50 * t) + sin(2 * pi * 100 * t); % Reduces the sample rate of original signal by factor of 4 y = decimate(x, 4); figure() subplot(2, 2, 1); % Plot few samples of the Original signal stem(x(1:75)) title( "Original Signal" ); subplot(2, 2, 2); % Plots few samples of the Decimated signal stem(y(1:75)); title( "Decimated Signal" ); |
Output