Удалите высокочастотный шум из данных о гироскопе

В этом примере показано, как удалить высокочастотные выбросы из сигнала потоковой передачи использование dsp.MedianFilter Системный объект?.

Используйте dsp.MatFileReader Системный объект, чтобы считать файл MAT гироскопа. Файл MAT гироскопа содержит 3 столбца данных с каждым столбцом, содержащим 7 140 выборок. Эти три столбца представляют Ось X, Ось Y и данные оси Z из датчика движения гироскопа. Выберите формат кадра 714 выборок так, чтобы каждый столбец данных содержал 10 систем координат. dsp.MedianFilter Системный объект использует длину окна 10. Создайте timescope объект просмотреть отфильтрованный вывод.

reader = dsp.MatFileReader('SamplesPerFrame',714,'Filename','LSM9DS1gyroData73.mat',...
    'VariableName','data');
medFilt = dsp.MedianFilter(10);
scope = timescope('NumInputPorts',1,'SampleRate',119,'YLimits',[-300 300],...
    'ChannelNames',{'Input','Filtered Output'},...
    'TimeSpanSource','Property','TimeSpan',60,'ShowLegend',true);

Отфильтруйте данные о гироскопе с помощью dsp.MedianFilter Системный объект. Просмотрите отфильтрованные данные оси Z в осциллографе времени.

for i = 1:10
    gyroData = reader();
    filteredData = medFilt(gyroData);
    scope([gyroData(:,3),filteredData(:,3)]);
end

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

Похожие темы