Biomedical Signal Processing

پردازش سیگنال ـ پردازش سیگنال پزشکی _Matlab Learning

Biomedical Signal Processing

پردازش سیگنال ـ پردازش سیگنال پزشکی _Matlab Learning

وبسایت تخصصی پردازش سیگنال های پزشکی جهت ارایه آموزش های مختلف در حوزه پردازش سیگنال در نرم افزار متلب در خدمت شماست.

نویسندگان
آخرین نظرات

۶ مطلب با موضوع «پردازش سیگنال پزشکی» ثبت شده است

در این شکل ابتدا سیگنال مورد نظر بدون نویز برق شهر ترسیم گردیده است، سپس به آن نویز برق شهر با اس ان آر (SNR) دلخواه اضافه گردیده است. پس چی شد؟؟؟ دلم خواسته به سیگنالم نویز برق شهر اضافه کنم و ببینمش ...

هدف از این مطلب اینه که با نحوه انجام کار و تاثیر شکلی نویزها آشنا بشیم. اما در اینجا صرفا اضافه شدن نویز برق شهر با فرکانس 50 هرتز مدنظر بوده ...

 

در ادامه مطلب کدهای مربوط به ترسیم و توضیحات نحوه اضافه شدن آوزده شده است.

۰ نظر موافقین ۰ مخالفین ۰ ۲۳ ارديبهشت ۹۹ ، ۱۷:۳۲
سبحان بامداد

در این پست قصد داریم سیگنال ECG را که از سایت فیزیونت دانلود کرده ایم، در محیط نرم افزار متلب فراخوانی و سپس ترسیم نماییم.

 

اگر بخواهیم سیگنال ECG  (الکتروکاردیوگرام) را در محیط نرم افزار متلب ابتدا 20 ثانیه از آن را بر اساس سمپل (نمونه)، و سپس بر اساس زمان (ثانیه) در دو subplot زیر هم ترسیم نماییم، به صورت زیر عمل مینماییم:

 

کدهای متلبی شکل فوق در ادامه مطلب قرار داده شده است...

۰ نظر موافقین ۰ مخالفین ۰ ۲۳ ارديبهشت ۹۹ ، ۰۲:۰۶
سبحان بامداد
سوال اول : این دیتای صدای قلب 10 ثانیه رو داره نشون میده. اگه من بخوام یه قسمت خاص از سیگنال مثلا از سمپل 1 تا 70000 رو ببینم باید چیکار کنم ؟

جواب : ازونجایی که دیتامون (که مثلا نامش y1 هست) یک بردار 424560*1 یا 1*424560 هستش، پس برای انتخاب یک قسمت خاص از دیتا بدین گونه عمل میکنیم:
y2=y1(1:70000)
یا مثلا از سمپل 80000 تا سمپل 120000 را میخوام :
y3=y1(80000:120000)


سوال دوم : توی شکل صدای قلب نمونه ای که داشتیم، ده تا سیکل صدای قلبی رو داریم. اگه بخوام مثلا سیکل اول رو فقط داشته باشم چیکار کنم ؟
جواب : خب در کمال سادگی از دستور length استفاده میکنیم .
مثل من مینویسم plot(t(1:length(t)/10),y1(1:length(y1)/10)) تا به راحتی بتونم سیکل اول صدای قلب را ترسیم کنم. پس کل کد من به صورت زیر خواهد بود :

clc;clear;close all
[y1,fs]=audioread('normal.mp3'); % read Heart sound data
T = 1/fs; % Sample time
L = length(y1); % Length of signal
t = (0:L-1)*T; % time vector

plot(t(1:length(t)/10),y1(1:length(y1)/10))

 

 

 

 
 
 
 
ترسیم یک سیکل صدای قلب
۰ نظر موافقین ۰ مخالفین ۰ ۰۷ فروردين ۹۹ ، ۲۲:۰۳
سبحان بامداد

جهت فراخوانی صدای قلب از دستور audioread و یا wavread استفاده میشود. سپس با توجه به فرکانس (نرخ نمونه گیری) به ترسیم آن پرداخته خواهد شد. با دستور plot میتوان ترسیم نمود و با دستور sound صدای قلب مربوطه را میتوان پخش نمود و شنید. کد ساده مربوطه به صورت زیر است.

 

