การประมวลผลสัญญาณ

ถามตอบสำหรับผู้ปฏิบัติงานด้านศิลปะและวิทยาศาสตร์ของการประมวลผลสัญญาณภาพและวิดีโอ

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

3
อัลกอริทึมที่เร็วที่สุดสำหรับการแปลงระยะทาง
ฉันกำลังมองหาอัลกอริทึมที่เร็วที่สุดสำหรับการแปลงระยะทาง ตามเว็บไซต์นี้http://homepages.inf.ed.ac.uk/rbf/HIPR2/distance.htmเว็บไซต์นี้อธิบาย: การแปลงระยะทางสามารถคำนวณได้อย่างมีประสิทธิภาพมากขึ้นโดยใช้อัลกอรึทึมที่ชาญฉลาดเพียงแค่สองรอบเท่านั้น (เช่น Rosenfeld และ Pfaltz 1968) ฉันพบรอบ ๆ : "Rosenfeld, A และ Pfaltz, J L. 1968. ฟังก์ชั่นระยะทางกับภาพดิจิตอลการจดจำรูปแบบ, 1, 33-61" แต่ฉันเชื่อว่าเราควรมีอัลกอริธึมที่ดีกว่าและเร็วกว่าในปี 1968 หรือไม่? ในความเป็นจริงฉันไม่สามารถหาแหล่งที่มาจากปี 1968 ดังนั้นความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก

