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

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

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

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

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

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

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

Похожие темы