درک پدیده گیبس (Gibbs) در پردازش سیگنال

 

 

تبدیل فوریه، سیگنالها را در حوزه فرکانس به صورت مجموع ترکیب یکتایی از امواج سینوسی نمایش میدهد. تبدیل فوریه سیگنالهای مختلفی در شکل 1 نشان داده شده است. برخی از این سیگنالها همچون موج مربعی و تابع ضربه، ناپیوستگی‌های (تغییرات) ناگهانی و شدیدی در حوزه زمان دارند. آنها همچنین در فرکانس بینهایت در حوزه فرکانس، محتوا دارند.

 

شکل 1- پاسخ فرکانسی سیگنالهای مختلف

 

 

بنابراین، ناپیوستگی‌های ناگهانی در سیگنالها به محتوای فرکانسی در فرکانس بینهایت نیاز دارد. همانطور که میدانیم، برای نمایش اینگونه سیگنالها در حافظه رایانه، نمیتوانیم حافظه بینهایت (یا پهنای باند بینهایت در لحظه ثبت/اندازه‌گیری سیگنال) داشته باشیم تا این محتوای فرکانسی در بینهایت را در نظر بگیرد. جایی در حوزه فرکانس، تعداد واحدهای فرکانسی باید کوتاه و خلاصه شوند. این کوتاه کردن در حوزه فرکانس به صورت خطای تصنعی تکرار شونده (ringing artifact) در حوزه زمان نمود پیدا میکند و بالعکس. این پدیده گیبس نام دارد.

 

 

شکل 2- پدیده گیبس بر روی موج مربعی زمانیکه تعداد واحدهای فرکانسی کوتاه میشوند.

 

 

این خطای تصنعی تکرار شونده ناشی از تلاش برای توصیف سیگنال بوسیله تعداد واحدهای فرکانسی کمتر نسبت به حالت ایده‌آل است. در موارد کاربردی، این خطای تصنعی میتواند از موارد زیر ناشی شود:

  • کوتاه کردن واحدهای فرکانسی: به طور مثال، برای نمایش یک موج مربعی کامل، واحدهای فرکانسی بیشماری لازم است. از آنجا که نمیتوان ابزاری با پهنای باند بینهایت داشت، اندازه‌گیری سیگنال تعداد واحدهای فرکانسی را کاهش داده که منجر به پدیده گیبس میشود.
  • شکل فیلترها: خطای تصنعی تکرار شونده میتواند ناشی از عملیات فیلتر کردن باشد که مربوط به تغییر حالتهای شدید در پاسخ فیلتر مورد نظر در حوزه فرکانس است.

 

 

فیلترهای FIR و پدیده گیبس

 

فیلترهای دیجیتال با پاسخ ضربه محدود (FIR) به دلیل ویژگیهای مطلوب زیادی که دارند، در بسیاری از کاربردهای پردازش سیگنال همواره مورد استفاده قرار گرفته‌اند. فیلترهای FIR به نحوی قابل طراحی هستند که در باند عبور پاسخ فاز خطی داشته باشند و به این ترتیب فیلتر باعث اعوجاج تاخیر که در آن اجزاء فرکانسی مختلف متحمل تاخیرهای مختلف میشوند، نمیشود.

ساده‌ترین روش طراحی فیلتر FIR، کوتاه کردن پاسخ ضربه است که در آن یک پاسخ ضربه ایده‌آل به دنباله با طول محدود خلاصه شده و نمونه‌ها به سمت راست شیفت داده میشوند تا حاصل یک پاسخ ضربه علّی (causal) شود. این پدیده همراه با یک اثر نامطلوب روی فیلتر است که ناشی از پدیده گیبس است.

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