3
ฉันควรประมวลผลสัญญาณมูลค่าจริงล่วงหน้าเพื่อใช้ตัวประมาณของ Kay อย่างไร
ฉันมี 100,000 ตัวอย่างสัญญาณซึ่งถูกเก็บตัวอย่างที่ 20kHz ข้อมูลนี้เป็นข้อมูลการสั่นสะเทือนจากเครื่องหมุนและมีส่วนประกอบสเปกตรัมที่สำคัญที่เกี่ยวข้องกับความเร็วของการหมุนของเครื่องx [ n ]x[n]x[n] เนื่องจากความเร็วของเครื่องแตกต่างกันไปตามระยะเวลาของตัวอย่างการใช้จุดสูงสุดของ FFT จึงไม่ให้ผลลัพธ์ตามที่ต้องการ ดังนั้นฉันต้องการใช้ตัวประมาณเช่นตัวประมาณของ Kayที่อนุญาตการประมาณระยะสั้น แต่สมมติว่าเป็นรูปแบบสัญญาณของ: x [ n ] = ประสบการณ์( j ω n + θ ) + z[ n ]x[n]=Aประสบการณ์⁡(Jωn+θ)+Z[n]x[n] = A \exp(j \omega n + \theta) + z[n] โดยที่ = 0 ... 99,999,คือแอมพลิจูดคือความถี่ที่จะประมาณคือการชดเชยเริ่มต้นและคือเสียงที่ซับซ้อนnnnAAAωω\omegaθθ\thetaZ[ n ]Z[n]z[n] อย่างไรก็ตามสัญญาณของฉันมีมูลค่าจริงและมีลักษณะเหมือน: x [ n …

3
ความล่าช้าในโดเมนเวลามีผลกระทบอะไรในโดเมนความถี่
ถ้าฉันมีสัญญาณที่มีเวลา จำกัด บอกว่าไซนัสนั้นใช้เวลาเพียงวินาทีและฉันรับสัญญาณ FFT ของสัญญาณนั้นฉันเห็นการตอบสนองความถี่ ในตัวอย่างนี้จะเป็นการขัดขวางที่ความถี่หลักของไซนัสTTT ทีนี้สมมติว่าฉันรับสัญญาณในเวลาเดียวกันและหน่วงเวลาบางค่าคงที่แล้วใช้ FFT สิ่งต่าง ๆ เปลี่ยนแปลงได้อย่างไร FFT สามารถแสดงเวลาล่าช้าได้หรือไม่ ฉันรับรู้ว่าการหน่วงเวลาหมายถึงการเปลี่ยนแปลงในโดเมนความถี่ แต่ฉันมีเวลาที่ยากลำบากในการพิจารณาความหมายที่แท้จริงประสบการณ์( - j ω t )ประสบการณ์⁡(-Jωเสื้อ)\exp(-j\omega t) การพูดในทางปฏิบัติโดเมนความถี่เป็นสถานที่ที่เหมาะสมในการกำหนดเวลาหน่วงระหว่างสัญญาณต่างๆหรือไม่?

5
ทำไมฉันถึงปล่อยสัญญาณเกินขนาด?
ฉันไม่สามารถคิดถึงวิธีที่ดีกว่าสำหรับการถามคำถามนี้ดังนั้นฉันจะเริ่มต้นด้วยตัวอย่าง สมมติว่าฉันมีสัญญาณอินพุทที่มีความถี่สูงสุด 50Hz (ตัวอย่างที่ 100Hz) ตอนนี้สัญญาณที่น่าสนใจอยู่ในช่วง 0-5Hz ดังนั้นฉันสามารถเพิ่มตัวกรองความถี่ต่ำด้วยการตัดค่า 5Hz และใช้สัญญาณผลลัพธ์สำหรับการประมวลผลเพิ่มเติม ความเข้าใจของฉันคือตอนนี้ฉันสามารถลดตัวอย่างสัญญาณกรองโดยปัจจัย 10 และลดภาระการประมวลผล ฉันถูกไหม? ถ้าใช่ทำไมการสุ่มตัวอย่างไม่ได้เกิดขึ้นหลังจากการกรองเสมอเพราะเป็นวิธีที่ชัดเจนสำหรับฉัน และถ้าฉันผิดในการสันนิษฐานของฉันฉันอยู่ที่ไหนผิด?

2
การปรับปรุงความละเอียด spectrogram ใน Python?
ฉันใช้specgram()ฟังก์ชั่นในmatplotlibการสร้างไฟล์คลื่นเสียงพูดใน Python แต่ผลลัพธ์นั้นมีคุณภาพด้อยกว่าอย่างมากสำหรับซอฟท์แวร์ถอดรหัสปกติของฉัน Praat สามารถสร้างได้ ตัวอย่างเช่นสายต่อไปนี้: specgram( fromstring(spf.readframes(-1), 'Int16'), Fs=framerate, cmap=cm.gray_r, ) สร้างสิ่งนี้: ขณะที่ Praat ทำงานกับตัวอย่างเสียงเดียวกันด้วยการตั้งค่าต่อไปนี้: ระยะการมอง: 0-8000Hz ความยาวหน้าต่าง: 0.005 วินาที ช่วงแบบไดนามิก: 70dB ขั้นตอนเวลา: 1,000 ขั้นตอนความถี่: 250 รูปร่างหน้าต่าง: Gaussian สร้างสิ่งนี้: ผมทำอะไรผิดหรือเปล่า? ฉันได้ลองเล่นซอกับspecgram()พารามิเตอร์ทั้งหมดแต่ดูเหมือนว่าไม่มีอะไรที่จะปรับปรุงความละเอียด ฉันแทบไม่มีประสบการณ์กับ FFT

4
วิธีที่รวดเร็ว / มีประสิทธิภาพในการแยกค่าสัมประสิทธิ์ตัวกรอง 2D จำนวนเต็มแยกได้
ฉันต้องการที่จะสามารถตรวจสอบได้อย่างรวดเร็วว่าเคอร์เนล 2 มิติของค่าสัมประสิทธิ์จำนวนเต็มแบ่งออกเป็นสอง 1D เมล็ดที่มีสัมประสิทธิ์จำนวนเต็ม เช่น 2 3 2 4 6 4 2 3 2 สามารถแยกออกเป็น 2 3 2 และ 1 2 1 การทดสอบความสามารถแยกได้จริงดูเหมือนจะค่อนข้างตรงไปตรงมาโดยใช้เลขคณิตจำนวนเต็ม แต่การแยกย่อยเป็นฟิลเตอร์ 1D ที่มีค่าสัมประสิทธิ์จำนวนเต็มกำลังพิสูจน์ว่าเป็นปัญหาที่ยากขึ้น ความยากลำบากดูเหมือนจะอยู่ในความจริงที่ว่าอัตราส่วนระหว่างแถวหรือคอลัมน์อาจไม่ใช่จำนวนเต็ม (เศษส่วนที่มีเหตุผล) เช่นในตัวอย่างข้างต้นเรามีอัตราส่วน 2, 1/2, 3/2 และ 2/3 ฉันไม่ต้องการใช้วิธีการที่หนักเช่น SVD เพราะ (ก) มันค่อนข้างแพงสำหรับความต้องการของฉันและ (b) มันก็ไม่ได้ช่วยในการกำหนดสัมประสิทธิ์จำนวนเต็ม ความคิดใด ๆ ข้อมูลเพิ่มเติม ค่าสัมประสิทธิ์อาจเป็นค่าบวกลบหรือเป็นศูนย์และอาจมีกรณีทางพยาธิวิทยาที่ผลรวมของเวกเตอร์ 1D หรือทั้งคู่เป็นศูนย์เช่น -1 2 …
21 filters  separability  1d  2d 

6
ทำไมเราถึงเลือก 44.1 kHz เป็นอัตราการสุ่มตัวอย่าง?
หูของประชาชนจะได้ยินเสียงที่มีความถี่ตั้งแต่ 20 Hz ถึง 20 kHz ตามทฤษฎีของ Nyquist อัตราการบันทึกควรมีอย่างน้อย 40 kHz เป็นเหตุผลในการเลือก 44.1 kHz หรือไม่
21 audio  sampling 

3
เคล็ดลับสำหรับการปรับปรุงการตรวจจับพิช
ฉันกำลังทำงานกับเว็บแอปง่าย ๆ ที่ให้ผู้ใช้ปรับแต่งกีตาร์ของเขา / เธอ ฉันเป็นผู้เริ่มต้นที่แท้จริงในการประมวลผลสัญญาณดังนั้นอย่าตัดสินยากเกินไปหากคำถามของฉันไม่เหมาะสม ดังนั้นฉันจึงจัดการเพื่อให้ได้ความถี่พื้นฐานโดยใช้อัลกอริทึม FFT และ ณ จุดนี้แอปพลิเคชันนั้นสามารถใช้งานได้ อย่างไรก็ตามมีห้องพักสำหรับการปรับปรุงตอนนี้ฉันส่ง pcm ดิบไปยังอัลกอริทึม FFT แต่ฉันคิดว่าอาจจะมีอัลกอริทึม / ตัวกรอง / ตัวกรองล่วงหน้าที่อาจปรับปรุงการตรวจจับ คุณช่วยแนะนำอะไรได้บ้าง ปัญหาหลักของฉันคือเมื่อตรวจพบความถี่ที่แน่นอนมันจะแสดงความถี่นั้นเป็นเวลา 1-2 วินาทีแล้วกระโดดไปยังความถี่สุ่มอื่น ๆ และกลับมาอีกครั้งและต่อ ๆ ไปแม้ว่าเสียงจะดังต่อเนื่อง ฉันยังสนใจในการเพิ่มประสิทธิภาพประเภทอื่น ๆ หากมีประสบการณ์กับสิ่งเหล่านี้

3
ตัวกรอง gabor คืออะไรและอะไรคือประโยชน์หลักของมัน
ฉันกำลังทำการวิจัยเกี่ยวกับตัวกรอง Gabor แต่เมื่อฉัน Googled มันฉันมีบทความยาวและซับซ้อน ใครช่วยฉันหาคำอธิบายง่ายๆเกี่ยวกับมันหรือแนะนำเว็บไซต์หรือบทความเพื่ออ่าน? ฉันต้องการที่จะเข้าใจตัวกรองนี้เพื่อใช้ใน Matlab

4
ตัวกรอง FIR ต้องการก๊อกจำนวนเท่าไร
ฉันต้องการออกแบบชุดตัวกรอง FIR เพื่อใช้ตัวกรองสัญญาณความถี่ต่ำ ฉันกำลังพยายามลดความหน่วงของสัญญาณผ่านตัวกรองดังนั้นฉันจึงสงสัยว่าจำนวนก๊อกขั้นต่ำที่ฉันสามารถใช้ได้อาจเป็นเท่าใด ฉันรู้ว่าก๊อกมากขึ้นสามารถนำไปสู่การตัดความถี่ที่คมชัดยิ่งขึ้นและการปฏิเสธวงดนตรีหยุดที่ดีขึ้น ฯลฯ อย่างไรก็ตามสิ่งที่ฉันสนใจเป็นพื้นฐานมากขึ้น - ถ้าฉันต้องการใช้ตัวกรองความถี่ต่ำด้วย cutoff ที่พูดว่าหมายความว่าฉันต้องการอย่างน้อย 100 ก๊อกเพื่อลดทอนสัญญาณความถี่ที่ต่ำกว่า? หรือฉันจะไปด้วยก๊อกน้อยลงและถ้าเป็นเช่นนั้นจะมีขีด จำกัด ล่างทางทฤษฎี?ฉs100fs100\frac{f_s}{100}

3
การเรียงลำดับส่วน biquad สำหรับตัวกรองคำสั่งซื้อที่สูงขึ้นทำงานอย่างไร
ฉันกำลังพยายามใช้ตัวกรอง IIR อันดับที่ 8 และบันทึกย่อของแอปพลิเคชันและหนังสือทุกเล่มที่ฉันได้อ่านบอกว่ามันเป็นการดีที่สุดที่จะใช้ตัวกรองลำดับที่สองมากกว่านั้นเป็นส่วนที่สอง ฉันใช้tf2sosMATLAB เพื่อรับค่าสัมประสิทธิ์สำหรับส่วนที่สองซึ่งทำให้ฉันมีค่า 6x4 coeffs สำหรับส่วนของคำสั่งที่สอง 4 ตามที่คาดไว้ ก่อนการใช้งานเป็น SOS ตัวกรองลำดับที่ 8 จำเป็นต้องเก็บค่าตัวอย่าง 7 ค่าก่อนหน้า (และค่าเอาต์พุตด้วย) ตอนนี้เมื่อดำเนินการตามลำดับส่วนที่สองโฟลว์ทำงานอย่างไรจากอินพุตไปยังเอาต์พุตฉันต้องเก็บค่าตัวอย่างก่อนหน้านี้เพียง 2 ค่าหรือไม่ หรือผลลัพธ์ของตัวกรองตัวแรกป้อนเช่นเดียวx_inกับตัวกรองที่สองและอื่น ๆ ?
20 filters  filter-design  infinite-impulse-response  biquad  audio  image-processing  distance-metrics  algorithms  interpolation  audio  hardware  performance  sampling  computer-vision  dsp-core  music  frequency-spectrum  matlab  power-spectral-density  filter-design  ica  source-separation  fourier-transform  fourier-transform  sampling  bandpass  audio  algorithms  edge-detection  filters  computer-vision  stereo-vision  filters  finite-impulse-response  infinite-impulse-response  image-processing  blur  impulse-response  state-space  linear-systems  dft  floating-point  software-implementation  oscillator  matched-filter  digital-communications  digital-communications  deconvolution  continuous-signals  discrete-signals  transfer-function  image-processing  computer-vision  3d 

3
หน้าต่างเริ่มรู้สึกอย่างไร
ฉันรู้ประเภทหน้าต่างทั่วไป (Hamming, Hanning, Kaiser, Tukey, ฯลฯ ) อย่างไรก็ตามในขณะที่หนังสือหลายเล่มอธิบายพวกเขา - เกือบจะไม่มีใครบอกฉันว่าพวกเขาได้รับมา อะไรคือสิ่งที่ศักดิ์สิทธิ์เกี่ยวกับหน้าต่าง hamming? แล้วแฮนนิงล่ะ ฉันเข้าใจว่าพวกเขาทั้งหมดเล่นตามอัตราส่วนของการลดทอนความกว้าง VS sidelobe แต่พวกเขาได้รับมาอย่างไร แรงจูงใจสำหรับคำถามของฉันคือเพราะฉันพยายามที่จะคิดออกว่าใครสามารถออกแบบหน้าต่างของตัวเองได้หรือไม่นั่นก็ช่วยลดความกว้างของกลีบหลักและพลังงาน sidelobe

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

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

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