ซอฟต์แวร์ออกแบบตัวกรองที่ดีสำหรับ Mac OS X / Unix?


11

ฉันจำเป็นต้องใช้ตัวกรอง lowpass แบบง่ายสำหรับวงจรการเก็บข้อมูล (ใช้ผ้ายืดตัวนำเป็นเซ็นเซอร์ตัวต้านทาน) แหล่งข้อมูลหลายแห่งแนะนำว่าวิธีที่ดีที่สุดในการดำเนินการนี้คือการใช้ซอฟต์แวร์ออกแบบตัวกรอง

ฉันยังไม่พบเครื่องมือออกแบบตัวกรอง (เครื่องคิดเลข) ที่ฉันชอบ คนออนไลน์ที่ฉันพบมีรถ / น่าสะพรึงกลัว ทางออกที่ดีที่สุดจะเป็นหนึ่งเดียวกับ GUI ที่ใช้งานได้กับ Mac OS X หรืออาจใช้วิธีแก้ปัญหา Unix / Linux ก็ได้ Windows เป็นสิ่งที่ไม่ต้องทำสำหรับฉัน

ฉันพบรายการนี้: http://www.circuitsage.com/filter.html

แก้ไข:ฉันกำลังใช้เว็บนี้อยู่ตอนนี้โดยเฉพาะสำหรับตัวกรองที่ใช้งาน (ซึ่งใช้งานได้มากขึ้นสำหรับเซ็นเซอร์เนื่องจากพวกเขามีความเสถียรมากขึ้นด้วยความถี่ต่ำ)


คุณควรทำให้ชัดเจนว่าคุณสนใจออกแบบตัวกรองดิจิทัลหรือตัวกรองแบบแอนะล็อก และสำหรับตัวกรองแอนะล็อกที่ใช้งานอยู่หรือแฝง
nibot

คำตอบ:


6

MATLABเป็นจุดเริ่มต้นที่ดีสำหรับการจำลองและออกแบบตัวกรอง มีกล่องเครื่องมือออกแบบตัวกรองที่มีประโยชน์มาก อย่างไรก็ตามมันมีค่าใช้จ่าย

สำหรับแอปพลิเคชันเซ็นเซอร์โดยทั่วไปแล้วฟิลเตอร์บัตเตอร์เวิร์ ธจะดีกว่าเนื่องจากมีพาสแบนด์สูงสุด (เสียค่าใช้จ่ายในการตอบสนองเฟสและหมุน) นั่นหมายความว่าแอมพลิจูดของสัญญาณของคุณจะแบนตลอดช่วงความถี่

อยู่ห่างจากการใช้ฟิลเตอร์ที่ใช้งานตัวกรองSallen-Keyมันเป็นเรื่องยากมากที่จะได้รับส่วนประกอบทั้งหมดที่จะจับคู่และรักษาความถูกต้องที่ดีลองทำแบบจำลอง Monte Carloบนวงจร Sallen-Key เพื่อทำความเข้าใจที่ดีขึ้น

ตัวกรองตัวเก็บประจุแบบสวิตช์เป็นสิ่งที่ดีสำหรับการม้วนตัวสูงชันและตัวกรองเหล่านี้มีอยู่ในตัวกรอง Butterworth สิ่งเหล่านี้ต้องใช้ขั้วเดี่ยวก่อนและหลังเพื่อลบนามแฝงเนื่องจากสัญญาณนาฬิกาของการสลับซึ่งเกิดขึ้นที่ใดก็ได้จากมากกว่า 50 - 100 เท่าของการตัดของคุณ

อีกทางเลือกหนึ่งคือใช้ตัวกรอง RC แบบขั้วเดี่ยว (ใช้งานหรือแฝง) และป้อนลงใน ADC ความเร็วสูงกว่าและจากนั้นคุณสามารถใช้การประมวลผลสัญญาณดิจิตอลบนแพลตฟอร์มหรือพีซีที่ฝังตัวเพื่อทำการถอดรหัสและการวิเคราะห์ สิ่งนี้จะช่วยลดค่าใช้จ่ายและความซับซ้อนจากองค์ประกอบแบบอะนาล็อกไปเป็นข้อกำหนดของซอฟต์แวร์และการประมวลผล

สิ่งสำคัญที่สุด - ให้แน่ใจว่าคุณปฏิบัติตามเกณฑ์ Nyquistและคุณกำลังสุ่มอย่างน้อยสองเท่าของความถี่สูงสุดในทางปฏิบัตินี่หมายถึงตัวอย่างที่ 4-10 เท่าของความถี่สูงสุดของคุณเพื่อให้ตัวกรองม้วนต่ำกว่าระดับความละเอียด ADC ของคุณ ในอัตรา Nyquist


4
SciPy สามารถทำสิ่งเดียวกันกับ MATLAB ได้มากมาย แต่ฟรี scipy.org/doc/api_docs/SciPy.signal.filter_design.html นอกจากนี้ยังมีการโคลนโดยตรงเช่น Octave และ FreeMat แต่ฉันไม่รู้ว่าพวกมันมีการออกแบบตัวกรองทั้งหมดหรือไม่
endolith

ฉันมีสำเนาของ MATLAB - จะตรวจสอบแม้ว่าฉันจะไม่แน่ใจว่ามันให้ไดอะแกรมไฟฟ้าหรือไม่
เฉลียง

3
คุณจะไม่ได้รับแผนภาพไฟฟ้าเข้าหรือออกจาก MATLAB คุณมีตัวเลือกไม่กี่ตัวหนึ่งในนั้นคือชุดเครื่องมือออกแบบตัวกรองซึ่งช่วยให้คุณสร้างแบบจำลองตัวกรองโดยตรงหรือทำการแปลงเลซเลซของวงจรและแบบจำลองของคุณและจำลองโดยใช้พารามิเตอร์ laplace s จากนั้นแปลงกลับเป็นไดอะแกรมไฟฟ้า Matlab จะสร้างแบบจำลองพหุนามของตัวกรองจริงและไม่ใช่วงจรในขณะที่ตัวกรองไม่ได้อยู่ในระดับเดียวกันและข้ามโดเมนเพียงไม่กี่จุด อย่างไรก็ตามพวกเขาสามารถตระหนักถึงพหุนามกรองได้!
smashtastic

นอกจากนี้ยังมีระดับแปดเสียงซึ่งฟรี / โอเพนซอร์สและ (ส่วนใหญ่) เข้ากันได้กับรหัส matlab สำหรับการออกแบบตัวกรอง: gnu.org/software/octave
มาร์ค

5

ลองScilabซึ่งมาพร้อมกับฟังก์ชั่นการออกแบบและการจำลองตัวกรอง FIR และ IIR นั่นฟรี! มีรุ่น Linux และ MAC


3

ขึ้นอยู่กับสิ่งที่คุณหมายถึงโดย "ตัวกรอง lowpass ง่าย" และสิ่งที่คุณต้องการซอฟต์แวร์ที่จะทำ หากคุณต้องการความถี่ -3 dB สำหรับ LC filter:

Google Calculator

Wolfram Alpha


3

Analog Devices มีตัวช่วยสร้างตัวกรอง:

http://www.analog.com/en/amplifiers-and-comparators/products/dt-adisim-design-sim-tool/Filter_Wizard/resources/fca.html

มันออกแบบ Sallen Key ข้อเสนอแนะหลายรายการตัวแปรรัฐและตัวกรองที่ใช้งาน Biquad การลดทอนของตัวกรอง low-pass ประมาณ 12 dB ต่อคู่ต่อขั้นตอนลำดับที่ 2 (บัฟเฟอร์ระหว่างสเตจ)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.