วิธีการทำให้ไมโครโฟนขยายสัญญาณแอนะล็อกที่สะอาดเป็นสัญญาณดิจิตอล


12

ฉันได้ถามคำถามสองสามข้อเกี่ยวกับโครงการนี้ในช่วงสองสามวันที่ผ่านมา แต่ฉันไม่สามารถรวมเข้าด้วยกันได้

ฉันต่อไมโครโฟนอิเลคเทรตเข้ากับ opamp และส่งออกไปยังไมโครคอนโทรลเลอร์ arduino ของฉัน ADC บนไมโครคอนโทรลเลอร์จะแปลงช่วง 0 ถึง 5 vV เป็นหมายเลข 10 บิต (0 ถึง 1023)

ฉันลอง 3 แอมป์ชิปที่แตกต่างกัน:

  • LM386 - ฉันได้รับข้อเสนอแนะชิปนี้ไม่ดีสำหรับวัตถุประสงค์นี้เนื่องจากมันไม่ opamp และทำงานไม่ถูกต้องตามที่คาดไว้
  • LM358 - งาน
  • UA741 - ทำงานขยายได้มากกว่า LM358

ฉันทำตามแผนผังนี้อย่างแน่นอน (ยกเว้นฉันไปยุ่งกับค่าตัวต้านทานเพื่อให้ได้ผลดี): ฉันใช้ 50k ohm สำหรับ R5 และ 10 ohm สำหรับ R2 ป้อนคำอธิบายรูปภาพที่นี่

ปัญหาคือว่าผลผลิตจากชิปสองหลังไม่ได้ "สะอาด" analogRead () บน Arduino อ่านค่าที่ไม่เป็นศูนย์เสมอแม้ว่าฉันจะไม่มีเสียงรบกวนในไมโครโฟนก็ตาม การอ่านตอบสนองอย่างถูกต้องเมื่อฉันส่งเสียง, แต่ค่า "ศูนย์" ไม่เป็นศูนย์. บางครั้งค่า "ศูนย์" จะกะพริบแม้จะอ่านออกตลอดเวลา หวังว่ามันสมเหตุสมผล

คุณช่วยฉันจัดการเรื่องนี้ได้ไหม?

ข้อมูลพิเศษที่ไม่สำคัญ: ฉันพยายามทำสิ่งนี้ในที่สุด


คุณแน่ใจหรือว่าคุณมี C2 อยู่ในสถานที่? แรงดันไฟฟ้ากระแสตรงเงียบคืออะไรหลังจาก C2
Majenko

ใช่ฉันมี C2 อยู่แล้ว มันประมาณ 2 โวลต์ ฉันไม่รู้ว่าสิ่งนี้สมเหตุสมผลหรือไม่: เป็นไปได้ไหมว่ามีบางส่วนที่ติดอยู่ในปัจจุบัน (?) ในลูประหว่างขา 2 และ 6, เอาท์พุทและอินพุตกลับหัว?
Shubham

วิธีการเกี่ยวกับแรงดันไฟฟ้ากระแสตรงเงียบหลังจาก C2 กับมันตัดการเชื่อมต่อจากขาอินพุต Arduino หรือไม่
Majenko

การปรากฏตัวของ C2 หมายความว่าเอาต์พุตของแอมป์จะแกว่งไปรอบ ๆ 0V - ไม่ใช่ 2.5V ซึ่งทำงานอยู่ภายใน
Majenko

อีกอย่างหนึ่ง - คุณอาจต้องการลดขนาดไดโอดเล็ก ๆ น้อย ๆ ลงในระหว่าง pre-amp C2 และอินพุต Arduino - ทิ้งแรงดันลบที่คุณไม่สนใจ อีกสิ่งหนึ่งที่ฉันทำคือเพิ่มตัวเก็บประจุอีกตัวระหว่างอินพุตแบบอะนาล็อกและกราวด์เพื่อให้สัญญาณเรียบขึ้นเล็กน้อย ทำให้ VU meter สั่นน้อยลงเล็กน้อย
Majenko

คำตอบ:


17

กำจัดตัวเก็บประจุเอาท์พุท วงจรนั้นอาจหมายถึงการสร้างสัญญาณรอบศูนย์ดังนั้นตัวเก็บประจุที่นั่นจะบล็อกออฟเซ็ต 1/2 Vdd อย่างไรก็ตามไมโครคอนโทรลเลอร์ต้องการเห็นสัญญาณที่อยู่กึ่งกลางรอบ 1/2 Vdd ดังนั้นเพียงแค่กำจัดตัวเก็บประจุ

