Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МОиАБМСиД_Калиниченко_020919.pdf
Скачиваний:
203
Добавлен:
25.12.2019
Размер:
823.83 Кб
Скачать

МИНОБРНАУКИ РОССИИ

–––––––––––––––––––––––––––––––––––––

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

–––––––––––––––––––––––––––––––––––––

МЕТОДЫ ОБРАБОТКИ БИОМЕДИЦИНСКИХ СИГНАЛОВ

Учебно-методическое пособие

Санкт-Петербург Издательство СПбГЭТУ «ЛЭТИ»

2019

МИНОБРНАУКИ РОССИИ

–––––––––––––––––––––––––––––––––––––

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

–––––––––––––––––––––––––––––––––––––

МЕТОДЫ ОБРАБОТКИ БИОМЕДИЦИНСКИХ СИГНАЛОВ

Учебно-методическое пособие

Санкт-Петербург Издательство СПбГЭТУ «ЛЭТИ»

2019

1

УДК 681.2:57.089

Методы обработки биомедицинских сигналов: Учебно-методическое пособие / Сост.: А. Н. Калиниченко. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2019. -- с.

Содержит описания лабораторных работ по выполнению математических расчетов, связанных с автоматическим анализом биомедицинских данных, с использованием программного пакета MATLAB.

Предназначено для бакалавров, обучающихся по направлению 12.03.04 «Биотехнические системы и технологии», а также может быть полезно аспирантам по специальности 05.11.17 – «Приборы, системы и изделия медицинского назначения» и научным работникам и инженерам, специализирующимся в области компьютерной обработки биомедицинских сигналов и данных.

Утверждено редакционно-издательским советом университета

вкачестве учебно-методического пособия

©СПбГЭТУ «ЛЭТИ», 2019

2

ВВЕДЕНИЕ

Настоящие методические указания предназначены для выполнения лабораторных работ по дисциплинам «Методы обработки и анализа биомедицинских сигналов и данных» и «Программные средства обработки биомедицинских данных» студентами вузов, обучающимися по направлению подготовки бакалавров 12.03.04 «Биотехнические системы и технологии»..

Целью выполнения лабораторных работ является освоение современных методов компьютерной обработки и автоматического анализа медико-био- логических данных с использованием программного пакета MATLAB.

Цикл лабораторных работ, представленный в данных методических указаниях, включает двенадцать работ и рассчитан на выполнение в течение одного учебного семестра.

Студенты осваивают работу с популярным программным пакетом MATLAB, получают представление о наиболее широко используемых методах и алгоритмах автоматической обработки биомедицинских сигналов и данных, а также на практике знакомятся с типичными задачами, связанными с ис-

пользованием компьютеров в медико-биологических исследованиях.

В методических указаниях лабораторные работы расположены в порядке нарастания сложности выполнения, поэтому рекомендуется в ходе учебного процесса придерживаться этого порядка.

Цикл работ рассчитан на интенсивное освоение учащимися возможностей пакета MATLAB и приемов работы с ним, а также на знакомство учащихся с базовыми сведениями по методам автоматической обработки сигналов. В связи с этим, для усп ешного выполнения работ учащимся может потребоваться использование дополнительных учебных пособий (см. список рекомендованной литературы).

Перед тем как приступать к выполнению работ, необходимо внимательно ознакомиться с разделом «Общие указания», в котором приведены наиболее важные предварительные сведения и рекомендации.

3

Общие указания

Цикл работ рассчитан на использование пакета MATLAB версии R2014 или выше. Кроме того, для выполнения работ необходим комплект файлов с записями реальных электрофизиологических сигналов (см. приложения).

Так как работы рассчитаны на интенсивное освоение пакета MATLAB, то для их успешного выполнения необходима предварительная подготовка к каждому занятию, включающая ознакомление с рассматриваемыми методами обработки биомедицинских сигналов, а также с теми функциями и возможностями MATLAB, которые используются в данной работе.

Важно, чтобы учащиеся с первых же занятий освоили такие базовые элементы пакета MATLAB, как создание и выполнение М-файлов, работа с переменными в рабочем пространстве (Workspace), а также средства отладки (в частности – пошаговый режим и использование точек остановки). Желательно использование какого-либо из учебников по пакету MATLAB.