مثلا، یک تابع مستطیلی با تغییرات سریع در حوزه فرکانس به تابع سینک (sinc) که تابعی با طول بینهایت در حوزه زمان است، تبدیل میشود. در طراحی کاربردی، فیلترهای FIR طول محدودی دارند. بنابراین، امکان‌پذیر نیست که یک فیلتر ایده‌آل با ناپیوستگی‌های ناگهانی را بوسیله تعداد محدودی ضریب نمایش داد و به همین دلیل تابع سینک در حوزه زمان باید به طور مناسب کوتاه و خلاصه شود. این کوتاه کردن سیگنال با طول بینهایت در حوزه زمان منجر به پدیده گیبس در حوزه فرکانس میشود. از آنجاییکه برخی نمونه‌ها در حوزه زمان (به طور معادل هارمونیکها در حوزه فرکانس) در بازسازی سیگنال مورد استفاده قرار نمیگیرند، این موضوع به نوسانهایی به صورت اثر تصنعی تکرار شونده در حوزه دیگر منجر میشود. این اثر همان پدیده گیبس است.

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

این اثر که ناشی از ناپیوستگی‌های ناگهانی است، فارغ از اینکه چقدر تعداد نمونه‌های سیگنال زیاد باشد، وجود خواهد داشت. این وضعیت معمولا با استفاده از پنجره‌های صاف کننده تغییرات سیگنالی همچون بلکمن (Blackman)، همینگ (Hamming)، هنینگ (Hanning)، کایزر (Kaiser) و غیره قابل اصلاح است.

 

 

نمایش پدیده گیبس با استفاده از متلب

 

در این بخش، یک پالس سینک در حوزه زمان در نظر گرفته میشود. پالس سینک طول بینهایت دارد و در حوزه فرکانس به صورت یک پالس مستطیلی کامل خواهد بود. در اینجا، پالس سینک را در حوزه زمان با طولهای مختلف کوتاه میکنیم و بوسیله FFT (تبدیل فوریه سریع) آن را در حوزه فرکانس بررسی میکنیم. هر چه طول سیگنال در حوزه زمان افزایش می‌یابد، اثر گیبس کمتر شده و شکل آن در حوزه فرکانس به پاسخ فیلتر ایده‌آل دیواره مانند بیشتر نزدیک میشود.

 

کد متلب:

 

%Gibbs Phenomenon

clearvars; % clear all stored variables

Nsyms = 5:10:60; %filter spans in symbol duration

Tsym=1; %Symbol duration

L=16; %oversampling rate, each symbol contains L samples

Fs=L/Tsym; %sampling frequency

for Nsym=Nsyms

      [p,t]=sincFunction(L,Nsym); %Sinc Pulse

      subplot(1,2,1);

      plot(t*Tsym,p,‘LineWidth’,1.5);

      axis tight;

      ylim([-0.3,1.1]);

      title(‘Sinc pulse’);xlabel(‘Time (s)’);

      ylabel(‘Amplitude’); [fftVals,freqVals]=freqDomainView(p,Fs,‘double’); 

      subplot(1,2,2); plot(freqVals,abs(fftVals)/abs(fftVals(length(fftVals)/2+1)),‘LineWidth’,1.5);

      xlim([-2 2]);

      ylim([0,1.1]);

      title(‘Frequency response of Sinc (FFT)’); xlabel(‘Normalized Frequency (Hz)’);

      ylabel(‘Magnitude’);

      pause;% wait for user input to continue

end

 

نتایج شبیه‌سازی:

 

شکل 3- پالس سینک بازسازی شده با Nsym=5 (طول فیلتر بر حسب سمبلها) و L=16 (تعداد نمونه در سمبل)

 

 

شکل 4- پالس سینک بازسازی شده با Nsym=15 (طول فیلتر بر حسب سمبلها) و L=16 (تعداد نمونه در سمبل)

 

 

شکل 5- پالس سینک بازسازی شده با Nsym=35 (طول فیلتر بر حسب سمبلها) و L=16 (تعداد نمونه در سمبل)

 

 

 

 

منبع: https://www.gaussianwaves.com