ไมโครโฟนต้องได้รับประโยชน์มากมาย Electrets อาจมีความอ่อนไหว แต่คุณยังอาจต้องได้รับแรงดันไฟฟ้า 1,000 การเพิ่มขึ้นในวงจรของคุณคืออัตราส่วน R5 ถึง R2 แต่ทำงานได้ภายในขอบเขตที่ opamp สามารถทำได้

ค่าที่คุณกล่าวถึงข้างต้นจะทำให้คุณได้รับ 5,000 นั่นเป็นมากเกินกว่าที่คุณควรจะพยายามที่จะได้รับจากเวที opamp เดียว แรงดันออฟเซ็ตไม่เพียง แต่จะถูกคูณด้วยเกนนี้ แต่ opamp จะไม่สามารถให้ได้ในช่วงความถี่เต็ม ด้วยอัตราขยายแบนด์วิดท์ 1 MHz คุณจะได้รับกำไรค่อนข้างต่ำกว่า 200 Hz แม้กระทั่งออฟเซ็ตอินพุต 1 mV ก็จะกลายเป็น 5 V หลังจากที่ขยายด้วย 5000

R2 ยังเป็นความต้านทานที่ไมโครโฟนเห็นหลังจากตัวเก็บประจุอินพุต คุณต้องการสิ่งนี้ค่อนข้างใหญ่กว่าความต้านทานของไมโครโฟนด้วยการดึงและตัวเก็บประจุอินพุตที่ความถี่ต่ำสุดที่น่าสนใจ 10 Ωนั้นเล็กเกินไปสำหรับเรื่องนั้น 10 kΩน่าจะคุ้มค่ากว่า

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

แก้ไข: เพิ่มวงจร

เมื่อคืนที่ฉันเขียนคำตอบข้างต้นฉันไม่มีเวลาวาดวงจร นี่คือวงจรที่ควรทำ:

นี่มีอัตราขยายของแรงดันไฟฟ้าประมาณ 1,000 ซึ่งควรจะเพียงพอสำหรับไมโครโฟนอิเล็กเตรตที่สมเหตุสมผล ฉันอาจจะมากไปหน่อย แต่มันง่ายที่จะเพิ่มการลดทอน

โทโพโลยีค่อนข้างแตกต่างจากวงจรของคุณ สิ่งเดียวที่สำคัญที่สุดที่ควรทราบคือมันไม่ได้พยายามสร้างผลประโยชน์ทั้งหมดในขั้นตอนเดียว แต่ละขั้นตอนจะได้รับประมาณ 31. ซึ่งทำให้เกิด headroom ที่ได้รับมากมายที่ความถี่เสียงสูงสุด 20 kHz สำหรับข้อเสนอแนะ, ดังนั้นการคาดการณ์จะได้รับและคาดการณ์ได้ดีเมื่อเทียบกับช่วงความถี่เสียงเนื่องจาก MCP6022 มีแบนด์วิดธ์แบบทั่วไป ผลิตภัณฑ์ 10 MHz ปัจจัยที่ จำกัด น่าจะเป็นไมโครโฟนมากที่สุด

ซึ่งแตกต่างจากที่ฉันพูดไว้ก่อนหน้านี้สองขั้นตอนไม่จำเป็นต้องมีความจุคู่เพื่อป้องกันแรงดันออฟเซ็ตที่สะสมพร้อมกับอัตราขยาย นั่นเป็นเพราะในวงจรนี้แต่ละสเตจมีกำไร DC เพียง 1 ดังนั้นออฟเซ็ตสุดท้ายจะเป็นสองเท่าของออฟเซ็ต opamp opamps เหล่านี้มีออฟเซ็ตเพียง 500 µV ดังนั้น offset สุดท้ายคือเพียง 1 mV เนื่องจาก opamps จะมีมากขึ้นเนื่องจากความไม่ตรงกันของ R3 และ R4 ไม่ว่าในกรณีใดเอาต์พุต DC จะมีมากพอที่จะใกล้ถึง 1/2 ของอุปทานที่จะไม่กินเข้าไปในช่วง A / D อย่างมีความหมาย

