تبدیل ویولت
تبدیل ویولت یکی از مفاهیم مهم در حوزه پردازش سیگنال و تصویر است. این تبدیل به صورت گستردهای در زمینههای مختلفی مانند پردازش تصویر، پردازش صوت، رمزنگاری و فشردهسازی استفاده میشود.
تبدیل ویولت اطلاعات یک سیگنال زمانی را به دامنه فرکانس تبدیل میکند و به این ترتیب، اطلاعات مخفی شده در فضای فرکانسی سیگنال قابل مشاهده میشود.
ﻣﻘﺪﻣﻪ:
تبدیل ویولت ﻳﻜﻲ از ﭘﺮﻛﺎرﺑﺮدﺗﺮﻳﻦ ﺗﺒﺪﻳﻼت رﻳﺎﺿﻲ در ﺣﻮزه ﭘﺮدازﺷﻲ و ﺑﻪ وﻳﮋه ﭘﺮدازش ﺳﻴﮕﻨﺎل و ﺗﺼﻮﻳﺮ میﺑﺎﺷﺪ.
ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﺎﻫﻴﺖ آﻧﺎﻟﻴﺰ ﭼﻨﺪرزوﻟﻮﺷﻨﻲ اﻳﻦ تبدیل ﺟﺎي ﺧﻮد را در ﺑﺴﻴﺎري از ﻛﺎرﺑﺮدﻫﺎي ﭘﺮدازﺷﻲ ﺑﺎز ﻛﺮده اﺳﺖ و ًﺑﻌﻀﺎﺑﻪ ﻋﻨﻮان ﺗﻮاﻧﻤند ﺗﺮﻳﻦ اﺑﺰار رخ میﻧﻤﺎﻳﺪ.
در اﻳﻦ ﻧﮕﺎرش، ﻣﺒﺎﻧﻲ رﻳﺎﺿﻲ ﺗﺒﺪﻳﻞ وﻳﻮﻟﺖ ﻣﺮور ﺧﻮاﻫﺪشد . ﺑﺪﻳﻦ ﺗﺮﺗﻴﺐ ﻛﻪ در اﺑﺘﺪا ﺗﺒﺪﻳﻞ ﻓﻮرﻳﻪ ﺗﻮﺿﻴﺢ داده ﺷﺪه و ﺳﭙﺲ ﺑﺎ ﺑﻴﺎن کاستی های آن، ﻫﺎي ﺗﺒﺪﻳﻞ ﻓﻮرﻳﻪ زﻣﺎن ﻛﻮﺗﺎه ﺑﺮرﺳﻲ ﻣﻲ ﮔﺮدد.
در ﻧﻬﺎﻳﺖ ﺑﻪ ﺗﺒﺪﻳﻞ وﻳﻮﻟﺖ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ و ﺑﻪ رواﺑﻂ رﻳﺎﺿﻲ آن اﺷﺎره ﺧﻮاﻫﻴﻢ کرد.
ﺑﺎ ﮔﺴﺘﺮش کاربردهای این ﺗﺒﺪﻳﻞ، ﻧﻴﺎز ﺑﻪ ﻓﺮاﮔﻴﺮي آن آﺷﻨﺎﻳﻲ ﺑﺎ ﺗﻮاﻧﺎﻳﻲ ها و ﻗﺎﺑﻠﻴﺖ ﻫﺎ آن رخ میﻧﻤﺎﻳﺪ.
در اﻳﻦ راﺳﺘﺎ ﺗﺄﻟﻴﻔﺎت، و ﻣﻘﺎﻻت زﻳﺎدي وﺟﻮد دارد ﻛﻪ ﻣﻲ ﺗﻮان ﺑﻪآن ها استناد نمود،اما دراکثر قریب به اتفاق این نوشتاره، ﻳﺎ آن ﻛﻪ ﺗﺒﺪﻳﻞ وﻳﻮﻟﺖ ﺑاتفاصیل وجزئیات بسیار بیان شده است و ﻣﺴﻠﻤﺎ به عنوان قدم اول برای آشنایی بااین زﺑﺎن ﺑﺮﻧﺎﻣﻪﻧﻮﻳﺴﻲ، ﺣﺠﻴﻢ و وقتگیر ﺑﻪ ﻧﻈﺮمی رﺳﺪ،ویا آن ﻛﻪ ﻣﺎﻫﻴﺖ اﻳﻦ ﺗﺒﺪﻳﻞ در ﻟﻔﺎﻓﻪ رواﺑﻂ رﻳﺎﺿﻲ آن ﺑﻪ ﻓﺮاﻣﻮﺷﻲ ﺳﭙﺮده ﻣﻲ ﺷﻮد.
ﻟﺬا ﺑﺮ آن شدﻳﻢ ﺗﺎ ﺑﺎ درﻧﻈﺮ ﮔﺮﻓﺘﻦ ﻧﻴﺎز داﻧﺸﺠﻮﻳﺎن، ﺑﻪ وﻳﮋه در ﻣﻘﻄﻊ ﻛﺎرﺷﻨﺎﺳﻲ، ﻣﻘﺪﻣﺎﺗﻲ را ﺟﻬﺖ آﺷﻨﺎﻳﻲ سپس تسلط برمفاهیم تبدیل ویولت ونهایتا به کارگیری آن،راهگشا باشد.
در این ﻧﻮﺷﺘﺎر،ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﮔﺴﺘﺮدﮔﻲ مطالب ﺳﻌﻲ ﺑﺮ آن ﺷﺪه اﺳﺖ ﻛﻪ از ﭘﺮداﺧﺘﻦ ﺑﻪ ﺟﺰﺋﻴﺎت ﻏﻴﺮﺿﺮوري ﭘﺮﻫﻴﺰ ﺷﻮد.
ﻟﺬا در اﻳﻦ ﻧﺴﺨﻪ، اﺑﺘﺪا ﭘﻴﺸﻴﻨﻪ آﻧﺎﻟﻴﺰ در ﺣﻮزه ﻓﺮﻛﺎﻧﺲ ﺑﺎ ﺗﺒﺪﻳﻞ ﻓﻮرﻳﻪ ﺑﻴﺎن میﺷﻮد و ﺳﭙﺲ ﺑﻪ ﻣﻔﺎﻫﻴﻢ ﻣﻘﺪﻣﺎﺗﻲ و ﺿﺮوري تبدیل وﻳﻮﻟﺖ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ و در ﻛﻨﺎر آن مثال هایی ﺑﻴﺎن ﺧﻮاﻫﻴﻢ ﻛﺮد.
ﺑﻪ اﻳﻦ اﻣﻴﺪ ﻛﻪ داﻧﺸﺠﻮﻳﺎن ﻋﺰﻳﺰ ﺑﺘﻮاﻧﻨﺪ ﺑﺎ ﻓﺮاﮔﻴﺮي اﻳﻦ ﻧﻜﺎت، ﻣﺴﻴﺮ فراگیری اﻳﻦ ﺗﺒﺪﻳﻞ ﺳﺎده تر را ﺑﭙﻴﻤﺎﻳﻨﺪ.
در اﻳﻦ راﺳﺘﺎ، رﺋﻮس ﻣﻄﺎﻟﺒﻲ ﻛﻪ ﺑﻪ آن ﻫﺎ ﺧﻮاﻫﻴﻢ ﭘﺮداﺧﺖ ﻋﺒﺎرﺗﻨﺪاز:
- تبدیل فوریه
- تبدیل فوریه زمانه-کوتاه
- آنالیز چندرزولوشونه
- تبدیل ویولت یک بعدی(پیوسته وگسسته)
- تبدیل ویولت یک بعدی
تبدیل فوریه:
در یگ نگاه کلی،هدق ازاعمال یک تبدیل ریاضی بریک سیگنال،بدست اوردن اطلاعات اضافه ای است که درسیگنال خام اولیه قابل دسترس نمی باشند.
دراغلب رویکردهای پردازش در مهندسی پزشکی،منظور ازسیگنال خام اولیه،سیگنال مورد نظر در حوزه زمان است.
شایان ذکر است که واژه سیگنال به مفهوم عام آن بیان شده است.
به عبارت دیگر،ازاین به بعد،تصویر به منزله یک سیگنال دوبعدی خواهد بود.
همانگونه که عنوان شد،اکثرقریب به اتفاق سیگنال های مورد استفاده درعمل،درحوزه زمان هستند.
به عبارت دیگر،درایه های سیگنال،جدای ازآنچه سیگنال مورد بحث اندازه گیری می کند،تابعیت زمانی خواهدداشت.
بدین سان به هنگام رسم سیگنال،دامنه مقادیرمختلف سیگنال برحسب زمان رسم می گردند.
طبیعتاُُ این نحوه نمایش،بهترین شکل برای توصیف یک سیگنال نخواهدبود.
دربسیاری موارد،اطلاعات سودمندسیگنال درمحتوای فرکانسی آن نهفته اندکه اصطلاحاُُُ به آن،طیف سیگنال گفته می شود.
به بیان ساده،طیف یک سیگنال نشان دهنده فرکانس های موجوددر آن سیگنال است.
ازدیدگاه علمی،اگریک متغیرریاضی یافیزیکی دارای تغییراتی سریع باشد،به آن پرفرکانس(یافرکانس بالا)گفته می شودودرمقابل اگرتغییرات سیگنال ناچیزباشد،اصطلاحاُُسیگنال را فراکنس پائین می نامند.
به بیان صریح ترمی توان گفت که مفهوم فرکانس در حقیقت نشان دهنده نرخ تغییرات متغیرمتناظرباآن است.
فرکانس رابامعیار سیکل برثانیه (هرتز) اندازه می گیرند.
به عنوان مثال،فرکانس برق شهر،50هرتز می باشدکه نشان دهنده این است که جریان الکتریسیته در هرثانیه،50بار سیکل سینوسی را طی می کند.
باتوجه به مفهوم فرکانس می بایست ابزاری برای سنجش محتوای فرکانسی یک سیگنال داشت.
این ابزار همان تبدیل فوریه است که درادامه به شرح آن می پردازیم.
آنالیز در حوزه فرکانس:
درقرن 19 میلادی،یک ریاضی دان فرانسوی به نام جوزف فوریه نشان داد که هر تابع متناوب را می توان برحسب مجموع نامتناهی از توابع پایه سینوسی وکسینوسی(ویاتابع نمایی متناوب مختلط)نوشت.
سال ها بعد از کشف این خاصیت شگفت انگیز توابع متناوب،این ایده تحت عنوان تبدیل فوریه(fouier transfrom)به سایرتوابع نیز تعمیم داده شد.
پس ازاین تعمیم بود که تبدیل فوریه به عنوان ابزاری کارآمددر محاسبات کامپیوتری واردگردید.
درسال 1965،یعنی نزدیک به 150سال بعد ازآن که جوزف فوریه ایده خود را مطرح نمود،یک الگوریتم جدیدبانان تبدیل فوریه سریع(FFT)جای خودرادرمحاسبات کامپیوتری بازکرد.
تبدیل فوریه،یک سیگنال رابه مجموعی ازنامتناهی تابع نمایی مختاط افراز می کند که هرکدام ازآن ها دارای فرکانس های مختلفی می باشند.
طبق تعریف،تبدیل فوریه سیگنال پیوسته درزمان x(t)به صورت زیربدست می آید.

