شکل سمت چپ سیگنال را به شکل گسسته و شکل سمت راست سیگنال را به صورت پیوسته نشان می دهند.
محور افقی زمان و محور عمودی نیز مقدار شدت سیگنال را نمایش می دهند.
همگام با ورود این سیگنال دیجیتالی به کارت صوتی خروجی آنالوگ (سیگنال پیوسته) در آن تولید می شود که این خروجی نیز وارد سیستم پخش صدا شده و موج تولید شده توسط بلندگو پس از پخش در فضا توسط گوش ما حس می گردد.
این کل فرآیندی است که یک سیگنال صوتی دیجیتالی طی می کند تا توسط گوش ما شنیده شود.
عکس این فرآیند نیز امکان پذیر است، بدین صورت که همگام با صحبت کردن ما در یک میکروفون، سیگنال آنالوگ تولید شده توسط آن وارد کارت صوتی شده و توسط کارت صوتی نمونه برداری می گردد وهمین نمونه برداری است که موجب تولید یک سیگنال زمانی در سمت کامپیوتر می گردد.
حال فرض کنید می خواهیم نویزی را که در یک فایل صوتی وجود دارد، یا نویزی که هنگام صحبت کردن ما در میکروفون ممکن است تحت تاثیر محیط اطراف به وجود آید را حذف کنیم.
برای این منظور نیاز داریم که سیگنال دیجیتالی موجود بر روی سیستم کامپیوتری را پردازش کرده و پس از شناسایی نویز ها با استفاده از روشی به حذف آن ها پبردازیم.
یا فرض کنید قصد داریم نرم افزاری را طراحی کنیم که این نرم افزار کلمات بیان شده در میکروفون را تایپ کند.
پردازش گفتار علمی است که با بهره گرفتن از روش های پردازش سیگنال به انجام این عمل می پردازد.
در ادامه این بخش سعی کرده ایم مفاهیم کلی پردازش سیگنال را مورد بررسی قرار دهیم.
توجه داشته باشید که تمام روش های پردازش سیگنال های دیجیتالی برای آنالیز گفتار نیز به کار می روند.
نمونه برداری و چندی کردن سیگنال
فرض کنید میکروفورنی را به کارت صوتی وصل کرده اید و در حال ضبط صدا هستید.
خروجی میکروفون یک خروجی آنالوگ می باشد و بنابراین نمی تواند به طور مستقیم وارد سیستم کامپیوتری گردد.
چرا که همه سیستم های دیجیتالی اعم از یک کامپیوتر تنها با ورودی های دیجیتال می تواند کار کنند.
بنابراین سیگنال آنالوگ تولید شده در خروجی میکروفون قبل از ورود به سیستم کامپیوتری باید به سیگنال دیجیتال تبدیل گردد.
دیجیتال کردن سیگنال بر روی سیستم های کامپیوتری امروزی توسط کارت های صوتی انجام می پذیرد.
یک سیگنال آنالوگ از لحظه ورود تا دیجیتال شدن مراحل زیر را به ترتیب طی می کند:
• آماده کردن سیگنال ورودی
• فیلتر کردن سیگنال ورودی
• نمونه برداری
• چندی کردن
شماتیک زیر نیز فرآیند تبدیل سیگنال آنالوگ به دیجیتال را نشان می دهد:
آماده کردن سیگنال ورودی : فرض کنید خروجی سنسوری که موجب تولید سیگنال می شود ، ولتاژ باشد.
به عنوان مثال زمانی که در میکروفون صحبت می کنید، متناظر با صدای تولید شده توسط شما، خروجی میکرفون نیز در یک بازه مشخص به شکل ولتاژ تغییر می کند.
یا به عنوان مثال خروجی سنسوری که برای ضبط نوار قلبی بکار می رود، در بازه های بسیار کوچک ولتاژ ( میلی ولت ) در حال تغییر است.
در مراحل بعدی عمل دیجیتال کردن زمانی که از مبدل آنالوگ به دیجیتال استفاده می کنیم، عملا نیاز به ولتاژهایی در بازه ( 5..0) ، ( 5-..5 ) یا ...
ولت نیاز داریم.
اما همانطور که دیدیم خروجی برخی از سنسورها ( همانند سنسور نوار قلبی ) در حد میلی ولت است.
بنابراین نیاز به روشی داریم که بتوانیم خروجی سنسورها را تقویت کرده و آن ها را برای ورود به مبدل های آنالوگ به دیجیتال آماده کنیم.این مرحله از عمل دیجیتال کردن ورودی را آماده سازی سیگنال ورودی می گوییم که در آن از تقویت کننده ها ( آمپلی فایر ) برای افزایش/ کاهش بهره ولتاژ استفاده می کنیم.
لازم به ذکر است که امروزه سیستم تقویت کننده سیگنال به شکل توکار بر روی کارت های صوتی وجود دارد و در کارهای معمول خود نیاز به نصب تقویت کننده خارجی به کارت صوتی نداریم.در سیستم عامل ویندوز ضریب بهره آمپلی فایر کارت صوتی توسط Volume Controller خود سیستم عامل تعیین می شود.
فیلتر کردن سیگنال خطوط تلفن دیجیتال قابلیت حمل سیگنال هایی در بازه 0 تا 3400 هرتز را دارند.
از اینرو سیگنال هایی که فرکانسی خارج از این محدوده دارند، باید قبل از دیجیتال شدن فیلتر شوند.
این عمل نیز با طراحی فیلترهایی امکان پذیر است.
در واقع پس از آنکه سیگنال ورودی آماده شد ( تقویت گردید ) وارد سیتم فیلترینگ می گردد تا سیگنال های خارج از محدوده فرکانسی آن کاربرد ، از سیستم حذف گردند.
طراحی فیلترها از اهمیت ویژه ای برخوردار است چراکه اگر سیگنال به شکل صحیح فیلتر نشود، دچار اختلال هایی خواهد شد.
با توجه به اینکه طراحی فیلترهای آنالوگ خارج از حیطه تخصصی ما می باشد، بنابراین از ذکر مطالب در مورد آن ها خودداری می کنیم.
با این حال زمانی که نحوه طراحی فیلترهای دیجیتال را شرح می دهیم، پارمترهایی را که برای طراحی یک فیلتر مناسب باید در نظر گرفت ، نشان خواهیم داد.
نمونه برداری کردن پس از آنکه سیگنال ورودی آماده شد و فیلترکردن آن نیز انجام پذیرفت، دیجیتال کردن سیگنال آنالوگ آغاز می شود.
نمونه برداری بدین مفهوم است که در بازه های زمانی مشخص مقدار سیگنال ورودی را خوانده و برای چندی شدن به مرحله بعد انتقال دهیم.
به عنوان مثال زمانی که می خواهیم در هر ثانیه 44000 نمونه از سیگنال ورودی برداریم، باید در بازه های زمانی 0.00002 ثانیه مقدار سیگنال آنالوگ را خوانده و به مرحله بعد منتقل کنیم.
به عنوان مثال زمانی که در میکروفون صحبت می کنید، با فرض اینکه نرخ نمونه برداری 44000 نمونه در ثانیه باشد، سیستم دیجیتال کننده هر 0.00002 ثانیه یکبار ولتاز خروجی میکروفون را - که تقویت و فیلتر شده است - خوانده و مقدار آن را به چندی کننده ارسال می کند.
چندی کردن سیگنال در مرحله نمونه برداری دیدیم که یک نمونه از سیگنال به شکل ولتاژ نمونه برداری شد.
در این مرحله ولتاز نمونه برداری شده باید به شکل دیجیتالی ( عدد باینری ) تبدیل شود.
برای این منظور نیز از مبدل های آنالوگ به دیجیتال استفاده می کنیم.
به عنوان مثال یک مبدل انالوگ به دیجیتال 8 بیتی به ازای ورودی خود عددی بین 0 تا 255 تولید می کند.
فرض کنید ورودی مبدل در بازه 0 تا 5 ولت باشد.
این بدان معناست که به ازای ورودی 0 ولت ، خروجی مبدل عدد باینری 0 و به ازای ورودی 5 ولت خروجی مبدل عدد باینری 255 خواهد بود.
بدیهی است که افزایش تعداد بیت های مبدل موجب افزایش دقت چندی شدن خواهد شد.
مفاهیم اولیه در سیگنال به جرات می توان گفت که مهمترین مفاهیم در پردازش سیگنال مفاهیم کانولوشن و فرکانس می باشد.
به طوریکه مباحثی همچون طراحی فیلترهای دیجیتالی به شدت تحت تاثیر این مفاهیم هستند.
در این بین مفهوم فرکانس برای اغلب دانشجویانی که در علوم مهندسی به غیراز مهندسی الکترونیک تحصیل کرده اند نامفهوم است.
در این بخش سعی می کنیم مفاهیم مرتبط با حوزه فرکانس را به زبانی ساده شرح دهیم.
مفهوم فرکانس در پردازش سیگنال ارتباط بسیار قوی با موج سینوسی دارد ( در مقاله مربوط به بسط فوریه علت این امر بیان شده است ).
از اینرو همه مفاهیم مرتبط با حوزه فرکانس را بر روی موج سینوسی شرح می دهیم.
پاسخ ضربه یک سیگنال دیجیتالی هنگام بررسی مفهوم ترکیب و تفکیک دیدیم که یک سیگنال دیجیتالی را چگونه می توان به سیگنال های ساده تر تفکیک کرد و یا چگونه سیگنال های تفکیک شده را باهم ترکیب کنیم.
یکی از مهمترین روش های تفکیک سیگنال های دیجیتالی در حوزه زمانی ، تفکیک ضربه ای است (در حوزه زمانی محور افقی نشان دهنده زمان / مکان و محور عمودی برابر با مقدار سیگنال در آن زمان/مکان می باشد).در یک سیگنال ضربه همه مقادیر به جز یکی از آن ها صفر است.
در حقیقت تفکیک ضربه ای ، یک سیگنال با N نمونه را به N سیگنال ضربه ای تفکیک می کند.
تفکیک ضربه ای از این جهت دارای اهمیت است که با استفاده از آن در هر لحظه می توان تنها به بررسی یک مولفه از سیگنال ورودی پرداخت.
دانستن پاسخ سیستم به یک سیگنال ضربه ای موجب می شود که بتوانیم خروجی نهایی سیستم را به ازای هر سیگنال ورودی محاسبه کنیم.
برای این منظور نیز از عملگری به نام کانولوشن استفاده می کنیم که در مقاله های بعدی به بررسی آن پرداخته ایم.
شکل زیر نحوه تفکیک سیگنال ورودی به سیگنال های ضربه را نشان می دهد: کانولوشن در دومقاله قبلی نشان دادیم که چگونه می توان یک سیگنال دیجیتالی را با استفاده از سیگنال های ضربه تفکیک کرد.
سپس مفهوم پاسخ ضربه را بررسی کردیم و دیدیم که هرگونه انتقال و تغییر مقیاس در ورودی موجب همان اندازه انتقال و تغییر مقیاس در خروجی خواهد شد.
در این مقاله می خواهیم در عمل نشان دهیم که چگونه می توان با در دست داشتن پاسخ ضربه یک سیستم، خروجی آن سیستم را به ازای هر سیگنال ورودی محاسبه کرد.
برای این منظور نیز از عملگری به نام عملگر کانولوشن استفاده خواهیم کرد.
همانطور که می دانید هر سیگنال را می توان به شکل یک بردار تصور کرد.
با دانستن این نکته می توان حدس زد که منظور از جمع/تفریق دو سیگنال همان جمع/تفریق دو بردار می باشد.
به عبارت دیگر عملگر جمع و تفریق با گرفتن دو سیگنال هم اندازه در ورودی خود آن دو را ترکیب کرده و سیگنال خروجی را تولید می کند.
فرض کنید پاسخ ضربه یک سیستم نمونه را داریم و می خواهیم به ازای هر ورودی سیگنال، خروجی سیستم را به دست آوریم.
واضح است که پاسخ ضربه می تواند هم اندازه با سیگنال ورودی نباشد (در اکثر موارد نیز چنین است ).
خروجی نهایی سیستم از کانوالو کردن سیگنال ورودی با پاسخ ضربه سیستم به دست می آید.
شکل زیر نشان می دهد که عملگر کانولوشن چگونه بر روی سیگنال ورودی اعمال می شود.
فرض کنید سیگنال ورودی X و سیگنال خروجی Y ثابت باشند.
درمقابل، ماشین کانولوشن ( هرچیزی که داخل کادر خط چین است ) می تواند به چپ یا راست حرکت کند.
پس از آنکه ماشین کانولوشن حرکت کرد، مقادیر آن زیر مقادیر سیگنال ورودی قرار می گیرند.
سپس چهار نمونه از سیگنال ورودی وارد ماشین کانولوشن شده و با مقادیر نشان داده شده در ماشین کانولوشن (پاسخ ضربه) یک به یک ضرب می شوند.
در نهایت نیزجمع کل حاصلضرب ها در نقطه متناظر از سیگنال خروجی قرار می گیرد.
به عنوان مثال در شکل نشان داده شده، مقدار y[6] در خروجی با استفاده از مقادیر x(3..6) از سیگنال ورودی محاسبه شده است.
حوزه زمان و حوزه فرکانسی در مقالات مربوط به موج سینوسی و سیگنال های DTMF نشان دادیم که چگونه می توان با استفاده از ترکیب موج های سینوسی مختلف به تولید صدا پرداخت.
دو پارامتر اصلی در موج سینوسی فرکانس و دامنه آن می باشد که هریک از آن ها به ترتیب زیر/بم بودن صدا و بلندی صدا را تعیین می کنند.
سیگنال هایی که به این طریق به وجود می آیند را سیگنال های حوزه زمانی می گوییم.
وقتی می گوییم سیگنالی در حوزه زمانی است این بدان معناست که محور افقی در نمودار این سیگنال نشان دهنده زمان و محور عمودی نشان دهنده مقدار سیگنال می باشد.
به عنوان مثال شکل زیر سیگنال زمانی ضبط شده برای حرف " آ " را نشان می دهد.
سیگنال چیست؟
به طور ساده هر کیمیت متغیر در زمان یا مکان که قابل اندازه گیری باشد را سیگنال می گوییم.
به عنوان مثال سرعت کمیتی است که در واحد زمان متغیر بوده و مقدار آن قابل اندازه گیری است.
چراکه در بازه های زمانی مشخص می توانید مقدار سرعت را اندازه گیری کرده و ثبت کنید.
مجموعه اعدادی که از ثبت سرعت در بازه های زمانی مختلف به وجود می آیند، باهمدیگر تشکیل یک سیگنال می دهند.
کمیت هایی همچون شتاب ، دما ، رطوبت و...
نیز در واحد زمان متغیر بوده و همچنین قابلاندازه گیری هستند.
بنابراین با نمونه گیری از این کمیت ها در واحد های زمانی مختلف می توان تشکیل یک سیگنال داد.
پردازش سیگنال نیز علمی است که به آنالیز سیگنال ها می پردازد.
به علت کاربرد گسترده و همچنین قابل لمس بودن سیگنال های صوتی برای خوانندگان ، در ادامه مقالاتی که برای پردازش سیگنال قرار داده ایم ، تمرکز خود را بر روی سیگنال های صوتی و گفتار متمرکز کرده ایم.
شکل زیر سیگنال صوتی را نشان می دهد که هنگام فشار دادن کلید 1 بر روی تلفن تولید می شود:اندازه گیری هستند.
شکل زیر سیگنال صوتی را نشان می دهد که هنگام فشار دادن کلید 1 بر روی تلفن تولید می شود:شکل سمت چپ سیگنال را