Для выполнения лабораторных работ необходимо организовать на жестком диске отдельную папку, которая будет использоваться в качестве рабочей. В эту папку перед началом работы должны записываться необходимые файлы с исходными данными, а в ходе выполнения работы – создаваемые программы, а также полученные результаты (графики и файлы с данными).

Для оформления отчетов по выполненным работам учащиеся должны по окончании каждой работы сохранять полученные результаты (согласно указаниям данного методического пособия) в виде файлов в сети Интернет или на устройствах флэш-памяти. Рекомендуется также снабжать получаемые графики пояснительными надписями (см. лаб. раб. 1), а также сохранять их под такими именами, которые содержат нумерацию лабораторных работ.

Внимание: ввиду того, что пакет MATLAB не адаптирован к русскому шрифту, необходимо особо отметить, что во избежание затруднений следует избегать использования русских букв в именах переменных или файлов. Кроме того, используемые имена файлов не должны начинаться с цифр, а также содержать какие-либо символы, кроме английских букв, цифр и символа «_» (подчеркивание).

Также рекомендуется в самом начале всех программ, являющихся сценариями (то есть, не начинающихся с ключевого слова “function”), использовать следующие команды:

close

all

%

Закрытие

всех

открытых ранее графических

окон

clear

all

%

Удаление

всех

созданных ранее переменных

 

4

В конце методических указаний для каждой из работ приведены вопросы для самоконтроля, предназначенные для подготовки к защите. Кроме того, для успешной защиты любой из работ обучающиеся должны быть готовы к ответу на приведённые ниже общие вопросы, относящиеся ко всем работам:

1.Какой метод обработки биомедицинских сигналов и данных иллюстрирует данная работа?

2.Опишите алгоритм реализации используемого метода (последовательность действий, формулы).

3.Что показано на каждом из полученных графиков, какие величины отложены по осям координат, в каком масштабе и в каких единицах измерения?

4.Какие биомедицинские сигналы используются в данной работе, каково их происхождение, какой у них диапазон возможных значений и частотный состав, в каких единицах они измеряются?

5.Чему равняется частота дискретизации и интервал дискретизации сигналов, используемых в работе?

6.Что означает каждая из команд программы, какие действия она выполняет, что является входными и выходными данными команды?

5

Лабораторная работа 1. ТЕОРЕМА ОТСЧЕТОВ И ЭФФЕКТ НАЛОЖЕНИЯ

Цели работы: получение первоначальных навыков работы с системой MATLAB; исследование теоремы отсчетов и эффекта наложения.

Основные положения

Суть теоремы отсчетов (теоремы Котельникова) состоит в следую-

щем: действительный непрерывный сигнал со спектром, ограниченным в полосе частот 0 < f < Fm, может быть восстановлен по его дискретным отсчетам

при условии, что частота дискретизации Fs > 2Fm.

Эффект наложения состоит в том, что при нарушении теоремы отсчетов (т. е. при выборе недостаточно высокой частоты дискретизации) некоторые частотные составляющие становятся неразличимыми.

Задание на выполнение работы

Освоить основы работы в системе MATLAB в командном режиме и в режиме использования сценариев (М-файлов). Освоить простейшие способы расчета значений функций и их вывода в графической форме.

Выполнить исследование эффекта наложения на тестовых синусоидальных сигналах.

Выполнить исследование эффекта наложения на фрагменте ЭКГ.

Порядок выполнения работы

Основы работы в системе MATLAB. Для выполнения данной и всех последующих работ необходимо организовать на жестком диске отдельную папку, которая будет использоваться в качестве рабочей. В эту п апку перед началом работы должны записываться необходимые для ее выполнения исходные файлы, а в ходе выполнения работы – создаваемые программы, а также полученные результаты (графики и файлы с данными).

1.Запустите систему MATLAB.

2.В главном окне установите путь к рабочей папке.

Команды в MATLAB можно вводить двумя способами: непосредственно в командном окне (Command Window) или в редакторе М-файлов (см. далее).

6

При работе в командной строке команды выполняются непосредственно после их введения, например:

>>d=1+2

d =

3

>>f=d+50

f =

53

Если команда завершается точкой с запятой, то численные результаты (если они имеются) не выводятся в командном окне.

