ไม่ว่าคุณจะปรับขนาดเอาต์พุตของ DFT ของคุณไปข้างหน้าหรือผกผันไม่มีอะไรเกี่ยวข้องกับการประชุมหรือสิ่งที่สะดวกสบายทางคณิตศาสตร์ มีทุกสิ่งที่เกี่ยวข้องกับอินพุตไปยัง DFT อนุญาตให้ฉันแสดงตัวอย่างบางส่วนที่ต้องการการปรับสเกลหรือไม่จำเป็นสำหรับการแปลงฟอร์เวิร์ดและอินเวอร์ส
ต้องไต่ระดับการแปลงไปข้างหน้า 1 / N
เริ่มต้นด้วยมันควรจะชัดเจนว่าในการวิเคราะห์คลื่นไซน์อย่างง่ายความยาวของการแปลงควรไม่เกี่ยวข้องการพูดทางคณิตศาสตร์ สมมติว่า N = 1024, Freq = 100 และสัญญาณของคุณคือ:
f (n) = cos (ความถี่ * 2 * Pi * n / N)
หากคุณใช้ 1024 จุด DFT ของ f (n) คุณจะพบว่าถังขยะ [100] = 512 แต่นี่ไม่ใช่ค่าที่มีความหมายจนกว่าคุณจะปรับขนาดด้วย N. 512/1024 = 1/2 และแน่นอน อีก 1/2 อยู่ในสเปกตรัมลบในถังขยะ [924]
หากคุณเพิ่มความยาวของ DFT เป็นสองเท่า N = 2048 ค่าผลลัพธ์จะเป็นสองเท่าของ 1024 จุด DFT ซึ่งอีกครั้งทำให้ผลลัพธ์ไม่มีความหมายเว้นแต่ว่าเราจะขยายด้วย 1 / N ความยาวของ DFT ไม่ควรเป็นปัจจัยในการวิเคราะห์ประเภทนี้ ดังนั้นในตัวอย่างนี้คุณต้องปรับสเกล DFT เป็น 1 / N
ต้องไม่ขยายการแปลงไปข้างหน้า
ตอนนี้สมมติว่าคุณมีการตอบสนองแบบแรงกระตุ้นของตัวกรอง FIR แบบ 32 แตะและต้องการทราบการตอบสนองความถี่ เพื่อความสะดวกเราจะถือว่าตัวกรองความถี่ต่ำผ่านได้รับ 1 เรารู้ว่าสำหรับตัวกรองนี้ส่วนประกอบ DC ของ DFT จะต้องเป็น 1 และควรชัดเจนว่านี่จะเป็นกรณีไม่ว่าขนาดของ DFT เนื่องจากส่วนประกอบ DC เป็นเพียงผลรวมของค่าอินพุต (เช่นผลรวมของสัมประสิทธิ์ FIR)
ดังนั้นสำหรับอินพุตนี้ DFT จะไม่ถูกปรับขนาด 1 / N เพื่อรับคำตอบที่มีความหมาย นี่คือเหตุผลที่คุณสามารถทำให้การตอบสนองต่อแรงกระตุ้นได้มากเท่าที่คุณต้องการโดยไม่ส่งผลต่อผลลัพธ์ของการแปลง
อะไรคือความแตกต่างพื้นฐานระหว่างสองตัวอย่างนี้?
คำตอบนั้นง่าย ในกรณีแรกเราให้พลังงานสำหรับทุกตัวอย่างอินพุต กล่าวอีกนัยหนึ่งคลื่นไซน์มีอยู่สำหรับตัวอย่างทั้งหมด 1024 ตัวอย่างดังนั้นเราจำเป็นต้องปรับขนาดเอาต์พุตของ DFT ภายใน 1/1024
ในตัวอย่างที่สองตามคำจำกัดความเราให้พลังงานเพียง 1 ตัวอย่างเท่านั้น (แรงกระตุ้นที่ n = 0) มันใช้เวลา 32 ตัวอย่างสำหรับแรงกระตุ้นในการทำงานผ่านตัวกรอง 32 ก๊อก แต่ความล่าช้านี้ไม่เกี่ยวข้อง เนื่องจากเราให้พลังงานสำหรับ 1 ตัวอย่างเราจึงปรับสเกลเอาท์พุทของ DFT เป็น 1 ถ้าแรงกระตุ้นถูกกำหนดด้วยพลังงาน 2 หน่วยแทน 1 เราจะปรับสเกลเอาต์พุตเป็น 1/2
ต้องไม่ปรับการแปลงผกผัน
ทีนี้ลองพิจารณา DFT ผกผัน เช่นเดียวกับ DFT ไปข้างหน้าเราต้องพิจารณาจำนวนตัวอย่างที่เราจัดหาพลังงานให้ แน่นอนเราต้องระวังให้มากขึ้นที่นี่เพราะเราต้องเติมทั้งถังขยะความถี่บวกและลบอย่างเหมาะสม อย่างไรก็ตามถ้าเราวางอิมพัลส์ (เช่น 1) ลงในถังขยะที่เหมาะสมแล้วผลลัพธ์ที่ได้จากการผกผัน DFT จะเป็นคลื่นโคไซน์ที่มีแอมพลิจูด 2 ไม่ว่าจะใช้กี่จุดในการผกผัน DFT
ดังนั้นเช่นเดียวกับ DFT ไปข้างหน้าเราไม่ได้ปรับเอาท์พุท DFT ของผกผันถ้าอินพุตเป็นแรงกระตุ้น
ต้องปรับขนาดการแปลงผกผัน
ในตอนนี้ให้พิจารณากรณีที่คุณทราบการตอบสนองความถี่ของตัวกรองความถี่ต่ำและต้องการทำ DFT แบบผกผันเพื่อรับการตอบสนองแบบอิมพัลส์ ในกรณีนี้เนื่องจากเราจ่ายพลังงานทุกจุดเราต้องปรับขนาดเอาต์พุตของ DFT เป็น 1 / N เพื่อรับคำตอบที่มีความหมาย สิ่งนี้ยังไม่ชัดเจนเนื่องจากค่าอินพุตจะซับซ้อน แต่ถ้าคุณทำงานผ่านตัวอย่างคุณจะเห็นว่านี่เป็นจริง หากคุณไม่ปรับขนาด 1 / N คุณจะมีค่าการตอบสนองต่อแรงกระตุ้นสูงสุดตามลำดับของ N ซึ่งไม่สามารถเกิดขึ้นได้หากการได้รับคือ 1
สี่สถานการณ์ที่ฉันเพิ่งอธิบายอย่างละเอียดคือตัวอย่างจุดสิ้นสุดที่ชัดเจนเกี่ยวกับการปรับขนาดเอาต์พุตของ DFT อย่างไรก็ตามมีพื้นที่สีเทาจำนวนมากระหว่างจุดสิ้นสุด ลองพิจารณาตัวอย่างง่ายๆอีกอย่าง
สมมติว่าเรามีสัญญาณต่อไปนี้โดยมี N = 1024, Freq = 100:
f(n) = 6 * cos(1*Freq * 2*Pi * n/N) n = 0 - 127
f(n) = 1 * cos(2*Freq * 2*Pi * n/N) n = 128 - 895
f(n) = 6 * cos(4*Freq * 2*Pi * n/N) n = 896 - 1023
สังเกตุความแตกต่างของแอมพลิจูดความถี่และระยะเวลาสำหรับส่วนประกอบทั้งสาม น่าเสียดายที่ DFT ของสัญญาณนี้จะแสดงส่วนประกอบทั้งสามที่ระดับพลังงานเดียวกันแม้ว่าส่วนประกอบที่ 2 จะมีระดับพลังงาน 1/36 ของอีกสองชิ้น
ความจริงที่ว่าทั้งสามองค์ประกอบมีปริมาณพลังงานเท่ากันชัดเจนซึ่งอธิบายผลลัพธ์ของ DFT แต่มีประเด็นสำคัญที่ต้องทำที่นี่
หากเรารู้ระยะเวลาสำหรับส่วนประกอบความถี่ต่าง ๆ เราสามารถปรับขนาดถังขยะความถี่ต่างๆ ในกรณีนี้เราจะทำเช่นนี้เพื่อปรับขนาดเอาต์พุตของ DFT ที่ถูกต้อง: bin [100] / = 128; ถังขยะ [200] / = 768; ถังขยะ [400] / = 128;
ซึ่งนำฉันไปยังจุดสุดท้ายของฉัน; โดยทั่วไปแล้วเราไม่ทราบว่าองค์ประกอบความถี่เฉพาะนั้นมีอยู่ที่อินพุทของ DFT ของเรานานแค่ไหนดังนั้นเราจึงไม่สามารถทำการปรับขนาดนี้ โดยทั่วไปแล้วเราจะให้พลังงานสำหรับทุกจุดตัวอย่างซึ่งเป็นเหตุผลที่เราควรปรับขนาด DFT ไปข้างหน้า 1 / N เมื่อวิเคราะห์สัญญาณ
เพื่อให้เกิดความซับซ้อนเราจะใช้หน้าต่างกับสัญญาณนี้เพื่อปรับปรุงความละเอียดสเปกตรัมของ DFT เนื่องจากส่วนประกอบความถี่ที่หนึ่งและสามอยู่ที่จุดเริ่มต้นและจุดสิ้นสุดของสัญญาณพวกเขาจะถูกลดทอนโดย 27 เดซิเบลในขณะที่ส่วนประกอบกลางได้รับการลดทอนเพียง 4 เดซิเบล (หน้าต่าง Hanning)
เพื่อความชัดเจนเอาต์พุตของ DFT อาจเป็นตัวแทนที่น่าสงสารของอินพุตที่ถูกปรับขนาดหรือไม่
ในกรณีของ Inverse DFT ซึ่งโดยปกติแล้วจะเป็นปัญหาทางคณิตศาสตร์ล้วนๆซึ่งต่างจากการวิเคราะห์สัญญาณที่ไม่ทราบค่าสิ่งที่นำเข้าสู่ DFT นั้นถูกกำหนดไว้อย่างชัดเจนดังนั้นคุณจึงรู้วิธีปรับขนาดเอาต์พุต
เมื่อวิเคราะห์สัญญาณด้วยเครื่องวิเคราะห์สเปกตรัม, อนาล็อกหรือ FFT ปัญหาจะคล้ายกัน คุณไม่ทราบพลังของสัญญาณที่แสดงนอกจากว่าคุณรู้รอบการทำงาน แต่ถึงอย่างนั้น Windowing, Span, อัตราการกวาด, การกรอง, ประเภทของเครื่องมือตรวจจับและปัจจัยอื่น ๆ ทั้งหมดจะทำงานเพื่อให้ได้ผลลัพธ์
ท้ายที่สุดคุณต้องระวังให้มากเมื่อเคลื่อนที่ระหว่างโดเมนเวลากับโดเมนความถี่ คำถามที่คุณถามเกี่ยวกับการปรับสเกลเป็นสิ่งสำคัญดังนั้นฉันหวังว่าฉันจะทำให้ชัดเจนว่าคุณต้องเข้าใจอินพุตกับ DFT เพื่อทราบวิธีการปรับขนาดเอาต์พุต หากไม่ได้กำหนดอินพุตที่ชัดเจนเอาท์พุทของ DFT จะต้องได้รับการพิจารณาด้วยความสงสัยอย่างมากไม่ว่าคุณจะปรับขนาดหรือไม่ก็ตาม