แยกความถี่ออกจาก FFT


15

ฉันแสดงสัญญาณ FFT ที่ 512 จุด ฉันได้รับหมายเลข 512 ชุดอื่น ฉันเข้าใจว่าตัวเลขเหล่านั้นเป็นตัวแทนของคลื่นไซน์และโคไซน์ต่าง ๆ ที่มีความถี่ต่างกัน

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

คำตอบ:


16

สมมติว่า 512 ตัวอย่างของคุณของสัญญาณจะถูกนำที่ freqeuncy สุ่มตัวอย่างแล้วส่งผลให้ค่าสัมประสิทธิ์ 512 FFT ตรงกับความถี่:fs

0, , 2 f s / 512 , , 511 f s / 512fs/5122fs/512511fs/512

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

511fs/512=(511512)fs/512=1fs/512

เช่นเดียวกับสัมประสิทธิ์ที่สองถึงค่าสุดท้ายและอื่น ๆ นี่คือภาพสะท้อนที่แดเนียลฮิกส์แสดงความคิดเห็น

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


7

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

และเข้าใจด้วยว่าความละเอียดความถี่ของ FFT จะเพิ่มขึ้นเพียงครึ่งหนึ่งของความถี่การสุ่มตัวอย่างดังนั้นหากคุณสุ่มตัวอย่างที่ 10,000 ตัวอย่างต่อวินาทีความถี่สูงสุดที่แก้ไขจะเท่ากับ 5,000 Hz

จากตรงนั้นคุณสามารถหามันได้ สมมติว่าคุณมีถังสำรอง 256 ถังซึ่งสูงสุดคิดเป็น 5,000 Hz และต่ำสุดที่เป็น DC ที่ฝากข้อมูลแต่ละใบมีความกว้างสเปกตรัมอยู่ที่ 5,000/2549 Hz ดังนั้นศูนย์จะเริ่มที่ DC, อันแรกเริ่มที่ 19.5Hz, วินาทีที่ 39Hz เป็นต้น

อย่างไรก็ตามนั่นคือวิธีที่ฉันคิดออกมาเสมอ



1

Juancho ตอบคำถาม แต่ฉันรู้สึกว่าฉันควรชี้ให้เห็นว่าการอภิปรายเพิ่มเติมว่าโดยทั่วไปแล้วการป้อนข้อมูลไปยัง DFT / FFT นั้นไม่ใช่ของจริงอย่างเคร่งครัดและดังนั้นการลบ - หรือมากกว่าความถี่ Nyquist จะมีข้อมูลอื่นที่ไม่ใช่การรวมกันของ ข้อมูล Fs / 2

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