อัตราขยาย DC ที่ 1 ต่อสเตจสามารถทำได้โดยการคัปปลิ้งทางป้อนกลับแบบป้อนกลับสู่พื้น ตัวเก็บประจุบล็อก DC ดังนั้นแต่ละขั้นตอนจึงเป็นเพียงผู้ติดตามสามัคคีสำหรับ DC การรับ AC เต็มรูปแบบนั้นเกิดขึ้นเนื่องจากตัวเก็บประจุ (C3 ในระยะแรก) มีความต้านทานน้อยเมื่อเทียบกับตัวต้านทานตัวหารแบบแบ่งส่วนล่าง (R7 ในระยะแรก) สิ่งนี้เริ่มเกิดขึ้นที่ประมาณ 16 Hz ข้อเสียเปรียบอย่างหนึ่งของวิธีนี้คือค่าคงที่เวลาในการชำระคือ C3 คูณ R7 + R5 ไม่ใช่แค่ R7 วงจรนี้จะใช้เวลาสองสามวินาทีหรือมากกว่านั้นเพื่อทำให้เสถียรหลังจากเปิดใช้งาน


เมื่อฉันถอดฝาออกจากช่องสัญญาณออกอาร์ดิโน่จะเห็นอินพุตประมาณ 3 โวลต์ ฉันขอโทษ แต่คุณช่วยอธิบายสิ่งที่คุณหมายถึงด้วยแรงดันไฟฟ้าออฟเซ็ตได้หรือไม่? เพื่อให้ได้รับ 1,000 โดย R2 เป็น 10k Ohm ฉันต้องการ 10M ohm สำหรับ R5 หรือไม่ คุณแน่ใจเกี่ยวกับเรื่องนี้? กำไรเป็นอัตราส่วนระหว่าง R5 และ R2 ใช่มั้ย
Shubham

@Shubham: วงจรของคุณพยายามที่จะคูณแรงดันออฟเซ็ตของ opamp ด้วย 5000 ดังนั้นจึงไม่แปลกใจเลยที่เอาต์พุตจะถูกตรึงกับรางเดียว ไม่มี opamp ที่สมบูรณ์แบบ แรงดันออฟเซ็ตอินพุตคือแรงดันไฟฟ้าระหว่างสองอินพุตเมื่อเอาต์พุตอยู่ในช่วงกลาง ในทางทฤษฎีแล้วทั้งสองปัจจัยจะเท่ากัน ข้อมูลจำเพาะแรงดันออฟเซ็ตอินพุตบอกให้คุณทราบว่าห่างจากอุดมคตินี้มากแค่ไหน
Olin Lathrop

@Shubham: คุณจะต้องมี 10 MOhm สำหรับตัวต้านทานข้อเสนอแนะถ้าคุณพยายามที่จะมีหนึ่งขั้นผลิตกำไรทั้งหมด อย่างที่ฉันพูดนั่นเป็นความคิดที่ไม่ดี
Olin Lathrop

ขอบคุณสำหรับความช่วยเหลือทั้งหมดเรียนรู้มากมายที่นี่ ดังนั้นการได้รับสองขั้นตอน 30 ครั้งแต่ละครั้งทำให้ฉันได้รับรวมทั้งสิ้น 900 ใช่ไหม ฉันจะลองใช้ LM358 (นั่นคือสิ่งที่ฉันได้นอน) และรายงานกลับ
Shubham

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

5

อย่างที่คุณบอกว่าค่าดิจิตอลจะอยู่ระหว่าง 0 ถึง 1,023 จุดกึ่งกลางของช่วงนี้ไม่ใช่ 0 มันคือ 512 (ซึ่งสอดคล้องกับแรงดันไฟฟ้าประมาณ 2.5) สำหรับความเงียบคุณควรเห็นบางสิ่งบางอย่างที่อยู่ตรงกลางของช่วงเช่นนี้ ไม่จำเป็นต้องเป็น 512 แต่ควรใกล้เคียง สิ่งนี้เรียกว่า "DC offset" สัญญาณจะถูกเลื่อนขึ้นและอยู่ที่ประมาณ 2.5 V

หากคุณวัด 2 V และเห็นค่า ADC ประมาณ 400 แสดงว่ามันใช้งานได้ดี

คลื่นเสียงเปลี่ยนจากความดันเป็นลบเป็นบวก หากจุดกึ่งกลางเป็น 0 และสามารถวัดสัญญาณได้ระหว่าง 0 ถึง 1023 เท่านั้นค่าความดันลบ (-1023) จะถูกตัดออก

