51119

Реєстрація сигналів в MatLAB

Лабораторная работа

Информатика, кибернетика и программирование

Прочитати за допомогою функції load в робочу область сигнал ЕКГ, отриманий з допомогою комп’ютерного електрокардіографа та збережений у mat-файлі. Вивести графік, позначити вісі. (файл архіву ECG_rec.rar на сайті, обрати сигнал згідно номеру за списком; ЕКГ дискретизована з частотою 400 Гц, значення напруги в мілівольтах отримується діленням величин відліків на 500). Визначити (програмно) тривалість записаного сигналу.

Украинкский

2014-02-06

613.88 KB

10 чел.

      

Національний технічний університет України

«Київський політехнічний інститут»

Факультет електроніки

Лабораторна робота № 2

з дисципліни «Теорія сигналів»

«Реєстрація сигналів в MatLAB»

Виконав:  студент 3-го курсу

групи ДП-92

 Лонтковський С.А.

Київ – 2011

Завдання:

1. Прочитати за допомогою функції load в робочу область сигнал ЕКГ, отриманий з допомогою комп’ютерного електрокардіографа та збережений у mat-файлі. Вивести графік, позначити вісі. (файл архіву ECG_rec.rar на сайті, обрати сигнал згідно номеру за списком; ЕКГ дискретизована з частотою 400 Гц, значення напруги в мілівольтах отримується діленням величин відліків на 500). Визначити (програмно) тривалість записаного сигналу.

Текст програми:

clear all

close all

load('ecg_1.mat');

v=400;

n=length(d);

i=0:n-1;

t=i/v;

subplot(2,1,1);

plot(t,[d]/500);

xlabel('t, c');

ylabel('U,mB');

grid;

subplot(2,1,2);

strips(d, 4 ,400 ,1);

xlabel('t, c');

grid;

savefile = '1.mat';

save(savefile, 't', 'd');

t=num2str( max(t));

f=strcat('t=', t,' (c)');

disp(f);

Тривалість сигналу : t=10.2375 (c)


2. Прочитати за допомогою функції load в робочу область сигнали ЕЕГ здорової та хворої людини, отримані з допомогою комп’ютерного електроенцефалографа та збережені у mat-файлі. Вивести графік, позначити вісі. (файли архіву EEG_healthy.rar та EEG_sick.rar на сайті, обрати сигнал згідно номеру за списком; ЕЕГ дискретизована з частотою 256 Гц, значення напруги подано в мікровольтах). Визначити (програмно) тривалість записаного сигналу.

Текст програми:

clear all

close all

 

subplot(3,1,1);

hold on

load('eeg_healthy_1.mat');

load('eeg_sick_1.mat');

n=length(sig_healthy);

v=256;

i=0:n-1;

t=i/v;

plot(t, sig_healthy);

plot(t,sig_sick);

xlabel('t, c');

ylabel('U,мкB');

grid;

hold off

 

subplot(3,1,2);

strips(sig_healthy, 5 ,256,1);

xlabel('t, c');

title('healthy');

grid

 

 

subplot(3,1,3);

strips(sig_sick, 5 ,256,1);

xlabel('t, c');

title('sick');

grid

savefile= '2.mat';

save(savefile, 't','sig_healthy','sig_sick');

 

t=num2str( max(t));

f=strcat('t=', t,' (c)');

disp(f);

Тривалість сигналу: t=10 (c)

3. Прочитати в робочу область сигнал внутришньочерепного тиску за допомогою функції fscanf (файл TBI_ICP.txt; сигнал одноканальний, записаний з частотою дискретизації 125 Гц, одиниці виміру – ммHg), вивести графік на екран, позначити вісі. Зберегти отриманий сигнал у вигляді mat-файлу.

Текст програми:

clear all

close all

tf=fopen('TBI_ICP.txt');

A=fscanf(tf,'%f');

n=length(A);

v=125;

i=0:n-1;

t=i/v;

strips(A, 4500,v,1);

xlabel('t, c');

ylabel('ммHg');

savefile = '3.mat';

save(savefile, 't', 'A');

t=num2str( max(t));

f=strcat('t=', t,' (c)');

disp(f);

Тривалість сигналу : t=21606.392 (c)


4. Прочитати в робочу область сигнал артеріального тиску (файл TBI_ABP.txt; сигнал одноканальний, записаний з частотою дискретизації 125 Гц, одиниці виміру – ммHg) за допомогою функції textread, вивести графік на екран, позначити вісі. Зберегти отриманий сигнал у вигляді mat-файлу. Визначити тривалість записаного сигналу. 

Текст програми :

clear all

close all

A=textread('TBI_ABP.txt');

n=length(A);

v=125;

i=0:n-1;

t=i/v;

strips(A, 2500,v ,1);

ylabel('ммHg')

savefile = '4.mat';

save(savefile, 't', 'A');

t=num2str( max(t));

f=strcat('t=', t,' (c)');

