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

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

Используйте dsp.MatFileReader Системный объект для чтения файла MAT гироскопа. Файл MAT гироскопа содержит 3 столбца данных, причем каждый столбец содержит 7140 выборок. Три столбца представляют данные о оси X, оси Y и оси Z от датчика движения гироскопа. Выберите формат кадра 714 выборок, чтобы каждый столбец данных содержал 10 системы координат. The 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

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

Похожие темы