clc;clear;close all;

[y1,fs]=audioread('normal.mp3');   % read  Heart sound data
        T = 1/fs;                  % Sample time
        L = length(y1);            % Length of signal
        t = (0:L-1)*T;

plot(t,y1)

 sound(y1,fs)

 

دریافت دیتای صدای قلب نرمال استفاده شده در این تمرین

۱ نظر موافقین ۰ مخالفین ۰ ۰۷ فروردين ۹۹ ، ۱۴:۲۶
سبحان بامداد

من امروز بعد از مدت ها یه سر به سایت فیزیونت زدم. ظاهرا قالب کلی و ظاهر سایت رو کلا آپدیت و متفاوت کردند. هیچ اشکالی نداره، چون در قسمت جستجوی سایت که در گوشه بالای سمت راست قرار داره، میتونیم به راحتی دیتاهای
مختلف رو پیدا کنیم.

مثلا من دوس داشتم همین دیتای صدای قلب (فونوکاردیوگرام) رو ببینم. یادم اومد که دکتر ثامنی دانشگاه شیراز و دانشجوشون خانم سمیعی نسب دیتای صدای قلب جنین و مادر رو که خودشون در شیراز ثبت کردند توی فیزیونت قرار دادند، و من به راحتی با جستجو کردن، پیداش کردم!
 

این مجموعه دیتای صدای قلب جنین با نام shiraz university در سایت فیزیونت موجود هستش و شما میتونید دانلود و بررسیش کنید.

 

اینو هم در مورد صدای قلب عرض کنم که :
معمولا صدای اول قلب (S1) هنگام آغاز سیستول شنیده میشه و ناشی از بسته شدن دریچه‌های دهلیزی-بطنی هستش. صدای دوم قلب (S2) هنگام آغاز دیاستول قلبی شنیده میشه و ناشی از بسته شدن دریچه‌های آئورت و شریان ریوی است. بین صدای اول و دوم،  S2 با زمان سیستول قلب مطابقت دارد و این زمان به طور طبیعی کوتاهتر از زمان بین صدای دوم و اول (دیاستول) است.

صرفا اینو خواستم یه اشاره داشته باشیم، در صورتی که بازم مفهوم نیس، بهتره با جستجوی ساده ای این بحث صدای قلب رو بهتر و بیشتر متوجهش بشیم...

نکته بعدی : در اصل چندین صدای دیگه هم وجود داره، ولی با توجه به محدوده شنوایی انسان صرفا پزشکان S1 و S2 رو میشنوند... خب که این موضوع نیز جای بحث داره ... .

 

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۷ فروردين ۹۹ ، ۱۱:۵۸
سبحان بامداد

PCG (صدای قلب)
فونوکاردیوگرام یا همان صدای قلب یک از مهمترین سیگنال های حیاتی به شمار میره که جهت صحت و یا تشخیص بیماری زیاد کاربرد داره. دوستانی که پزشکی یا رشته های بالینی هستند کاملا باهاش آشنایی دارند...
اما قراره که یه سیگنال صدای قلب رو توی نرم افزار متلب فراخوانی کنیم.
فرض ما بر اینه که شما دیتای صدای قلب رو از سایت فیزیونت یا هر سایت دیگه ای دانلود کردید و قراره مقدار دامنه سیگنال صدای قلب رو در لحظات مختلف میخواید گوش کنید و یا ترسیم کنید. پس با چند تا دستور ساده اینکار رو خواهید کرد

load(صدای قلب مورد نظر)

پس ازینکه صدای قلب رو فراخوانی کردین ( یا به قول بچه باکلاسا : لودکردین) معمولا دو پارامتر در قسمت "ورک اسپیس نرم افزار متلب تون" باهاش مواجه میشد: اولی سیگنال صدای قلبتون هست که یه بردار عددی مثلا یک در هزار هستش_ دومی هم مقدار فرکانس نمونه برداری هستش

۰ نظر موافقین ۰ مخالفین ۰ ۰۷ فروردين ۹۹ ، ۱۱:۵۰
سبحان بامداد