คำถามติดแท็ก fft

การแปลงฟูริเยร์ที่รวดเร็วเป็นอัลกอริธึมที่มีประสิทธิภาพในการคำนวณการแปลงฟูริเยร์แบบแยก (DFT) และอินเวอร์ส

1
ฉันจะตรวจจับหลุมบ่อโดยใช้มาตรความเร่งที่ติดตั้งในยานพาหนะได้อย่างไร
ฉันกำลังเรียน DSP และ FFT ฉันยังใหม่กับเรื่องนี้มากและได้ทำอุปกรณ์อิเล็กทรอนิกส์มาเป็นเวลานานกับ Arduino และงานอดิเรก เมื่อเร็ว ๆ นี้ฉันกำลังทำโครงการโดยมีเป้าหมายที่จะทำแผนที่หลุมบ่อตามการเดินทางประจำวันของคุณในรถวัดความหยาบของถนน นี่ไม่ใช่โปรไฟล์ถนน แต่ความขรุขระของการขับขี่ที่ผู้ขับขี่รู้สึกในระหว่างการเดินทาง ฉันมีการเร่งความเร็วเพื่อติดตั้งการเร่งความเร็ว "แนวตั้ง" ของแกน Z เมื่อหลุมบ่อถูกกระแทกกระแทกและสปริงก็รองรับแรงตามแบบจำลองของรถในไตรมาสเพื่อความเรียบง่าย โดยทั่วไปฉันต้องการสร้างเครื่องตรวจจับที่จะตรวจจับหลุมบ่อโดยใช้ FFT เพื่อค้นหาความถี่ที่มีอิทธิพลของการเร่งความเร็วในแนวตั้งจากนั้นฉันอาจจับคู่กับรูปแบบการตรวจจับการชนประตูของประตูรถหรือฝาครอบหลุมคน อาจจะเป็นหลุมบ่อในอนาคต ฉันไม่แน่ใจว่า FFT เป็นวิธีที่จะไปได้หรือไม่คำแนะนำและความคิดใด ๆ ที่ได้รับการชื่นชมอย่างมากฉันได้สร้างตัวกรองความถี่ต่ำเพื่อกรองการสั่นสะเทือนความถี่สูงจากรถไฟไดรฟ์และเครื่องยนต์ ความคิดใด ๆ เกี่ยวกับความรู้สึก "หยาบ" ของผู้โดยสาร / ผู้ขับขี่ในรถยนต์? ฉันกำลังคิดที่จะทำการทดสอบบนถนนบนถนนที่เรียบถนนลูกรังถนนอิฐถนนที่ไม่ดีและเกิดขึ้นกับขีด จำกัด ของขนาดของการเร่งความเร็วในแนวตั้งและทำให้สเกลในสิ่งที่ถือว่าเป็น "หยาบ" หลุมบ่อที่ตรวจพบจะถูกบันทึกด้วยตำแหน่ง GPS ของพวกเขาฉันพยายามใช้ Rasberry Pi สำหรับสิ่งนี้ด้วยการจัดเก็บข้อมูลและความเร็วของมันเป็นโครงการที่ดีสำหรับมัน ขอขอบคุณสำหรับความช่วยเหลือหรือความคิดใด ๆ ชื่นชมหนังสือแบบฝึกหัดภูมิปัญญา ฯลฯ UPDATE: นำข้อมูลเพิ่มเติมมาที่นี่: /electronics/56238/accelerometer-data-smoothing-filtering-pothole-detection
9 fft 

3
ฟังก์ชั่นหน้าต่าง FFT ที่ดีคืออะไรที่จะปฏิเสธ DC
ฉันใช้ FFT เพื่อวิเคราะห์สิ่งที่เป็นซองจดหมายพลังงานของสัญญาณ (ดูที่นี่สำหรับข้อมูลเกี่ยวกับโครงการที่มี) และเนื่องจากตัวเลขพลังงานเป็นบวกเสมอเพื่อกำจัดองค์ประกอบ DC ที่ฉันต้องการใช้หน้าต่าง ฟังก์ชันที่มีค่าเป็นบวกและลบ 50/50, เทียบกับฟังก์ชั่นค่าบวกปกติทั้งหมด ฉันใช้ฟังก์ชั่น" flat top " ลบa0อคติแล้วแปลงจาก cosines เป็น sines แต่ฉันไม่แน่ใจว่ามันดีที่สุด (หรือแม้แต่มีความหมาย) ข้อเสนอแนะใด ๆ