3. Выполните простейшие расчеты по аналогии с показанными выше. Работа в командной строке затрудняется, если требуется вводить много

команд и часто их изменять. Самым удобным способом выполнения команд в MATLAB является использование так называемых М-файлов (или программ), в которых можно набирать команды, выполнять их все сразу или частями, сохранять в файле и использовать в дальнейшем. Для работы с М-файлами предназначен редактор М-файлов. Он вызывается с помощью пункта New на панели инструментов основного окна MATLAB (New→Script).

В редакторе М-файлов программа набирается целиком, а затем запускается командой Run (зелёный значок ► на панели инструментов). Если при наборе сделана ошибка и MATLAB не может распознать команду, то программа выполняется до неправильной команды, а затем в командном окне красным шрифтом выводится сообщение об ошибке.

Расчет функций и вывод графиков. Ниже показана программа, кото-

рая вычисляет и строит график функции, задаваемой формулой y = sin(3x).

X=0:0.02:2*pi; % Создание массива (вектора) значений

%аргумента “X” в диапазоне от 0 до 2π

%с шагом 0,02

Y=sin(3*X);

% Вычисление массива значений функции

figure(1)

% Создание окна для вывода

графиков

plot(X,Y)

% Вывод графика кривой, координаты точек

title ('Signal’)

%

которой заданы массивами

“X” и “Y”

%

Заголовок графика

 

Пояснения, расположенные правее знака %, являются комментариями, не оказывающими никакого влияния на выполнение программы.

4. В окне редактирования М-файлов наберите текст этой программы (без комментариев) и сохраните его в файле с расширением m.

7

5.Нажав кнопку ► на панели инструментов, выполните программу.

6.Добавьте в программу строку вычисления второго массива по форму-

ле y = 2cos(5x).

7.Чтобы вывести вторую рассчитанную функцию на том же графике, воспользуйтесь следующим образцом:

hold

on

%

сохранение прежнего

изображения на графике

plot

(X,Y2,‘r’)

%

график массива “Y2”

красным (‘r’) цветом

8.Создайте заголовок графического окна с помощью поля Figure Name панели свойств, которое открывается при выборе в меню графического окна пункта Edit→Figure Properties (не используйте русских букв!)

9.Сохраните график в файле с расширением “png” или “bmp” с помо-

щью пункта меню графического окна File→Save As.

В одном графическом окне может быть размещено несколько полей для вывода графиков. Например, такое окно создается командами:

figure % Создание нового графического окна subplot(3,2,1) % Создание в окне шести полей графиков

% (три ряда по два графика в каждом)

Нумерация полей вывода графиков в графическом окне представлена на рисунке.

График в каком-либо из полей строится

следующим образом:

subplot(3,2,4) % Сделать активным % поле с номером “4”

plot (Y) % Построение графика % значений массива “Y”

1 2

3 4

5 6

10.Дополните программу, создав новое окно с двумя расположенными рядом полями, и выведите в них графики функций, рассчитанных перед этим.

11.Создайте заголовок окна, сохраните графики в файле с расширением “png” или “bmp”, а также текст программы.

Исследование эффекта наложения на тестовых сигналах. Далее при-

водится текст программы, в которой на поле одного графика строятся две кривые: синусоида с частотой F = 30 Гц и амплитудой A = 10, дискретизованная с частотой отсчетов Fs1 = 500 Гц (заведомо достаточной по теореме

отсчетов), и такая же синусоида, дискретизованная с частотой отсчетов Fs2 = = 100 Гц. Диапазон изменения аргументов (t1 и t2) обеихкривых – от 0 до 0,1 с.

8

F=30;

% Частота колебаний синусоиды (Гц)

A=10;

% Амплитуда синусоиды

tmax=0.1;

% Верхний предел изменения аргумента (с)

Fs1=500;

% Первая частота дискретизации (Гц)

Fs2=100;

% Вторая частота дискретизации (Гц)

T1=1/Fs1;

% Интервал дискретизации для частоты “Fs1”

t1=(0:T1:tmax);

% Диапазон изменения аргумента 1-го графика

T2=1/Fs2;

% Интервал дискретизации для частоты “Fs2”

t2=(0:T2:tmax);

% Диапазон изменения аргумента 2-го графика

Y1=A*cos(2*pi*F*t1);% Расчет синусоиды для 1-го графика

figure

% Создание окна для отображения графиков

plot(t1,Y1)

% Построение первого графика

hold on

% Сохранение графического окна

Y2=A*cos(2*pi*F*t2);% Расчет синусоиды для 2-го графика

plot(t2,Y2,'r')

% Построение второго графика

12.Откройте новый М-файл и сохраните его под каким-нибудь именем.

13.Используя в качестве образца приведенный пример, создайте программу, которая рассчитывает и отображает в трех расположенных друг под другом графических полях одного окна графики синусоид с амплитудой A и частотами F, Fs2 + F и Fs2 F (соответственно – в верхнем, среднем и ниж-

нем полях) для частот дискретизации Fs1 и Fs2. Значения величин F, A, tmax, Fs1 и Fs2 для конкретного варианта возьмите из табл. П.1 приложения.

В случае правильного выполнения последнего задания на графиках должно быть видно, что при более низкой частоте дискретизации (Fs2) сигна-

лы в точках взятия отсчетов одинаковы для всех трех случаев (т. е. не ра зличимы между собой), что и иллюстрирует эффект наложения.

14.Создайте заголовок окна, разверните окно на весь экран, сохраните графики в файле с расширением “png” или “bmp”, а также текст программы.

Исследование эффекта наложения на сигнале ЭКГ. В файлах, имена которых указаны в табл. П.1, содержатся фрагменты записей ЭКГ при искусственной электрокардиостимуляции сердца. Для всех записей частота дискретизации Fs = 1200 Гц.

15.В рабочую папку перепишите файл с записью ЭКГ.

Ниже приведена команда чтения фрагмента ЭКГ из файла “W1_00.txt”:

Y=load('W1_00.txt'); % Чтение значений из файла в массив “Y”

9

Edit→Axes

Путем прореживания отсчетов их частота может быть понижена. Ниже приведен фрагмент программы, где выполняется прореживание исходного сигнала и построение графика:

LY=length(Y);% Определение числа прочитанных отсчетов

Fs=1200;

% Частота отсчетов ЭКГ

T=1/Fs;

% Интервал дискретизации для исходной частоты

tmax=LY*T;

% Размер фрагмента сигнала (с)

K1=6;

% Коэффициент прореживания

Fs1= Fs/K1;

% Более низкая частота (здесь Fs1=1200/6=200 Гц)

T1=1/Fs1;

% Интервал дискретизации для частоты “Fs1”

t1=0:T1:tmax-T1;

% Диапазон изменения аргумента для "Fs1"

LY1=LY/K1;

 

% Размер массива для частоты "Fs1"

for i=1:LY1

 

% Цикл для “i” от 1 до “LY1”, в

Y1(i)=Y((i-1)*K1+1); % котором создается массив прореженных

end

 

% в “K1” раз отсчетов

plot(t1,Y1)

% Построение графика прореженного сигнала

16. Создайте программу, которая читает заданный для варианта файл и отображает в трех расположенных друг под другом графических полях сигнал с исходной частотой 1200 Гц и сигналы, прореженные в K1 и K2 раз (ко-

эффициенты прореживания возьмите из табл. П.1).

17. Разверните графическое окно на весь экран. Если на полученных графиках масштабы по оси y получились разными, приведите их к одинаковым значениям, пользуясь пунктом меню графического окна Properties. То же самое можно сделать и непосредственно из программы при помощи команды set, например:

set(gca,‘YLim’,[-1.5 1.5]).

Здесь gca означает обращение к текущему активному графику (get current axis), ‘YLim’ – свойство графика, определяющее пределы по оси “Y”, а значения

вквадратных скобках – конкретные устанавливаемые пределы.

Вслучае правильного выполнения данного задания на графиках должно быть видно, что при понижении частоты дискретизации в сигнале начинают пропадать высокочастотные элементы (в частности – импульсы электрокардиостимулятора), что свидетельствует о недостаточно высокой частоте отсчетов (т. е. о нарушении условий теоремы Котельникова).

18.Создайте заголовок окна, сохраните графики в файле с расширением “png” или “bmp”, а также текст программы.

10