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

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