Автоматизированная обработка спирограмм на ЭВМ (1050253), страница 2
Текст из файла (страница 2)
На характеристики цифрового фильтра, в отличие от функциональных узлов аналоговой техники, не влияют большинство источников погрешностей, например, нестабильность источников питания, колебания температуры, старение компонентов и др. Конечно, в цифровых фильтрах проявляются специфические погрешности обработки, связанные с неизбежным округлением коэффициентов, квантованием исходных сигналов (что приводит к появлению шума квантования) и частотными искажениями дискретизации.
Рис. 4. Кривые форсированного выхода и объемной скорости.
Указанные преимущества цифровых фильтров в полной мере реализуются при анализе низкочастотных сигналов, получаемых в результате медицинских обследований. Эти сигналы могут значительно искажаться аналоговыми схемами из-за дрейфа параметров, в особенности это относится к спирографическим исследованиям, где информативная граница спектра сигнала не превышает 20.. .40 Гц.
Цифровой фильтр и предварительная обработка спирограмм
Рассмотрим цифровой фильтр (ЦФ) с постоянными коэффициентами. Множество отсчетов сигнала {х(kТ)} подается на вход ЦФ в виде последовательности числовых значений х(кТ) с интервалом времени (шагом дискретизации) Т (к = 0, 1, 2, 3,..., n). При поступлении каждого очередного k-го входного значения х(kТ) цифровой фильтр рассчитывает очередное выходное значение сигнала y(kТ). Результаты на выходе ЦФ вычисляются с тем же шагом времени Т. Если подать на вход ЦФ простейший сигнал в виде единичного импульса
то на выходе получим сигнал {g(kT)} в виде дискретного множества числовых значений g(kT), следующих с интервалом времени Т. Этот ответный сигнал называют импульсной характеристикой цифрового фильтра.
Если подать на вход ЦФ дискретный сигнал х(кТ), на выходе фильтра сформируется отклик:
и для n-ого выходного отсчёта:
т. е. выходной сигнал определяется как дискретная свертка входного сигнала и импульсной характеристики фильтра. Применив Z-преобразование к импульсной характеристике фильтра {g(kT)}, получим функцию Н(z), называемую системной функцией цифрового фильтра:
Рассмотрим алгоритм цифровой фильтрации общего вида:
Применяя Z-преобразование к выражению (4), получаем
откуда
Частотные характеристики цифровых фильтров.
Передаточная характеристика аналогового фильтра является частотно-зависимым коэффициентом пропорциональности между спектром сигнала на выходе фильтра и спектром входного сигнала
:
Для анализа аналоговых фильтров в качестве входного сигнала обычно используют обобщенный гармонический сигнал , тогда выходной сигнал имеет вид
. Для определения частотной характеристики ЦФ на его вход подают дискретизированный обобщенный гармонический сигнал
, тогда сигнал на выходе имеет вид
.
Между частотной характеристикой фильтра К(ω) и его системной функцией H(z) имеется простая связь:
Следует отметить, что частотные характеристики цифровых фильтров являются периодическими функциями частоты с периодом повторения, равным частоте дискретизации сигнала ωД=2π/Т, где Т — шаг дискретизации ЦФ. По этой причине перед цифровой обработкой обычно ограничивают полосу частот аналоговых сигналов специальными фильтрами нижних частот, что уменьшает негативные проявления частотных искажений дискретизации - наложения частот (алайзинг).
Сглаживание и численное дифференцирование. С помощью одних алгоритмов цифровой фильтрации возможно сглаживание сигналов, с помощью других - численное дифференцирование этих сигналов [4].
Однако существуют такие алгоритмы цифровой фильтрации, которые позволяют совместить в едином алгоритме операции сглаживания и дифференцирования. Рассмотрим более подробно один из таких алгоритмов, который реализуется нерекурсивным цифровым фильтром. Входная последовательность {x(kT}} аппроксимируется для каждого из пяти последовательных отсчетов сигнала (рис. 5) с абсциссами k = -2, -1, 0, 1, 2 полиномом p2(t) второго порядка (параболой):
P2(t) = A + Bt + Ct2. (6)
Рис. 5. Пятиточечный алгоритм цифровой фильтрации.
Неизвестные коэффициенты полинома А, В и С определяют для каждых пяти отсчетов входных данных из условия, что парабола (6) аппроксимирует входную последовательность методом наименьших квадратов. Качество аппроксимации оценивают суммарной квадратичной ошибкой ε, которая является функцией коэффициентов полинома А, В и С (преобразование абсцисс вида t' = t/Т позволяет перейти к единичному шагу дискретизации, но при вычислении производных следует учесть изменение масштаба времени коэффициентом 1/7):
Условие min ε(A, В, С) можно также представить в виде системы уравнений, которую называют нормальной системой уравнений метода наименьших квадратов:
Эта система линейных уравнений после дифференцирования выражения для ε в развернутом виде с применением упрощенного вида записи операции суммирования = {s(k)} выглядит следующим образом:
{1}∙А + {k}∙В + {k2}∙C = {s(k)},
{k}∙А + {k2}∙В + {k3}∙C = {k∙ s(k)},
{k2}∙А + {k3) ∙В + {k4}∙С = {к2∙s(k)}.
Для решения системы уравнений полезно заметить, что для k = -2, -1, 0, 1, 2:
{1} = 5, { k2}=10, { k4}=34 а все суммы нечетных степеней к равны нулю.
Тогда система существенно упрощается:
5∙А + 10∙C = {s(k)},
10∙В = {k∙ s(k)},
10∙А + 34∙С = {к2∙s(k)}.
Решая систему относительно коэффициентов А, В и сохраняя только центральную (k=0) точку параболы, в качестве выходного значения получаем
Выходная последовательность при этом подобна входной последовательности, но содержит меньше высокочастотных помех, так как параболическая аппроксимация обеспечивает некоторое сглаживание входной последовательности.
Определяя производную со сглаживанием, с учетом масштабного коэффициента преобразования координат получим
Подставляя выражение (7) в выражение (9) и применяя к результату Z-преобразование, получаем системную функцию сглаживающего фильтра:
т. е. имеем нерекурсивный фильтр нижних частот. В соответствии с формулой (5) частотная характеристика такого фильтра имеет вид
Частотная характеристика сглаживающего фильтра показана на рис. 6.
Рис. 6. Частотная характеристика сглаживающего цифрового фильтра.
Теперь найдем первую производную для функции (6):
Но для В справедливо соотношение (9). Тогда окончательно получаем
Поэтому системная функция и частотная характеристика имеют вид
Этот фильтр аппроксимирует идеальную производную на низких частотах не так хорошо, как другие, однако его усиление не является функцией периода дискретизации Т, как у фильтров, аппроксимирующих по двум и трем точкам.
Рассматривая движущуюся систему координат с окном из пяти точек, мы продолжаем аналогичным образом получать новые сглаженные значения выходного сигнала цифрового фильтра и определять устойчивую к действию высокочастотных помех производную входного сигнала.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
1. Сглаживание кривой форсированного выдоха.
1.1.Составить блок-схему алгоритма цифровой фильтрации входного дискретизированного сигнала {x(kT)}, находящегося в массиве X, если входная последовательность х(кТ) аппроксимируется степенным рядом (6) и коэффициентом ряда (7) для к = 0, т. е. P(kT) = A.
Здесь и далее входной сигнал {x(kT)} соответствует некоторой форсированного выдоха, которая либо является реальной записью спирограммы и хранится в отдельном файле, либо моделируется подпрограммой.
Алгоритм должен предусматривать выдачу на экран графика кривой до и после сглаживания, а также хранение сглаженной кривой ФВ в массиве Р.
1.2.Составить программу на языке Паскаль в соответствии с алгоритмом.
Ввести текст программы и отладить программу на ЭВМ. При наличии ошибок исправить их и повторить трансляцию программы и расчет по контрольным примерам.
2. Численное дифференцирование кривой ФВ.
2.1.Составить блок-схему алгоритма численного дифференцирования кривой ФВ в соответствии с формулой (8). При этом дискретизированная кривая ФВ считается заданной в массиве X. Результат численного дифференцирования должен быть сохранен в массиве V.
2.2.Составить блок-схему алгоритма численного дифференцирования входной несглаженной последовательности {х(kТ)}, используя для этой цели разностный оператор, аппроксимирующий первую производную:
2.3.Составить в соответствии с пп. 2.1 и 2.3 на языке Паскаль программу численного дифференцирования кривой ФВ и вывести результаты, позволяющие сравнивать по графикам два способа дифференцирования.
2.4.Отладить на ЭВМ программу. При наличии ошибок исправить и повторить отладку и расчет по программе.
2.5. Проанализировать результаты дифференцирования, сделать выводы.