530 likes | 694 Views
การออกแบบตัวกรองดิจิตอล Digital Filters Design Chapter 4 Finite Impulse Response Filter Design. Asst. Prof. Dr. Peerapol Yuvapoositanon , PhD,DIC Department of Electronic Engineering and Graduate School of Electrical Engineering Mahanakorn University of Technology. ข้อดีของ FIR.
E N D
การออกแบบตัวกรองดิจิตอลDigital Filters Design Chapter 4 Finite Impulse Response Filter Design Asst. Prof. Dr. PeerapolYuvapoositanon, PhD,DIC Department of Electronic Engineering and Graduate School of Electrical Engineering Mahanakorn University of Technology
ข้อดีของ FIR • มีความเสถียร (stable) • สามารถออกแบบให้ผลตอบสนองทางเฟส เป็นเชิงเส้น (Linear phase) ได้ง่าย
เฟสที่เป็นเชิงเส้น (linear phase) เฟสคือ a=ค่าคงที่ ตัวกรอง FIR ที่ให้ เฟสเป็นเชิงเส้น จะมีเงื่อนไขของการสมมาตร
เงื่อนไขของตัวกรองเฟสเชิงเส้นเงื่อนไขของตัวกรองเฟสเชิงเส้น • ดูจากผลตอบสนองอิมพัลส์ 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
พิจารณากรณีh(n) เป็น “สมมาตร” และ N เป็นเลขคี่ กรณี ที่ n=0,…,N-1 เมื่อให้ เราจะได้ว่า ขนาด เฟส โดยที่ *ต่อไปนี้ เราจะใช้ h(n) แบบ “สมมาตร,N เลขคี่” สำหรับตัวกรอง FIR
FIR Filter Design • เนื่องจาก FIR ที่เราพิจารณานั้นให้ผลตอบสนองทางเฟสเป็นเชิงเส้น (Linear phase) ดังนั้นการออกแบบจึงกระทำโดยใช้ การพิจารณาทางขนาด (Magnitude) เท่านั้น • มีการออกแบบ 2 วิธีที่นิยมคือ • การออกแบบโดยใช้หน้าต่าง (Window Method) • การออกแบบ FIR โดยเทคนิกสุ่มความถี่ (Frequency Sampling Method)
Low pass filter (LPF ) High pass filter (HPF) Band pass filter (BPF) Band stop filter (BSF)
ผลตอบสนองอิมพัลส์ตัวกรองอุดมคติผลตอบสนองอิมพัลส์ตัวกรองอุดมคติ เราพบว่าไม่สามารถสร้าง d(n) ได้ เพราะเป็น d(n) noncausal ( เวลาเป็นค่าลบ) เราจึงต้องใช้การประมาณ ค่า (approximation)
ตัวกรองต่ำผ่านที่ต้องการตัวกรองต่ำผ่านที่ต้องการ =ความถี่ตัด (Cut-off frequency)
ผลตอบสนองอิมพัลส์ของตัวกรองต่ำผ่าน ที่มีการ เลื่อน M ลำดับ
การออกแบบตัวกรอง FIR โดยใช้ฟังก์ชัน หน้าต่าง(Windowing Techniques) • ขั้นตอนการออกแบบ • 1. เลื่อนลำดับ d(n) ไปทางขวา M ลำดับ • 2. ตัดลำดับของ d(n) ที่เป็นแบบไม่จำกัด(infinite) ให้เป็นแบบ จำกัด (finite) โดยใช้การคูณด้วย หน้าต่าง (window)
การออกแบบด้วยหน้าต่างการออกแบบด้วยหน้าต่าง = n n n เราได้สมการของ h(n) โดยที่ฟังก์ชันหน้าต่าง w(n) เป็น N = อันดับ (order) ของตัวกรอง M=(N-1)/2
การคูณในโดเมนเวลา = การประสานในโดเมนความถี่ การประสาน
----- ตัวกรองอุดมคติ ตัวกรองตามจริง การประมาณค่าสำหรับวงจรกรองต่ำผ่าน ริปเปิ้ลแถบผ่าน ริปเปิ้ล แถบหยุด สิ่งที่สำคัญในการออกแบบ วงจรกรองดิจิตอลคือ 1 ริปเปิ้ล ทั้งแถบผ่านและแถบหยุด 2 ความชันระหว่างแถบ
ข้อกำหนดในการออกแบบตัวกรอง(Filter specification) แถบหยุด แถบผ่าน แถบ เปลี่ยน
คุณสมบัติของฟังก์ชันหน้าต่าง โลบหลัก(Main lobe) โลบข้าง (sidelobe) ความกว้างของแถบเปลี่ยน
ขั้นตอนออกแบบตัวกรอง FIR โดยใช้หน้าต่าง • ใช้ ค่าริปเปิ้ลของแถบผ่าน ( ) หรือ การลดทอนของแถบหยุด As เพื่อเลือกชนิดของหน้าต่าง (ข้ามขั้นตอนนี้ หากกำหนดชนิดหน้าต่างมาให้) • ใช้ ค่าความกว้างของแถบเปลี่ยน ( ) หา “อันดับ (order)” ของตัวกรอง (N) ที่ต้องใช้ • เลื่อน d(n) ให้หน่วงไป M ตำแหน่ง และคำนวณ • h(n)=d(n-M)w(n), n=0,…,N-1 • นำ h(n) ที่ได้ ไป เป็นค่า สปส ของ ตัวกรอง
ตัวอย่าง 1 • จงออกแบบตัวกรอง FIR LPF ที่มีความถี่ตัดที่ 500 Hz โดยใช้ หน้าต่างสี่เหลี่ยม และ ความกว้างแถบเปลี่ยน น้อยกว่า 90 Hz ระบบใช้ความถี่สุ่ม (fs) =2 kHz
ตัวอย่าง 1(ต่อ) ความถี่ตัด ดิจิตอล แถบความถี่เปลี่ยน ดิจิตอล จากตารางที่ 7.2 หาออเดอร์ ของตัวกรอง เลือกเลขคี่จำนวนเต็มที่ มากกว่า 44.44 นั่นคือ N=45
ขนาดของตัวกรองต่ำผ่านที่ออกแบบได้ขนาดของตัวกรองต่ำผ่านที่ออกแบบได้ 500 Hz ex_7_1.eps
ผลตอบสนองอิมพัลส์ h(n) ของตัวกรอง ex_7_2.eps
หน้าต่างสี่เหลี่ยม -21 dB
หน้าต่าง ฮานนิ่ง -44 dB
หน้าต่าง แบล็กแมน -74 dB
ตัวอย่างที่2 จงออกแบบตัวกรองต่ำผ่าน ที่มีความถี่ตัด 2 kHz โดยต้องการ จงหา หน้าต่างแบบที่ใช้ได้ และ ใช้ได้ที่อันดับที่เท่าไร?
1. เปรียบเทียบริปเปิ้ล เปรียบเทียบ และ เลือกใช้ตัวที่ น้อยกว่า ในการออกแบบ จาก เพราะฉะนั้น เปรียบเทียบ ความต้องการ ดังนั้น ในการออกแบบจะเลือกใช้
2. เลือกหน้าต่าง ใช้ ค่าริปเปิ้ลที่แถบผ่าน ในการ เลือกหน้าต่าง จากตาราง 7.2 เราเห็นว่า หน้าต่างที่ให้ค่าริปเปิ้ลเกิน 0.3 %คือ หน้าต่างสี่เหลี่ยม (8.9%) และหน้าต่างฮานนิ่ง (0.63%) เพราะฉะนั้น หน้าต่างที่ใช้ได้ คือ หน้าต่างแฮมมิ่ง (0.22%) หน้าต่างแบล็กแมน (0.02%)
หน้าต่างแฮมมิ่ง (0.22%) ความถี่ตัดดิจิตอล แถบความถี่เปลี่ยน ดิจิตอล จากตารางที่ 7.2 หน้าต่างแฮมมิ่ง หาอันดับของตัวกรอง อันดับ คือจำนวนเต็มเลขคี่ที่มากกว่า 200 นั่นคือ N=201
หน้าต่างแบล็กแมน (0.02%) จากตารางที่ 7.2 หน้าต่างแบล็กแมน หาอันดับ ของตัวกรอง อันดับ คือจำนวนเต็มเลขคี่ที่มากกว่า 300 นั่นคือ N=301
% 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)')
การออกแบบ FIR เทคนิกการสุ่มความถี่ (Frequency Sampling Techniques) เป็นการสร้างตัวกรองโดยใช้ การสุ่มสัมประสิทธิ์ จาก DFT ซึ่งได้เคยกล่าวถึงไปแล้ว ในบทที่ 7 ใช้ในการสร้างตัวกรองที่มีผลตอบสนองความถี่แปลกๆ 1
ในเชิงทฤษฎี เราเห็นว่ามีความสอดคล้องกับเรื่องของ “ FIR: Frequency Sampling” ใน DSP 7: โครงสร้างตัวกรองดิจิตอล ที่ เราได้ h(n) จากการสุ่มค่าสัมประสิทธิ์ของ DFT และได้ ฟังก์ชันถ่ายโอนเป็น
ข้อสำคัญ เฉพาะ ตำแหน่งที่เราสุ่มเท่านั้น จะเท่ากับ การออกแบบตัวกรองแบบสุ่มความถี่ จาก เราได้ ดังนั้น แทน
เลือก N เป็นเลขคี่ ครอบคลุม 1 10 1 3 0 2 20
หาสัมประสิทธิ์ของตัวกรอง FIR แบบต่ำผ่าน ที่ความถี่ตัด 2 kHz ความถี่สุ่ม (fs) 10 kHz กำหนดให้เราสุ่ม 21 จุด ตัวอย่าง วิธีทำ ความถี่ตัด ดิจิตอล หาจำนวนจุด ของ ย่านแถบผ่าน= ดังนั้นจำนวนจุด ของ ย่านแถบหยุด=
การสุ่มเพื่อให้ได้ตัวกรองที่ต้องการการสุ่มเพื่อให้ได้ตัวกรองที่ต้องการ 1
กรณีสุ่ม 21 จุด ex_8_8.eps
เพิ่มจำนวนจุดสุ่มเป็น 61 จุด หาจำนวนจุด ของ ย่านแถบผ่าน= ดังนั้นจำนวนจุด ของ ย่านแถบหยุด=