เลื่อนสัญญาณโดยใช้เศษส่วนของตัวอย่าง


9

ฉันมีสัญญาณที่มีเวลาตัวอย่าง 0.5 ไมโครวินาทีและฉันต้องการเปลี่ยนสัญญาณนี้โดยใช้เวลาเพียงเศษเสี้ยวของตัวอย่างพูดด้วย 3 นาโนวินาที

ฉันได้อ่านแหล่งข้อมูลออนไลน์เกี่ยวกับการกรองการหน่วงเวลาแบบเศษส่วนและการใช้ FFT และ IFFT เพื่อดำเนินการหน่วงเวลาดังกล่าว ใครบางคนสามารถชี้ให้ฉันเห็นทฤษฎีบางอย่างเกี่ยวกับเรื่องนี้หรือให้แนวคิดเกี่ยวกับวิธีการนำไปใช้

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

คำตอบ:


13

: มีบทความภาพรวมที่ดีซึ่งปรากฏในปี 1996 ในนิตยสาร IEEE การประมวลผลสัญญาณเป็นแยกล่าช้าหน่วย: เครื่องมือสำหรับการออกแบบตัวกรองล่าช้าเศษส่วน สิ่งที่ดีเกี่ยวกับมันก็คือยังมีชุดของไฟล์ Matlab ที่เกี่ยวข้องที่มีอยู่ รูทีนเหล่านี้จะอนุญาตให้คุณออกแบบระบบดังกล่าว

สำหรับการขยับตัวอย่างจำนวนเต็มสิ่งที่คุณทำนั้นถูกต้องชัดเจน


ฉันแค่อ่านบทความนี้เท่านั้นดังนั้นฉันจึงไม่แน่ใจว่ามีสิ่งนี้อยู่ในนั้นหรือไม่ แต่การหน่วงเวลาเศษส่วนนั้นเกี่ยวข้องกับอนุพันธ์แบบเศษส่วนซึ่งทำให้อนุพันธ์อันดับที่ n เป็นลำดับโดยพลการ
soultrane

2

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

การแก้ไขลากรองจ์อาจคุ้มค่าที่จะดูเป็น btw หากการแก้ไขเชิงเส้นไม่ดีพอ http://blog.demofox.org/2015/07/08/lagrange-interpolation/


Hermite อาจจะดีกว่า Lagrange แต่ถ้าคุณเข้าถึง MATLAB (หรือโปรแกรมการออกแบบตัวกรอง FIR) คุณสามารถออกแบบตัวแก้ไข "โพลีเฟสฟิลเตอร์ธนาคาร" ซึ่งคุณมีค่าสัมประสิทธิ์สำหรับความหลากหลายของระยะห่างที่เท่ากัน ความล่าช้าบางส่วน เลือกความล่าช้าแบบแยกส่วนสองค่าที่ใกล้เคียงที่สุดกับการหน่วงเวลาแบบเศษส่วนที่คุณกำหนดและสอดแทรกเชิงเส้นระหว่างกัน
robert bristow-johnson

0

สิ่งนี้สามารถทำได้โดยใช้ฟังก์ชั่น 'delayseq' ใน MATLAB ฟังก์ชั่นนี้สามารถเลื่อนสัญญาณในตัวอย่างที่เป็นเศษส่วน คุณสามารถเขียนจำนวนตัวอย่างที่คุณต้องการเลื่อนหรือในแง่ของเวลาจำนวนของความล่าช้าที่คุณต้องการ แต่สิ่งสำคัญที่ควรสังเกตคือสัญญาณล่าช้ามีความยาวเท่ากับสัญญาณดั้งเดิมดังนั้นหากคุณไม่ต้องการตัดสัญญาณให้ใช้การเว้นศูนย์ก่อนแล้วค่อยเลื่อนออกไป https://in.mathworks.com/help/phased/ref/delayseq.html

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