นอกจากนี้มันมักจะผันผวนเล็กน้อยเนื่องจากพื้นเสียงรบกวนของ ADC (และจะมีเสียงในห้องเสมอไม่ว่าคุณจะเงียบแค่ไหน)


Ohhh ที่อธิบาย "DC offset" ฉันเห็นคำตอบอื่น ๆ มีวิธีลบ DC offset แต่วางที่ใดที่หนึ่งหรือไม่?
Shubham

@Shubham: คุณต้องการ DC offset กระบวนการ ADC จะไม่ทำงานหากไม่มีกระบวนการนี้ หมวก C2 คือสิ่งที่รับรองว่าคุณมี ในกรณีนี้อาจมีความแตกต่างไม่มากนักเนื่องจากผลลัพธ์ของ U1 ถูกชดเชยไปแล้ว คุณสามารถวัดค่า DC ในแต่ละด้านของ C2 ได้หรือไม่?
endolith

@Shubham: ถ้าคุณหมายถึงว่าคุณต้องการให้การวัดแบบดิจิตอลอยู่ที่ประมาณ 0 แทนที่จะเป็น 512 คุณสามารถลบออฟเซ็ตในซอฟต์แวร์ของคุณหรือดีกว่าใช้ตัวกรองสัญญาณดิจิตอลสูงในซอฟต์แวร์
endolith

3

คุณสามารถโพสต์แผ่นข้อมูลจำเพาะบนไมโครโฟนนั้นได้หรือไม่ ไม่มีเหตุผลที่คุณจะต้องได้รับ 5,000 ด้วยไมโครโฟนอิเล็กเตรตเว้นแต่ว่าคุณจะมีหน่วยเปล่าโดยไม่มี FET ภายใน หากเป็นเช่นนั้นแอมป์จำเป็นต้องดูแตกต่างกันมาก

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

ฉันอยากจะแนะนำ:

ป้อนคำอธิบายรูปภาพที่นี่

R5 / R4 ตั้งค่าอัตราขยายและสามารถปรับได้โดยไม่ต้องขันด้วยอิมพีแดนซ์อินพุตของวงจร R3 สามารถมาจาก 2k -> 10k ish 10k มีแนวโน้มที่จะปรับปรุงประสิทธิภาพการบิดเบือนถ้าคุณปรับค่านี้ต่ำเกินไปคุณควรคิดใหม่ค่าสำหรับ R1 และ R2 เพื่อแก้ไขอิมพิแดนซ์อินพุต

มันสำคัญมากที่แหล่งจ่ายไฟแยกตัวออกจากกันอย่างเพียงพอเนื่องจากเสียงรบกวนใด ๆ ที่จะป้อนเข้าไมโครโฟน

เช่นเดียวกับคำตอบอื่น ๆ ที่กล่าวถึงจุด "ศูนย์" ของคุณจะเป็น ~ 512 เมื่อคุณอ่าน ADC และจะผันผวนเล็กน้อยไม่ว่าคุณจะทำอะไร

หากเป้าหมายของคุณกะพริบแสงตามระดับที่คุณไม่ควรอ่านทันทีด้วย arduino เพราะฉันสงสัยว่าคุณจะลองตัวอย่างเร็วพอที่จะตอบสนองได้ดี แทนที่จะทำการตรวจจับระดับสูงสุดหรือเฉลี่ยในโดเมนอะนาล็อกและตั้งค่าระยะเวลาเฉลี่ยตามสัดส่วนกับอัตราการสุ่มตัวอย่างของคุณ

แก้ไข: เพิ่มเติมเกี่ยวกับการทำเช่นนี้ด้วยเครื่องตรวจจับสูงสุด

ปัญหาที่คุณจะได้ที่นี่คือ arduino มีอัตราการสุ่มตัวอย่างค่อนข้าง จำกัด ฉันคิดว่าค่าสูงสุดของคุณจะอยู่ที่ประมาณ 10khz ซึ่งหมายความว่าคุณสามารถแก้ไขสัญญาณเสียงสูงสุด 5khz เท่านั้น นั่นคือกับ Arduino ที่ทำน้อยมากยกเว้นการเรียกใช้ ADC ถ้าคุณจำเป็นต้องทำงานจริง ๆ (และคุณทำเพื่อให้ได้ระดับ) อัตราการสุ่มตัวอย่างจะลดลง

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

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

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

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

ป้อนคำอธิบายรูปภาพที่นี่

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

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