disp(f);

Тривалість сигналу : t=21606.392 (c)


5. Побудувати файл-функцію для виводу на графік ділянки сигналів, отриманих в пп. 1-4. В функцію передавати: час початку та закінчення ділянки, вектор з відліками сигналу, а також інші необхідні дані.

Текст програми :

function f=grf(tmin,tmax,x ,v,amp);

clc;

a=tmin*v;

b=tmax*v;

t=a/v:1/v:b/v;

y=amp*x(a+1:b+1);

f=plot(t,y);

grid;

xlabel('t,c');

ylabel('Y(t)');

           6. Побудувати файл сценарію для виводу на графік потрібної ділянки сигналів, отриманих в пп. 1-4. Значення початку та закінчення ділянки задавати з клавіатури.

Текст програми :

clear all;

close all;

clc;

fn=num2str(input('Name mat file: '));

r=strcat(fn,'.mat');

load(r);

disp(load(r));

x=input('X name of the vector: ');

tmin=input('tmin: ');

tmax=input('tmax: ');

v=input('V: ');

amp=input('Amplitud=X* ');

grf(tmin,tmax,x,v,amp);

Name mat file: 1

   t: [1x4096 double]

   d: [1x4096 double]

X name of the vector: d

tmin: 3

tmax: 8

V: 256

Amplitud=X* 0.03

           9. Зареєструвати за допомогою реанімаційного монітору багатоканальний сигнал ЕКГ та сигнал плетизмограми, зберегти дані у вигляді бінарного файлу.

Частота дискретизації сигналів дорівнює 155.1 Гц в кожному каналі. В бінарному файлі відліки відведень розташовані по стовпцях. Кожний рядок відповідає окремому відведенню.

Прочитати дані з бінарного файлу в робочу область MatLAB, вивести графіки всіх сигналів на екран в одному вікні за допомогою функції subplot. Зберегти отримані сигнали в матриці у mat-файлі.

Текст програми :

close all

clear all

 k=3;

 sig=fopen('sig1.bin','rb');

 A=fread(sig,[k inf],'int16');

 fclose(sig);

 n=length(A);

 v=151.1;

 i=0:n-1;

 t=i/v;

for e=1:k;

   m=A(e,:);

   subplot(k,1,e);

   plot(t,m);

   grid;

   xlabel('t, c');

   ylabel('Y(t)');

end

   savefile = 'sig1.mat';

   save(savefile, 't', 'A');

   


10. Записати звук тривалістю 5 сек. в робочу область за допомогою функції wavrecord. Записати однакові фрази з частотою дискретизації 8 кГц та 44 кГц. Записати дані в .wav- файл. Засобами операційної системи оцінити об’єм пам’яті, необхідний для збереження сигналу.

Текст програми :

clear all

close all

clc;

         

 Fs1=44000;

 y1=wavrecord(5*Fs1, Fs1,'int16');

 wavwrite(y1,Fs1,'1.wav');

  Fs2=8000;

  y2=wavrecord(5*Fs2, Fs2,'int16');

  wavwrite(y2,Fs2,'2.wav');

Sound1 44kHz: 429.73kb

Sound2 8kHz:78.17kb

11. Прочитати та прослухати отримані записи з допомогою функції wavread. Засобами MatLAB отримати з файлу дані про частоту дискретизації та кількість бітів на відлік.

Текст програми :

clear all

close all

clc;

 

[N1,frequency1,bit1]=wavread('1.wav');

[N2,frequency2,bit2]=wavread('2.wav');

 

wavplay(N1,frequency1);

wavplay(N2,frequency2);

 

disp(['                      N           bit    F(kHz)']);

t=num2str([1 length(N1) bit1  frequency1/1000;2 length(N2) bit2 frequency2/1000]);

f=strcat( 'Sound' ,t);

disp(f);

                   N          bit    F(kHz)

Sound1  220000      16       44

Sound2   40000       16        8

12. Побудувати функцію, яка будує графік запису звуку заданої тривалості. Значення початку та закінчення ділянки задавати з клавіатури.

Текст програма :

function f=grf12(tmin,tmax,x ,v,amp);

a=tmin*v;

b=tmax*v;

t=a/v:1/v:b/v;

y=amp*x(a+1:b+1);

f=plot(t,y);

grid;

xlabel('t,c');

ylabel('Y(t)');

clear all;

close all;

clc;

fn=num2str(input('Name wav file: '));

r=strcat(fn,'.wav');

wavread(r);

tmin=input('tmin: ');

tmax=input('tmax: ');

v=input('V: ');

amp=input('Amplitud=X* ');

x=[ans];

grf12(tmin,tmax,x,v,amp);

Name wav file: 1

tmin: 2.5

tmax: 5

V: 36000

Amplitud=X* 3

 

                                                                         Висновки :