که درآن t زمان و f فرکانس است.رابطه (1)تبدیل فوریه سیگنال x(t) رانشان می دهد.
با استفاده ازتبدیل فوریه، می توان سیگنال زمانی رابه صورت یکتا به نحوزیر تعیین نمود که دراصطلاح،عکس تبدیل فوریه سیگنال نامیده می شود:

بادقت دررابطه (1)می توان دید که سیگنال x(t)در یک جمله نمایی با فرکانس معین fضرب شده است وسپس برتمام زمان ها انتگرال گرفته شده است.
باید دقت نمودکه جمله نمایی را می توان به صورت زیرنوشت:

ﻋﺒﺎرت ﺑﺎﻻ ﺷﺎﻣﻞ ﻳﻚ ﺟﻤﻠﻪ ﺣﻘﻴﻘﻲ ﻛﺴﻴﻨﻮﺳﻲ ﺑﺎ ﻓﺮﻛﺎﻧﺲ f و ﻳﻚ ﺟﻤﻠﻪ ﻣﻮﻫﻮﻣﻲ ﺳﻴﻨﻮﺳﻲ ﺑﺎ ﻓﺮﻛﺎﻧﺲf میﺑﺎﺷﺪ.
آنالیز چندرزولوشونه برای تبدیل ویولت
تبدیل ویولت یک روش قدرتمند برای آنالیز چندرزولوشنه است. آنالیز چندرزولوشنه به معنای تحلیل سیگنال در چند رزولوشن مختلف است، به این معنی که سیگنال ابتدا به بخشهای کوچکتر تقسیم شده و سپس هر بخش با دقت بالاتری تحلیل میشود.
تبدیل ویولت به عنوان یک روش آنالیز سیگنال، قابلیت ارائه آنالیز چندرزولوشنه را داراست.
از آنجا که تبدیل ویولت سیگنال را به فضای فرکانس تبدیل میکند، ما میتوانیم از اطلاعات فرکانسی برای آنالیز چندرزولوشنه استفاده کنیم.
با استفاده از تبدیل ویولت، ما میتوانیم سیگنال را به بخشهای فرکانسی مختلف تجزیه کنیم و سپس هر بحش را به صورت جداگانه تحلیل کنیم.
این به ما اجازه میدهد که سطوح مختلف جزئیات سیگنال را در نقاط مختلف فرکانسی بررسی کرده و نقاط قوت و ضعف سیگنال را به صورت جداگانه مورد بررسی قرار دهیم.
با استفاده از تبدیل ویولت، ما میتوانیم سطوح مختلف رزولوشن را برای آنالیز سیگنال اعمال کنیم. به عبارت دیگر، ما میتوانیم سطوح مختلف دقت و نقطهای بودن تحلیل را برای سیگنالهای مختلف اعمال کنیم.
این به ما اجازه میدهد که سطوح مختلف جزئیات سیگنال را برای هر فرکانس خاص بررسی کرده و نقاط قوت و ضعف سیگنال را در هر فرکانس به صورت جداگانه بررسی کنیم.
به طور خلاصه، تبدیل ویولت به عنوان یک روش آنالیز سیگنال، قابلیت اعمال آنالیز چندرزولوشنه را داراست و به ما اجازه میدهد که سطوح مختلف جزئیات و نقاط قوت و ضعف سیگنال را در نقاط فرکانسهای مختلف بررسی کنیم.
تبدیل ویولت یک بعدی(پیوسته وگسسته)
تبدیل ویولت یک بعدی به صورت پیوسته و گسسته دو نوع اصلی دارد:
تبدیل ویولت پیوسته و تبدیل ویولت گسسته.
1. تبدیل ویولت پیوسته:
در تبدیل ویولت پیوسته، سیگنال مورد نظر به عنوان یک تابع پیوسته از زمان در نظر گرفته میشود. سپس با استفاده از تبدیل ویولت پیوسته، سیگنال به فضای فرکانس منتقل شده و در فضای فرکانس تحلیل میشود.
این نوع تبدیل ویولت برای سیگنالهای پیوسته مانند سیگنالهای صوتی و تصویری استفاده میشود.
2. تبدیل ویولت گسسته:
در تبدیل ویولت گسسته، سیگنال به عنوان یک تابع گسسته از زمان در نظر گرفته میشود. سپس با استفاده از تبدیل ویولت گسسته، سیگنال به فضای فرکانس منتقل شده و در فضای فرکانس تحلیل میشود.
این نوع تبدیل ویولت برای سیگنالهای گسسته مانند سیگنالهای دادهها و سیگنالهای دیجیتال استفاده میشود.
در هر دو نوع تبدیل ویولت، سیگنال ابتدا به فضای فرکانس منتقل شده و سپس در فضای فرکانس تحلیل میشود. این به ما اجازه میدهد که اطلاعات مفید درباره فرکانسهای مختلف موجود در سیگنال را بدست آوریم و از این اطلاعات برای آنالیز، پردازش و فشردهسازی سیگنال استفاده کنیم.
تبدیل ویولت یک بعدی
تبدیل ویولت یک بعدی یا تبدیل فوریه یک بعدی (One-dimensional Fourier Transform) یک روش مهم در پردازش سیگنال و تحلیل فرکانسی سیگنالها است.
این تبدیل به ما اجازه میدهد تا یک سیگنال زمانی را به فضای فرکانس منتقل کرده و اطلاعات درباره محتوای فرکانسی آن سیگنال را بدست آوریم.
تبدیل ویولت یک بعدی برای سیگنالهای پیوسته و گسسته قابل استفاده است. با اعمال این تبدیل، سیگنال زمانی به یک سیگنال فرکانسی تبدیل میشود، که نشاندهنده مقدار و فاز مختلف فرکانسهای موجود در سیگنال است.
رابطه تبدیل ویولت یک بعدی به صورت زیر است:
X(f) = ∫_-∞^∞ x(t) e^-j2π ft dt
که در آن:
– x(t) نشاندهنده سیگنال زمانی است.
– X(f) نشاندهنده سیگنال فرکانسی است.
– f نشاندهنده فرکانس است.
– j عدد مختصص است.
برای سیگنالهای گسسته نیز معادل تبدیل ویولت گسسته (Discrete Fourier Transform) و تبدیل ویولت سری (Fourier Series Transform) وجود دارد که به صورت مخصوص برای سیگنالهای گسسته و تابع دورهای به کار میروند.
کد متلب وپایتون تبدیل ویولت:
میتوانید از توابع موجود در بستههای مختلف برنامهنویسی برای انجام تبدیل ویولت استفاده کنید. در زیر نمونه کدهای متلب و پایتون برای انجام تبدیل ویولت یک بعدی را مشاهده میکنید.
کد متلب تبدیل ویولت:
% تعریف یک سیگنال زمانی
t = 0:0.001:1; % زمان از 0 تا 1 ثانیه با گام زمانی 0.001 ثانیه
x = sin(2*pi*50*t) + 0.5*sin(2*pi*120*t); % سیگنال تست
% تبدیل ویولت یک بعدی
X = fft(x);
% نمایش طیف فرکانسی
f = (0:length(x)-1)*(1/(t(2)-t(1)))/length(x); % محاسبه محور فرکانس
figure;
plot(f,abs(X));
xlabel('فرکانس (Hz)');
ylabel('مقدار فاز');
کد پایتون تبدیل ویولت:
import numpy as np
import matplotlib.pyplot as plt
# تعریف یک سیگنال زمانی
t = np.arange(0, 1, 0.001) # زمان از 0 تا 1 ثانیه با گام زمانی 0.001 ثانیه
x = np.sin(2*np.pi*50*t) + 0.5*np.sin(2*np.pi*120*t) # سیگنال تست
# تبدیل ویولت یک بعدی
X = np.fft.fft(x)
# نمایش طیف فرکانسی
f = np.fft.fftfreq(len(t), t[1]-t[0]) # محاسبه محور فرکانس
plt.plot(f, np.abs(X))
plt.xlabel('فرکانس (Hz)')
plt.ylabel('مقدار فاز')
plt.show()
در این نمونه کدها، ابتدا یک سیگنال زمانی تعریف شده و سپس با استفاده از تابع fft در متلب و np.fft.fft در پایتون، تبدیل ویولت این سیگنال انجام شده و طیف فرکانسی نمایش داده شده است.
نتیجه گیری:
تبدیل ویولت یک ابزار قدرتمند در پردازش سیگنال است که به ما امکان میدهد سیگنالها را از دامنه زمان به دامنه فرکانس تبدیل کنیم. این تبدیل میتواند به ما کمک کند تا ویژگیهای مختلف سیگنالها را بررسی کرده و الگوهای مختلف را شناسایی کنیم.
همچنین، تبدیل ویولت در بسیاری از حوزههای علمی و مهندسی مورد استفاده قرار میگیرد، از جمله پردازش سیگنال، ارتباطات بیسیم، تصویربرداری پزشکی، فیزیک، ریاضیات و غیره.
با استفاده از تبدیل ویولت، میتوانیم طیف فرکانسی یک سیگنال را مشاهده کرده و اطلاعات مفیدی در مورد فرکانسهای موجود در سیگنال به دست آوریم.
این اطلاعات میتواند برای تحلیل و پردازش سیگنالها، تشخیص الگوها، فشردهسازی داده، حذف نویز و بسیاری از کاربردهای دیگر مفید باشد.
به عنوان یک ابزار پایه، تبدیل ویولت بسیار مفید است و بسیاری از الگوریتمها و تحقیقات در حوزههای مختلف بر اساس آن توسعه یافتهاند.