CE40-342_MMS_HW1.pdf

‫آشنایی با سیستمهای چندرسانهای (‪)94 – 293‬‬
‫پاییز ‪49‬‬
‫بسمه تعالی‬
‫تمرین ‪ :1‬آشنایی با ‪ Aliasing ،Sampling‬و ‪Quantization‬‬
‫مقدمه‪:‬‬
‫همانگونه كه در درس با مفهوم سيگنال ديجيتال آشنا شديد‪ ،‬ديجيتال كردن سيگنال شامل دو مرحله‬
‫نمونهبرداري و كوانتيزه كردن سيگنال است‪ .‬شما در اين تكليف با نمونه برداري سيگنال پيوسته در زمان‪ ،‬پديده‬
‫‪ aliasing‬و نيز كوانتيزه كردن سيگنال آشنا خواهيد شد‪ .‬همچنين اثرات اين پردازش را روي سيگنالهاي صوتي‬
‫بررسي خواهيد كرد‪.‬‬
‫آنچه كه بايستي تحويل داده شود شامل پاسخ سواالت مطرح شده در صورت تمرينها (در قالب يك گزارش با‬
‫فرمت ‪ ، PDF‬نمودارها و شكلهاي خروجي ‪ m‬فايلها و خود ‪ m‬فايلها) است‪ .‬لطفا تمامي فايلها را به صورت‬
‫يك فايل فشرده‪ ،‬كه نام آن در قالب ‪ MM_HW1_LastName_StudentID‬باشد كه در آن به جاي‬
‫‪ LastName‬نام خانوادگي شما و به جاي ‪ StudentID‬شماره دانشجويي شما قرار ميگيرد‪ ،‬به آدرس ايميل درس‬
‫به نشاني ‪ multimedia.fall94@gmail.com‬بفرستيد‪ .‬لطفا عنوان ‪ email‬خود را همانند قالب فوق قراردهيد‪.‬‬
‫مهلت تحويل خروجي ها ساعت ‪ 55:22‬تاريخ ‪ 29/7/52‬است‪.‬‬
‫___________________________________________________________________________________________________‬
‫‪CE40-342, Multimedia Systems, Fall 2015, M. Amiri‬‬
‫آشنایی با سیستمهای چندرسانهای (‪)94 – 293‬‬
‫پاییز ‪49‬‬
‫‪ .1‬در مورد نحوهی ذخیرهسازی صدا به حالت ‪ Wave‬و بدون فشردهسازی‪ ،‬در منابع مختلف جستوجو کرده و خالصهای از یافتههای خود‬
‫را گزارش کنید‪.‬‬
‫‪ .3‬با استفاده از نرمافزار ‪ Sound Recorder‬موجود در نسخههای قدیمی ویندوز با با استفاده از نرمافزارهای دیگر‪ 34 ،‬ثانیه از صدای‬
‫خود را ضبط کنید‪ .‬در هنگام ضبط دقت کنید که صدا را به صورت ‪ Wave‬ذخیره کنید‪ .‬این فایل را در نرم افزار ‪ MATLAB‬باز کنید‪،‬‬
‫با استفاده از این نرم افزار یک نمودار از این مجموعه اعداد‪ ،‬مشابه نمودار موجی که در هنگام پخش صدا در برخی نرمافزارهای پخش صدا‬
‫نمایش داده میشود‪ ،‬رسم کنید‪ .‬مراحل مختلف انجام کار و نمودار خروجی را ضمیمه کنید‪.‬‬
‫‪ .2‬طراحی کدکننده‪/‬دیکد کنندهی ‪ :µ-law‬در این تمرین شما تابع ‪ µ-law‬را پیادهسازی نموده و آن را بر روی یک سیگنال صوتی اعمال‬
‫میکنید‪.‬‬
‫‪ .a‬در محیط ‪ MATLAB‬برنامهای بنویسید که تابع ‪ µ-law‬که در کالس درس به آن اشاره شد را پیادهسازی کند‪.‬‬
‫‪ .b‬یک سیگنال صوتی با سطح کوانتیزاسیون ‪ 11‬بیت در نظر گرفته و تابع ‪ µ-law‬را بر روی آن اعمال کنید‪ .‬سطح کوانتیزاسیون‬
‫خروجی را ‪ 8‬بیت درنظر بگیرید‪.‬‬
‫‪ .c‬عکس تابع ‪ µ-law‬را پیاده سازی کرده و سیگنال خروجی قسمت قبل را به عنوان وروردی به آن بدهید‪.‬‬
‫‪ .d‬به فایل اصلی‪ ،‬خروجی قسمت ‪ b‬و ‪ c‬گوش دهید‪ ،‬چه تفاوتی احساس میکنید؟‬
‫‪ .e‬برنامهی خود را به گونهای تغییر دهید که قابلیت پیادهسازی تابع ‪ a-law‬را نیز داشته باشد (در هریک از قسمتهای ‪ a‬و ‪ b‬و‬
‫‪)c‬‬
‫‪.f‬‬
‫خروجی تابع ‪ µ-law‬و ‪ a-law‬را مقایسه کنید‪ ،‬چه تفاوتی احساس میکنید؟‬
‫نکات قابل توجه‪:‬‬
‫‪‬‬
‫فایلهای صوتی ورودی و خروجی هر قسمت و نیز توابع نوشته شده در ‪ MATLAB‬را ضمیمهی گزارش نمایید‪ .‬فایل صوتی‬
‫خود را کم حجم انتخاب کنید‪.‬‬
‫‪‬‬
‫در گزارش خود شرح مختصری از آنچه انجام دادهاید‪ ،‬بیاورید‪.‬‬
‫‪ .9‬به طور دقیق توضیح دهید که چگونه صوت آنالوگ دیجیتال میشود و چه مفهومی اهمیت دارد‪ .‬چگونه از سیگنال آنالوگ سینوسی‪،‬‬
‫جریانی از بیتها را که در کامپیوتر یا انتقال بر روی شبکه استفاده میشود تولید میکنیم‪.‬‬
‫نشان دهید که چگونه اضافه کردن یک بیت به کوانتیزاسیون سیگنال باعث میشود که ‪ SNR‬تقریبا ‪ 1‬دسیبل زیاد شود‪.‬‬
‫‪ .5‬فیلتر کردن سیگنال صوت‬
‫‪ .a‬یک فایل صوتی با فرکانس نمونه برداری ‪ 8‬کیلو هرتز را در ‪ MATLAB‬بخوانید‪.‬‬
‫‪ .b‬یک سیگنال سینوسی را با تعداد نمونههای همان فایل صوتی و با فرکانس ‪ 2.5‬کیلوهرتز در ‪ MATLAB‬بسازید‪.‬‬
‫فرکانس نمونه برداری را ‪ 8‬کیلوهرتز انتخاب نمایید‪.‬‬
‫___________________________________________________________________________________________________‬
‫‪CE40-342, Multimedia Systems, Fall 2015, M. Amiri‬‬
‫آشنایی با سیستمهای چندرسانهای (‪)94 – 293‬‬
‫پاییز ‪49‬‬
‫‪ .c‬این دو سیگنال را با هم جمع نمایید‪ .‬نمودار آن را نمایش داده و به سیگنال جدید گوش کنید‪.‬‬
‫‪ .d‬با استفاده از یک فیلتر باالگذر‪ ،‬سیگنالی را که ساختهاید فیلتر نمایید‪( .‬فرکانس قطع فیلتر را طوری انتخاب نمایید که سیگنال‬
‫سینوسی را حذف نماید‪ .‬طول فیلتر را ‪ 54‬بگذارید‪ .‬دقت کنید که فیلتر باالگذر باشد‪).‬‬
‫‪ .e‬به سیگنال جدید گوش دهید‪ .‬چه تفاوتی با سیگنال قبلی دارد؟‬
‫‪ .1‬الف) یک سیگنال صوت را که شامل حوزههای سکوت‪ ،‬همهمه و صوت است (همانطور که در شکل نشان داده شده) در نظر بگیرید‪،‬‬
‫تابعی با ‪ MATLAB‬نبویسید که بتواند این بخشها را شناسایی کند‪.‬‬
‫ب) سپس در قسمت صوت‪ ،‬فرکانس اصلی را شناسایی کنید‪.‬‬
‫‪ .7‬ذخیرهسازی یک سیگنال گسسته در ‪MATLAB‬‬
‫در این تمرین ‪ Fs=5000 Hz‬در نظر گرفته شده است‪ .‬برای ذخیرهسازی سیگنال )‪ c(t‬در ‪ MATLAB‬باید آن را به صورت )‪cn=c(nT‬‬
‫در آورید که در آن ‪ T=1/Fs‬خواهد بود‪ .‬برای ساخت ‪ ،cn‬ابتدا باید محور زمان به صورت ‪ tn=nT‬تقسیم بندی گردد‪ .‬تابع زیر‪ ،‬مراحل‬
‫ساخت سیگنال گسسته را از روی سیگنال نشان میدهد‪.‬‬
‫‪fs = 5000; % Sample frequency‬‬
‫‪T = 1/fs; % Sample period‬‬
‫‪t_n = [0:T:3]; % Time vector with samples spaced T seconds apart‬‬
‫‪fc = 10; % Frequency of the sinusoid‬‬
‫‪theta = pi/3; % Phase of the sinusoid‬‬
‫‪c_n = cos(2*pi*fc*t_n + theta); % Construct the sinusoid‬‬
‫‪plot(t_n,c_n); % Plot the sinusoid‬‬
‫این کد را در یک فایل ذخیره و در محیط ‪ MATLAB‬اجرا کنید‪.‬‬
‫با بزرگ کردن محور زمان خروجی تابع قبل‪ ،‬میتوان دوره تناوب سیگنال را بهتر مشاهده نمود‪ ،‬این دوره تناوب میتواند برای‬
‫اندازهگیری فرکانس سیگنال ورودی به کار رود‪.‬‬
‫___________________________________________________________________________________________________‬
‫‪CE40-342, Multimedia Systems, Fall 2015, M. Amiri‬‬
‫آشنایی با سیستمهای چندرسانهای (‪)94 – 293‬‬
‫پاییز ‪49‬‬
‫‪ .8‬نمونهبرداری از سیگنال پیوسته در زمان با وقوع ‪Aliasing‬‬
‫در تمرین قبل شما یک تابع پیوسته در زمان را به صورت سیگنال گسسته ذخیره کردید‪ .‬حال در این تمرین میخواهیم اثرات‬
‫‪ aliasing‬را روی سیگنال بررسی کنیم‪.‬‬
‫الف) تابع سوال قبل را به صورتی تغییر دهید که مقادیر ‪ Fc‬و ‪ Fs‬و‪ t‬را به عنوان ورودی از کاربر دریافت نماید‪.‬‬
‫سیگنال گسسته در زمان را برای فرکانس نمونه برداری ‪ Fs=8 kHz‬و فرکانس سیگنال ‪ Fc=1,2,3.5,6,7‬در نمودارهای جداگانه رسم‬
‫کنید‪ .‬چرا برخی از این نمودارها شبیه هم هستند؟ برای رسم نمودارها در یک پنجره از دستور ‪ subplot‬کمک بگیرید‪.‬‬
‫ب) طیف فرکانسی این سیگنالها را نیز رسم کنید‪ .‬پدیده ‪ aliasing‬در کدام یک از این نمودارها و به چه صورت ظاهر شده است؟‬
‫ج) سیگنال جدیدی به نام ‪ ،dn‬بسازید و فرکانس سیگنال را همانند قست الف انتخاب کرده ولی فرکانس نمونهبرداری را به ‪84‬‬
‫کیلوهرتز تغییر دهید‪ .‬طول سیگنال ‪ ، dn‬را ‪ 14‬برابر ‪ cn‬قرار دهید‪ .‬هر دو سیگنال ‪ cn‬و‪ dn‬را در یک نمودار و با دو رنگ متفاوت در‬
‫حوزه زمان رسم نمایید‪ .‬در این نمودارها آیا میتوانید پدیده ‪ Aliasing‬را در حوزه زمان بهتر درک کنید؟‬
‫___________________________________________________________________________________________________‬
‫‪CE40-342, Multimedia Systems, Fall 2015, M. Amiri‬‬