C1 และ R4 ทำหน้าที่เป็นตัวกรองความถี่ต่ำเพื่อให้การแสดงผลราบรื่นขึ้นคุณสามารถเล่นกับค่าเหล่านั้นเพื่อจับคู่ประสิทธิภาพการทำงานกับสิ่งที่คุณพยายามทำ (และอัตราการสุ่มตัวอย่าง)

คุณสามารถใช้ op amp รุ่นเดียวกันกับที่คุณใช้ใน pre-amp แต่ Rail-to-Rail และอัตราการสลูว์สูงเหมาะสำหรับวงจรนี้ หากคุณมีปัญหาด้านเสถียรภาพให้เพิ่ม R1, R2 และ R3 เป็น 100k ohm


ไมค์เป็นไมค์คอนเดนเซอร์มาตรฐาน ฉันจะสร้าง R3 10K, Vcc ของฉันคือ 5.9V ดังนั้นมันจะโอเคไหมถ้า R1 และ R2 เป็น 10K ด้วย? คุณต้องการแนะนำ opamp อะไร: LM358 หรือ 741 มีวิธีที่ฉันสามารถนำ "ศูนย์" ชี้ไปที่ 0 หรือใกล้ 0? "ทำการตรวจจับระดับสูงสุดหรือเฉลี่ยในโดเมนอะนาล็อกแทนและตั้งค่าระยะเวลาเฉลี่ยตามสัดส่วนกับอัตราการสุ่มตัวอย่างของคุณ - คุณช่วยให้รายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้กับฉันหน่อยได้ไหม? ฟังดูน่าสนใจและฉันต้องการดูมันมาก ขออภัยฉันมีคำถามมากมาย ... ฉันเป็นนักเรียน EE ในวิทยาลัยยังคงเรียนรู้
Shubham

ฉันลองวงจรที่แนะนำของคุณ (มันสะอาดกว่าสิ่งที่ฉันใช้และเอาท์พุทแบบสุ่มน้อยกว่า) ฉันใช้ 1M Ohm สำหรับ R5 และ 1k Ohm สำหรับ R4 ให้กำลังขยาย 1,000 เมื่อฉันทำการวัดด้วย DMM opamp จะให้เอาต์พุตที่เงียบประมาณ 3 โวลต์และ C3 ลดลงเหลือ 1.5 โวลต์ นอกจากนี้เมื่อฉันลบ R5 มันไม่ได้สร้างความแตกต่างให้กับเอาต์พุต ... คุณแน่ใจหรือไม่ว่ากำไรเป็น R4 / R5
Shubham

1
R3 ตั้งค่าจุดไบอัสของ FET ภายในไมโครโฟน (R1 || R2) || R3 ตั้งค่าความต้านทานอินพุต AC ที่ไมโครโฟนเห็น การตั้งค่าจุด "ศูนย์" เป็น 0 ไม่สามารถแก้ไขได้โดยอะไรในโดเมนอะนาล็อกนั่นคือฟังก์ชั่นของ ADC ใน Arduino ที่มีแหล่งจ่ายไฟเดียว สิ่งที่คุณต้องทำคือลบ ~ 512 จากแต่ละตัวอย่างถ้าคุณไม่ต้องการให้เสียงเป็นศูนย์ (ตรวจสอบให้แน่ใจว่าคุณใช้ชนิดข้อมูลที่ลงนามแล้วซึ่งหมายความว่าเป็นไปได้ที่จะมีค่าลบ)
Mark

R4 / R5 คือกำไร แต่การได้รับ 1,000 อาจเกินขีด จำกัด ของ opamp ที่ความถี่ที่คุณทดสอบ C2 ในวงจรอยู่ตรงนั้นเพื่อช่วยลด DC offset ในเอาต์พุตจากการป้อนกลับและไม่ส่งผลกระทบต่อกำไร
Mark

Mark, C1 กับ R1 // R2 มีความถี่ rolloff ตัวกรองความถี่สูงผ่าน 1.3 kHz นั่นสูงกว่าความถี่เสียงที่ดีและ 6 อ็อกเทฟสูงกว่าขีด จำกัด ล่าง "ไฮไฟ" สิ่งนี้อาจใช้ได้ถ้าเขาต้องการเปิดใช้เสียงเรียกใช้ แต่ไม่ดีถ้าเขาต้องการเสียงดิจิทัลปกติ
Olin Lathrop
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.