Записаний аудіо сигнал тривалістю 5 сек. із частотою 44КГц займає об'єм пам'яті 429.73kb , а у випадку із частотою 8КГц складає 78.17kb. Виходячи із цих даних можна розрахувати необхідну кількість пам’яті на 1 відлік: 1b=8bit;  (78.17*1024*8)/(5*8000)=16,009≈16bit що відповідає об'єму пам'яті визначеним программно.


 

А также другие работы, которые могут Вас заинтересовать

21174. СТРУКТУРНАЯ СХЕМА КОНСТРУКТОРСКО-ТЕХНОЛОГИЧЕСКОГО ПРОЕКТИРОВАНИЯ ПЕЧАТНОЙ ПЛАТЫ 74 KB
  Выбор типа конструкции блока и варианта конструктивного исполнения модуля I уровня ячейки. Выбор компоновочной структуры ячеек ЭА. Выбор типа конструкции ПП. Выбор класса точности ПП.
21175. Тепловые воздействия на конструкции СВТ 175.5 KB
  Комплекс технических средств реализующих тот или иной способ отвода тепла от аппаратуры в окружающую среду назовем системой охлаждения. В зависимости от характера контакта теплоносителя с поверхностью источника тепла различают системы охлаждения прямого и косвенного действия. Воздушные жидкостные и испарительные системы охлаждения могут работать по разомкнутому и замкнутому циклу. В первом случае отработанный нагретый теплоноситель удаляется из системы и больше в ней не используется во втором случае отработанный теплоноситель охлаждается...
21176. Тест начального включения — POST 67.5 KB
  POST выполняет тестирование процессора памяти и системных средств вводавывода а также конфигурирование всех программноуправляемых аппаратных средств системной платы. Часть конфигурирования выполняется однозначно часть управляется джамперами системной платы но ряд параметров позволяет или даже требует конфигурирования по желанию пользователя. Однако для использования такой диагностики необходима вопервых сама платаиндикатор и вовторых словарь неисправностей таблица специфическая для версии BIOS и системной платы. Если не...
21177. ТЕХНОЛОГИЧЕСКАЯ ДОКУМЕНТАЦИЯ. ЕСТД. ТЕХНОЛОГИЧЕСКАЯ ПОДГОТОВКА ПРОИЗВОДСТВА (ТПП). ТЕХНОЛОГИЧНОСТЬ 37 KB
  ТЕХНОЛОГИЧНОСТЬ Состав и правила выполнения технологической документации определяется ГОСТ 3.1001 81 Единой системой технологической документации ЕСТД. Она представляет собой комплекс государственных стандартов и руководящих нормативных документов устанавливающих взаимосвязанные правила и положения по порядку разработки комплектации оформления и обращения технологической документации применяемой при изготовлении и ремонте изделий контроль испытания и перемещения. Основное назначение ЕСТД в установлении во всех организациях и на...
21178. Алгебраїчні доповнення. Обчислення детермінантів 341.5 KB
  Означення алгебраїчного доповнення елементу детермінанта. Такий детермінант називається алгебраїчним доповненням елемента даного детермінанта і позначається як : 6. Детермінант дорівнює сумі добутків елементів будьякого рядка детермінанта на їх алгебраїчні доповнення.3 Доведення: Додамо до кожного елементу mго рядка детермінанта 6.
21179. Ранг матриці. Елементарні перетворення матриці 204 KB
  Елементарні перетворення матриці. Визначення рангу матриці. Такий детермінант називається мінором матриці kго порядка.
21180. Системи лінійних алгебраїчних рівнянь загального виду. Теорія Кронекера-Капеллі. Метод Гаусса 237.5 KB
  Система називається сумісною якщо вона має хоча б один розв язок тобто хоча б один стовпець який перетворює рівняння 9.1 в тотожність і несумісною якщо вона не має розв язків. Система називається означеною якщо вона має один розв язок і неозначеною якщо вона має розв язків більше одного. Аналіз систем рівнянь повинен дати відповідь на два питання чи сумісна система тобто чи має вона розв язок і якщо сумісна то чи вона означена чи ні.
21181. Лінійні простори. Базис. Розмірність. Ізоморфізм просторів 366 KB
  Але наприклад множина додатніх чисел не утворює лінійного простору по відношенню до звичайних операцій додавання та множення бо в цьому разі нема протилежного числа воно повинно бути від€ємним а значить не буде належати цій множині. Але множина векторів з якої вилучені вектори колінеарні заданій прямій не утворює лінійного простору бо завжди можна знайти такі два вектори які в сумі дадуть вектор колінеарний цій прямій тобто сума не буде належати множині. 4 Множина матриць заданого розміру якщо додавання матриць та множення на...
21182. Перехід до нового базису. Орієнтація базиса. Скалярний добуток. Евклідовий простір 361.5 KB
  Орієнтація базиса. Перехід до нового базиса. Хай в пвимірному лінійному просторі вибрані два базиса: та .2 Таким же чином і кожний вектор базиса можна розкласти по базису : .