460 likes | 1.03k Views
DSP 8 FIR Filter Design การออกแบบตัวกรองดิจิตอลแบบ FIR. ดร. พีระพล ยุวภูษิตานนท์ ภาควิชา วิศวกรรมอิเล็กทรอนิกส์. ข้อดีของ FIR. มีความเสถียร ( stable) สามารถออกแบบให้ผลตอบสนองทางเฟส เป็นเชิงเส้น (Linear phase) ได้ง่าย. เฟสที่เป็นเชิงเส้น (linear phase). เฟสคือ. a= ค่าคงที่.
E N D
DSP 8FIR Filter Design การออกแบบตัวกรองดิจิตอลแบบ FIR ดร. พีระพล ยุวภูษิตานนท์ ภาควิชา วิศวกรรมอิเล็กทรอนิกส์ EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ข้อดีของ FIR • มีความเสถียร (stable) • สามารถออกแบบให้ผลตอบสนองทางเฟส เป็นเชิงเส้น (Linear phase) ได้ง่าย EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
เฟสที่เป็นเชิงเส้น (linear phase) เฟสคือ a=ค่าคงที่ ตัวกรอง FIR ที่ให้ เฟสเป็นเชิงเส้น จะมีเงื่อนไขของการสมมาตร EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
เงื่อนไขของตัวกรองเฟสเชิงเส้นเงื่อนไขของตัวกรองเฟสเชิงเส้น • ดูจากผลตอบสนองอิมพัลส์ h(n) 0 1 2 3 4 N เลขคี่ สมมาตร (symmetric) 0 1 2 3 4 5 N เลขคู่ N เลขคี่ 0 1 2 3 4 สมมาตร ตรงกันข้าม (Anti-symmetric) 0 N เลขคู่ 1 2 3 4 5 EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
พิจารณากรณีh(n) เป็น “สมมาตร” และ N เป็นเลขคี่ กรณี ที่ n=0,…,N-1 เมื่อให้ เราจะได้ว่า ขนาด เฟส โดยที่ *ต่อไปนี้ เราจะใช้ h(n) แบบ “สมมาตร,N เลขคี่” สำหรับตัวกรอง FIR EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
FIR Filter Design • เนื่องจาก FIR ที่เราพิจารณานั้นให้ผลตอบสนองทางเฟสเป็นเชิงเส้น (Linear phase) ดังนั้นการออกแบบจึงกระทำโดยใช้ การพิจารณาทางขนาด (Magnitude) เท่านั้น • มีการออกแบบ 2 วิธีที่นิยมคือ • การออกแบบโดยใช้หน้าต่าง (Window Method) • การออกแบบ FIR โดยเทคนิกสุ่มความถี่ (Frequency Sampling Method) EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
Low pass filter (LPF ) High pass filter (HPF) Band pass filter (BPF) Band stop filter (BSF) EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ผลตอบสนองอิมพัลส์ของตัวกรองต่ำผ่าน LPF EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ผลตอบสนองอิมพัลส์ตัวกรองอุดมคติผลตอบสนองอิมพัลส์ตัวกรองอุดมคติ เราพบว่าเราไม่สามารถสร้าง d(n) ได้ เพราะเป็น noncausal เราจึงต้องใช้การประมาณ ค่า (approximation) EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ตัวกรองต่ำผ่านที่ต้องการตัวกรองต่ำผ่านที่ต้องการ =ความถี่ตัด (Cut-off frequency) EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ผลตอบสนองอิมพัลส์ของตัวกรองต่ำผ่าน ที่มีการ เลื่อน M ลำดับ EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
การออกแบบตัวกรอง FIR โดยใช้ฟังก์ชัน หน้าต่าง(Windowing Techniques) • ขั้นตอนการออกแบบ • 1. เลื่อนลำดับ d(n) ไปทางขวา M ลำดับ • 2. ตัดลำดับของ d(n) ที่เป็นแบบไม่จำกัด(infinite) ให้เป็นแบบ จำกัด (finite) โดยใช้การคูณด้วย หน้าต่าง (window) EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
การออกแบบด้วยหน้าต่างการออกแบบด้วยหน้าต่าง = n n n เราได้สมการของ h(n) โดยที่ฟังก์ชันหน้าต่าง w(n) เป็น N = อันดับ (order) ของตัวกรอง M=(N-1)/2 EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
การคูณในโดเมนเวลา = การประสานในโดเมนความถี่ การประสาน EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
----- ตัวกรองอุดมคติ ตัวกรองตามจริง การประมาณค่าสำหรับวงจรกรองต่ำผ่าน ริปเปิ้ลแถบผ่าน ริปเปิ้ล แถบหยุด สิ่งที่สำคัญในการออกแบบ วงจรกรองดิจิตอลคือ 1 ริปเปิ้ล ทั้งแถบผ่านและแถบหยุด 2 ความชันระหว่างแถบ EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ข้อกำหนดในการออกแบบตัวกรอง(Filter specification) แถบหยุด แถบผ่าน แถบ เปลี่ยน EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
คุณสมบัติของฟังก์ชันหน้าต่าง โลบหลัก(Main lobe) โลบข้าง (sidelobe) ความกว้างของแถบเปลี่ยน EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ตัวอย่าง จากตารางที่ 7.2 หนังสือ อ พรชัย EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ขั้นตอนออกแบบตัวกรอง FIR โดยใช้หน้าต่าง • ใช้ ค่าริปเปิ้ลของแถบผ่าน ( ) หรือ การลดทอนของแถบหยุด As เพื่อเลือกชนิดของหน้าต่าง (ข้ามขั้นตอนนี้ หากกำหนดชนิดหน้าต่างมาให้) • ใช้ ค่าความกว้างของแถบเปลี่ยน ( ) หา “อันดับ (order)” ของตัวกรอง (N) ที่ต้องใช้ • เลื่อน d(n) ให้หน่วงไป M ตำแหน่ง และคำนวณ • h(n)=d(n-M)w(n), n=0,…,N-1 • นำ h(n) ที่ได้ ไป เป็นค่า สปส ของ ตัวกรอง EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ตัวอย่าง 1 • จงออกแบบตัวกรอง FIR LPF ที่มีความถี่ตัดที่ 500 Hz โดยใช้ หน้าต่างสี่เหลี่ยม และ ความกว้างแถบเปลี่ยน น้อยกว่า 90 Hz ระบบใช้ความถี่สุ่ม (fs) =2 kHz EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ตัวอย่าง 1(ต่อ) ความถี่ตัด ดิจิตอล แถบความถี่เปลี่ยน ดิจิตอล จากตารางที่ 7.2 หาออเดอร์ ของตัวกรอง เลือกเลขคี่จำนวนเต็มที่ มากกว่า 44.44 นั่นคือ N=45 EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ตัวอย่าง 1(ต่อ) EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ขนาดของตัวกรองต่ำผ่านที่ออกแบบได้ขนาดของตัวกรองต่ำผ่านที่ออกแบบได้ 500 Hz ex_7_1.eps EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ผลตอบสนองอิมพัลส์ h(n) ของตัวกรอง ex_7_2.eps EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
หน้าต่างสี่เหลี่ยม -21 dB EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
หน้าต่าง ฮานนิ่ง -44 dB EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
หน้าต่าง แบล็กแมน -74 dB EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ตัวอย่างที่2 จงออกแบบตัวกรองต่ำผ่าน ที่มีความถี่ตัด 2 kHz โดยต้องการ จงหา หน้าต่างแบบที่ใช้ได้ และ ใช้ได้ที่อันดับที่เท่าไร? EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
1. เปรียบเทียบริปเปิ้ล เปรียบเทียบ และ เลือกใช้ตัวที่ น้อยกว่า ในการออกแบบ จาก เพราะฉะนั้น เปรียบเทียบ ความต้องการ ดังนั้น ในการออกแบบจะเลือกใช้ EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
2. เลือกหน้าต่าง ใช้ ค่าริปเปิ้ลที่แถบผ่าน ในการ เลือกหน้าต่าง จากตาราง 7.2 เราเห็นว่า หน้าต่างที่ให้ค่าริปเปิ้ลเกิน 0.3 %คือ หน้าต่างสี่เหลี่ยม (8.9%) และหน้าต่างฮานนิ่ง (0.63%) เพราะฉะนั้น หน้าต่างที่ใช้ได้ คือ หน้าต่างแฮมมิ่ง (0.22%) หน้าต่างแบล็กแมน (0.02%) EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
หน้าต่างแฮมมิ่ง (0.22%) ความถี่ตัดดิจิตอล แถบความถี่เปลี่ยน ดิจิตอล จากตารางที่ 7.2 หน้าต่างแฮมมิ่ง หาอันดับของตัวกรอง อันดับ คือจำนวนเต็มเลขคี่ที่มากกว่า 200 นั่นคือ N=201 EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
หน้าต่างแบล็กแมน (0.02%) จากตารางที่ 7.2 หน้าต่างแบล็กแมน หาอันดับ ของตัวกรอง อันดับ คือจำนวนเต็มเลขคี่ที่มากกว่า 300 นั่นคือ N=301 EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
% window.m demonstrating of the window design technique fc=500; fs=2000; N=41; M=(N-1)/2; wc=2*pi*fc/fs; n=0:N-1; %%%%%%% we can add a smallest number % 'eps' to avoid dividing by zero d=sin(wc*(n-M+eps))./(n-M+eps)/pi; %%%% uncomment lines below for different windows w=ones(1,N); % Rectangular % w=.5-.5*cos(2*pi*n./(N-1)); %Hanning % w=.42-.5*cos(2*pi*n./(N-1))+.08*cos(4*pi*n./(N-1)); %blackman h=d.*w; figure(1);subplot(111);freqres(h,1,fs,'db') figure(2);subplot(111);stem(h) grid on xlabel('n') ylabel('h(n)') EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
การออกแบบ FIR เทคนิกการสุ่มความถี่ (Frequency Sampling Techniques) เป็นการสร้างตัวกรองโดยใช้ การสุ่มสัมประสิทธิ์ จาก DFT ซึ่งได้เคยกล่าวถึงไปแล้ว ในบทที่ 7 ใช้ในการสร้างตัวกรองที่มีผลตอบสนองความถี่แปลกๆ 1 EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ในเชิงทฤษฎี เราเห็นว่ามีความสอดคล้องกับเรื่องของ “ FIR: Frequency Sampling” ใน DSP 7: โครงสร้างตัวกรองดิจิตอล ที่ เราได้ h(n) จากการสุ่มค่าสัมประสิทธิ์ของ DFT และได้ ฟังก์ชันถ่ายโอนเป็น EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
ข้อสำคัญ เฉพาะ ตำแหน่งที่เราสุ่มเท่านั้น จะเท่ากับ การออกแบบตัวกรองแบบสุ่มความถี่ จาก เราได้ ดังนั้น แทน EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
เลือก N เป็นเลขคี่ ครอบคลุม 1 10 1 3 0 2 20 EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
หาสัมประสิทธิ์ของตัวกรอง FIR แบบต่ำผ่าน ที่ความถี่ตัด 2 kHz ความถี่สุ่ม (fs) 10 kHz กำหนดให้เราสุ่ม 21 จุด ตัวอย่าง วิธีทำ ความถี่ตัด ดิจิตอล หาจำนวนจุด ของ ย่านแถบผ่าน= ดังนั้นจำนวนจุด ของ ย่านแถบหยุด= EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
การสุ่มเพื่อให้ได้ตัวกรองที่ต้องการการสุ่มเพื่อให้ได้ตัวกรองที่ต้องการ 1 EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
กรณีสุ่ม 21 จุด ex_8_8.eps EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
เพิ่มจำนวนจุดสุ่มเป็น 61 จุด หาจำนวนจุด ของ ย่านแถบผ่าน= ดังนั้นจำนวนจุด ของ ย่านแถบหยุด= EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
กรณีสุ่ม 61 จุด ความชันมากขึ้น โลบข้างมีขนาดเท่ากับ กรณีสุ่ม 21 จุด ex_8_9.eps EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
% freq_sampl.mdemonstrating low-pass design for FIR % fs=10000; % ความถี่สุ่ม 10 kHz wc= 0.4*pi; % ความถี่ตัดดิจิตอล N=21; % เลือกจำนวนจุดสุ่มเป็นเลขคี่ Mp= ceil(wc*N/(2*pi)); %จ.น. จุด ของแถบผ่าน 0<w<pi Mpp=Mp-1; %จ.น. จุด ของแถบผ่าน pi<w<2pi Ms= N-Mp-Mpp; %จ.น. จุด ของแถบหยุด 0<w<pi H=[ones(1,Mp) zeros(1,Ms) ones(1,Mpp)]; %ขนาดของตัวกรอง k=0:1:N-1; % มี N ความถี่ H=H.*exp(-j*pi*(N-1)*k/N); % ตัวกรอง=ขนาด*เฟส h=real(ifft(H)); %ผลตอบสนองอิมพัลส์เป็นค่าจริง figure(1) freqres(h,1,fs) EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon
สรุป • การออกแบบตัวกรอง FIR ทำได้สองแบบ • หน้าต่างแต่ละแบบให้จุดเด่น จุดด้อยต่างกัน • การออกแบบโดยวิธีสุ่มความถี่ ทำให้สามารถออกแบบตัวกรองได้จาก ผลตอบสนองความถี่ได้โดยตรง • จำนวนสุ่มมากจะเพิ่มความชันของแถบ แต่ก็ทำให้อันดับของตัวกรองมากขึ้นด้วย EEET0485 Digital Signal Processing Asst.Prof. Peerapol Yuvapoositanon