การคำนวณอนุพันธ์ที่ราบเรียบของสัญญาณโดยใช้ความแตกต่างกับ step = convolving ที่มากขึ้นด้วยหน้าต่างสี่เหลี่ยม


9

ฉันมีตัวอย่างสัญญาณที่ Δt:fi(ti=iΔt)โดยที่ i = 0..n-1 ฉันต้องการหาอนุพันธ์อันดับแรกของสัญญาณ: f '(t)

ความคิดแรกของฉันคือประเมินโดยความแตกต่างที่สำคัญ:

f(ti)=f(ti+1)f(ti1)2Δt

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

เพื่อนร่วมงานแนะนำวิธีที่เร็วกว่าในการหาค่าประมาณที่ราบรื่นของอนุพันธ์: ใช้ความแตกต่างที่เป็นศูนย์กลางของตัวอย่าง 2n โดยที่ n >> 1:

f(ti)=f(ti+n)f(tin)2nΔt

แน่นอนว่าการคำนวณนี้จะเร็วกว่าการสังเกตุด้วยฟังก์ชั่นหน้าต่างเป็นครั้งแรก แต่มันเป็นวิธีแก้ปัญหาที่ดีหรือไม่?

หากเราสร้างผลรวม:

S=2Δt[f(tin+1)+f(tin+2)+..+f(ti+n1)]

และขยายอนุพันธ์แต่ละอันด้วยความแตกต่างส่วนกลางด้วยขั้นตอน Δt:

S=f(tin+2)f(tin)+f(tin+3)f(tin+2)+..+f(ti+n)f(ti+n2)

เงื่อนไขทั้งหมดยกเว้นการยกเลิกสองรายการ:

S=f(ti+n)f(tin)=2nΔtf(ti)

ดังนั้น:

f(ti)=1n[f(tin+1)+f(tin+2)+..+f(ti+n1)]

ดังนั้นการรับความแตกต่างที่เป็นศูนย์กลางของตัวอย่าง 2n นั้นเทียบเท่ากับการโน้มน้าวครั้งแรกโดยหน้าต่างสี่เหลี่ยมขนาด 2n - 2 แล้วนำความแตกต่างที่เป็นศูนย์กลางของตัวอย่าง +/- 1

"ไม่ดี" เป็นวิธีการที่ราบรื่นกับหน้าต่างสี่เหลี่ยม?

หากเราใช้ FFT สิ่งนี้จะทำให้เกิด "เสียงเรียกเข้า" แต่เราไม่จำเป็นต้องใช้ FFT

ขอบคุณล่วงหน้าสำหรับคำตอบ!

คำตอบ:


4

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

การแยกความแตกต่างเป็นการดำเนินการผ่านทางอ้อมสูง ตัวแยกความแตกต่างเวลาต่อเนื่องในอุดมคติมีฟังก์ชั่นการถ่ายโอนของ:

H(s)=s

ดังนั้นการตอบสนองขนาดของมันคือ:

|H(jω)|=ω

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

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

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

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

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