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 що відповідає об'єму пам'яті визначеним программно.


 

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

19477. Архітектура шин 28 KB
  Архітектура шин Компю́терна ши́на англ. computer bus служить для передачі даних між окремими функціональними блоками компютера і є сукупністю сигнальних ліній які мають певні електричні характеристики і протоколи передачі інформації. Шини можуть розрізнятися розрядніст...
19478. Загальна характеристика зп 25.5 KB
  Загальна характеристика зп ЗП поділяється на дві основні групи: зовнішню і внутрішню.Зовнішні ЗП призначені для тривалого зберігання великих масивів інформації з ємністю до гігабайта і більше та малою швидкодією. Зовнішня пам’ять містить в собі накопичувачі на магнітн...
19479. Що таке мультипроцесори 22.92 KB
  Що таке мультипроцесори Системи в яких комп'ютери використовують пам'ять спільно зазвичай називаються мультипроцесорами Мультипроцесори з використанням єдиної спільної пам'яті shared memory забезпечується однорідний доступ до пам'яті uniform memory access or UMA є основою дл...
19480. НГМД, НЖМД 27 KB
  НГМД НЖМД НГМД Цей пристрій використовує як носія інформації гнучкі магнітні диски дискети які можуть бути 5ти або 3х дюймовими. Дискета це магнітний диск начебто пластинки поміщений в конверт. В залежності від розміру дискети змінюється її ємність в байтах. Якщ...
19481. Основні характеристики ЗП 23.5 KB
  Основні характеристики ЗП 1Інформаційна ємність. Виміряється в кілобайтах мегабайтах гігабайтах і терабайтах. 2 Час доступу. Визначається як усереднений інтервал від видачі запиту на передачу блока даних до фактичного початку передачі. Дискові накопичувачі мають
19482. Паралельні компютерні архітектури 42.8 KB
  Паралельні комп'ютерні архітектури Швидкість роботи комп'ютерів стає все вище а й вимоги до них постійно зростають. Астрономи намагаються відтворити всю історію Всесвіту з моменту великого вибуху і до сьогоднішнього дня. Фармацевти хотіли б розробляти нові лікарськ
19483. Принцип організації системи BIOS 30.5 KB
  Принцип організації системи BIOS BIOS англ. Basic Input/Output System базова система введення/виведення є набором спеціальних підпрограм які використовуються комп'ютерами архітектури x86 для ініціалізації компонентів персональної платформи необхідних для її первинного завантаж...
19484. Принципи дії системи переривань 27 KB
  Принципи дії системи переривань Система переривань будьякого комп'ютера є його найважливішою частиною що дозволяє швидко реагувати на події обробка яких повинна виконаються негайно: сигнали від машинних таймерів натиснення клавіш клавіатури або миші збої пам'яті і ...
19485. Способи адресації 28.5 KB
  Способи адресації Спо́соби адреса́ції па́м'яті комплекс стандартизованих для певної архітектури системи команд центрального процесора способів для визначення обчислення місця розташування операндів в пам'яті ЕОМ або адреси наступної команди при виконанні команд