1
การแปลงฟูริเยร์แบบไม่ต่อเนื่อง - ค้นหาพื้นฐานอย่างรวดเร็วหรือไม่
ครั้งแรกฉันขอโทษเพราะฉันเป็นนักพัฒนาซอฟต์แวร์และเป็นเวลานานมากที่ฉันไม่ได้ดำน้ำในวิชาคณิตศาสตร์ที่บริสุทธิ์ดังนั้นคำถามของฉันอาจดูเหมือนโง่ ฉันหวังว่าไม่ บริบทคือการจดจำเสียงในเพลง หากคุณจดโน้ตดนตรีและใช้การแปลงฟูริเยร์กับมันคุณจะมีจำนวนผลรวมของแอมพลิจูดไม่ จำกัด ตามความถี่ที่กำหนด ตัวอย่างเช่นถ้าฉันเล่นโน้ตที่มีพื้นฐานอยู่FFFในเครื่องดนตรีใด ๆ หลังจากการแปลงฟูริเยร์ฉันจะมีฮาร์โมนิกส์ที่ F,2F,3F,…,nFF,2F,3F,…,nFF, 2F, 3F,\ldots,nF. ความถี่ทุกความถี่จะมีแอมพลิจูดที่กำหนดซึ่งกำหนดเสียงต่ำของเครื่องดนตรี (เปียโนเสียงทรัมเป็ต ... ทั้งหมดตามรอยแยกนี้ แต่คุณจะมีแอมพลิจูดที่แตกต่างกันสำหรับทุกฮาร์โมนิก) ตอนนี้สิ่งที่ฉันต้องการจะทำคือจากสัญญาณเสียงที่ระบุค้นหา FFF. แค่นั้น. มันซับซ้อนกว่าที่คิดเพราะคุณจะมีเสียงรบกวนจากพื้นหลังเสมอ ...FFF ไม่จำเป็นต้องใช้ความถี่พร้อมแอมพลิจูดสูงสุด! ดังนั้นความคิดของฉันสำหรับการค้นหา FFF คือการใช้ DFT (จริง ๆ แล้ว FFT สำหรับความเร็ว) และค้นหาความบ้าคลั่ง FFF, ดังนั้น F+2F+3F+…+nFF+2F+3F+…+nFF + 2F +3F + \ldots + nF สูงสุดในเอาต์พุต FFT คุณคิดว่าเป็นไปได้หรือไม่ คุณคิดว่าเป็นไปได้ในเวลาอันสั้น (สมมติว่า <5 มิลลิวินาที)
9 audio  fft  pitch 

1
จะประมาณอัตราส่วนสัญญาณต่อสัญญาณรบกวนของรูปคลื่นได้อย่างไร?
ฉันมีสัญญาณ:ที่n-1ฉผม(เสื้อผม= i Δ t )ฉผม(เสื้อผม=ผมΔเสื้อ)f_i(t_i=i\Delta t)i = 0 … n - 1ผม=0...n-1i = 0\ldots n-1 สัญญาณดูเหมือนจะเปลี่ยนแปลงอย่างรวดเร็วรอบ "แนวโน้ม" ที่ช้าลง ฉันสมมติว่าส่วนที่เปลี่ยนแปลงอย่างรวดเร็วคือเสียงรบกวนและส่วนที่เปลี่ยนแปลงช้าคือสัญญาณจริง ฉันจะประเมินอัตราส่วนสัญญาณต่อสัญญาณรบกวน (SNR) ของสัญญาณได้อย่างไร ฉันเดาว่าถ้าฉันสามารถตัดสินใจเกี่ยวกับความถี่ของ treshold:ฉันสามารถใช้นิพจน์ต่อไปนี้:ωเสื้อωเสื้อ\omega_t S/ N=∫ωเสื้อ0| F( ω )|2∫∞ωเสื้อ| F( ω )|2S/ยังไม่มีข้อความ=∫0ωเสื้อ|F(ω)|2∫ωเสื้อ∞|F(ω)|2S/N=\frac{\displaystyle\int_0^{\omega_t}|F(\omega)|^2}{\displaystyle\int_{\omega_t}^{\infty}|F(\omega)|^2} ที่หมายถึงฟูเรียร์ของ(t)FFFฉ( t )ฉ(เสื้อ)f(t)
9 fft  noise  snr 

2
วิธีการใช้การแปลง Hough แบบไล่ระดับสี
ฉันพยายามใช้การแปลง Hough สำหรับการตรวจจับขอบและต้องการใช้ภาพไล่ระดับสีเป็นพื้นฐาน สิ่งที่ฉันได้ทำเพื่อให้ห่างไกลได้รับภาพIที่มีขนาด[M,N]และอนุพันธ์บางส่วนของมันgx, คือการคำนวณมุมการไล่ระดับสีในแต่ละพิกเซลgy ในทำนองเดียวกันผมคำนวณขนาดการไล่ระดับสีเป็นthetas = atan(gy(x,y) ./ gxmagnitudes = sqrt(gx.^2+gy.^2) เพื่อสร้างการแปลง Hough ฉันใช้รหัส MATLAB ต่อไปนี้: max_rho = ceil(sqrt(M^2 + N^2)); hough = zeros(2*max_rho, 101); for x=1:M for y=1:N theta = thetas(x,y); rho = x*cos(theta) + y*sin(theta); rho_idx = round(rho)+max_rho; theta_idx = floor((theta + pi/2) / pi * 100) …

3
จะตรวจสอบผลลัพธ์ FFT ของคลื่นไซน์ได้อย่างไร
ฉันได้รับไฟล์เสียง (คลื่นไซน์) 1,000Hz เป็นอินพุตสำหรับอัลกอริทึม FFT ของฉัน ฉันมีตัวอย่างสเปกตรัมพลังงาน 8192 ตัวอย่างในอาร์เรย์ อะไรคือวิธีที่ดีที่สุดและง่ายที่สุดในการตรวจสอบว่าผลลัพธ์ของฉันถูกหรือผิด? ถ้าฉันให้ไฟล์เสียงเงียบผลลัพธ์จะเป็นศูนย์สำหรับตัวอย่างทั้งหมด ในไซน์ wav ค่า o / p จะเพิ่มขึ้นจาก 20 (ตัวอย่างที่ 0) เป็น 26059811 (ตัวอย่างที่ 743) และค่อยๆลดลงเป็น 40 หากฉันได้รับแนวคิดเกี่ยวกับช่วงเอาต์พุตจากนั้นฉันสามารถพิสูจน์ได้ทางเทคนิคว่า FFT ทำงานได้หรือไม่ ความคิดใด ๆ ที่จะเป็นประโยชน์ อ้างถึงลิงค์นี้สำหรับข้อสงสัยทางเทคนิคใด ๆ
9 fft  audio 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.