Добавил:
до поступления в лэти я 11 лет играл в подкидного на фофаны, а потом... Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
matlab u4eb.prak / УчебПрак.docx
Скачиваний:
1
Добавлен:
25.09.2025
Размер:
652.43 Кб
Скачать

1.3. Фильтрация значений относительно ско

Для корректировки значений сигнала нужно найти в сигнале выбросы — то есть значения, которые слишком сильно отклоняются от среднего. Они могут искажать статистические характеристики сигнала и влиять на результаты дальнейшей обработки. Выбросами считаются все элементы X(n), для которых выполняется условие: |X(n)−m| > threshold. Для замены используется правило, основанное на стандартном отклонении (СКО): все значения, выходящие за пределы K*σ от среднего, заменяются на m. Программа вычисляет порог выброса threshold как произведение коэффициента K на стандартное отклонение σ: threshold = K*σ, где значения K = 1, 2, 3 соответствуют интервалам, в которых лежит 68%, 95% и 99,7% данных соответственно (правило трёх сигм). Затем создаётся логический вектор outliers, где true, если значение отклоняется от m больше, чем на threshold. Эти значения заменяются на m, создавая сигнал X_corrected(n), которому ранее были присвоены значения Х(n).

Рисунок 3 – Поиск и замена выбросов

После замены выбросов среднее значение сигнала остаётся близким к m; уменьшается дисперсия, так как экстремальные значения заменяются на среднее, и гистограмма скорректированного сигнала становится более узкой и сосредоточенной вокруг m.

1.4. Создание дискретного фильтра

Для выполнения свёртки с сигналом был выбран фильтр в виде первого полупериода косинусоиды. Косинусоидальный импульс обеспечивает более мягкую частотную характеристику по сравнению с прямоугольным или треугольным импульсом, что уменьшает эффекты наложения спектров. Генерируется массив равномерно распределённых значений от 0 до π: cos_half = linspace(0, pi, N_cos_half), где N_cos_half – длина полупериода косинусоиды, которому присваивается значение, равное 35. Это значение выбрано экспериментально как компромисс между достаточной гладкостью фильтра (больше точек — точнее аппроксимация косинусоиды) и разумной вычислительной сложностью (слишком длинный фильтр увеличивает время свёртки).

Рисунок 4 – Создание дискретного фильтра

1.5. Дискретная свертка скорректированного сигнала с фильтром

Затем выполняется дискретная линейная свертка откорректированного сигнала X_corrected. В данном коде она реализована с помощью функции conv(a, b, shape), где a и b – векторы, используемые в свертке, а shape – форма сигнала, которая будет отображаться на графике; здесь используется “full” для полного отображения на графике, включая перемножение тех элементов массивов, в котором полупериод косинусоиды участвует частично. Полученные значения свёртки присваиваются. Формула дискретной линейной свертки: , где xm – m-ный элемент входного сигнала, hk-m – импульсная характеристика дискретного фильтра.

Рисунок 5 – Свертка скорректированного сигнала с импульсом

1.6. Вычисление характеристик отфильтрованного сигнала

Затем происходит вычисление основных статистических характеристик: mean — среднее значение; median — медиана; var — дисперсия; kurtosis — эксцесс (показатель остроты пика графика распределения).

Рисунок 6 – Статистические характеристики до и после взаимодействия