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

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

4
เหตุใดฉันจึงเห็นเสียงกริ่งในเอาต์พุตของตัวกรองดิจิตอลที่มีช่วงการเปลี่ยนภาพแคบ
ฉันกำลังทำ eq 'สุดขีด' บางอย่างสำหรับเอ็ฟเฟ็กต์ mangling spectral พร้อมเสียง ฉันใช้ตัวกรองผนังอิฐและตัวกรองผ่านและวงปฏิเสธที่แคบมาก (ปลั๊กอิน vst) และฉันต้องการทราบว่ามีอะไรที่ฉันสามารถทำได้เกี่ยวกับ pre / post 'ring' พร้อมตัวกรองแบบ linear / phase phase ที่น้อยที่สุดโดยใช้ . น่าเสียดายที่ฉันต้องใช้ความลาดชันสูงชัน ฉันเตรียมที่จะใช้เฟสขั้นต่ำเนื่องจากหลีกเลี่ยงเสียงกริ่งล่วงหน้า โดยเฉพาะฉันสงสัยว่า: อะไรทำให้เกิดความผันผวนในการตอบสนองต่อแรงกระตุ้นหลังจากอินพุตในตัวกรองขั้นต่ำ aa การทำ osccilations เหล่านี้เป็นสาเหตุของเสียง pre และ post 'ringing' ซึ่งเพิ่มเข้าไปใน passband ด้วยการกรองลาดชันหรือไม่? ออสซิลเลชั่นอยู่และทำให้ความถี่เสียงเรียกเข้าเป็นความถี่เดียวกันเสมอหรือความถี่เสียงเรียกเข้าขึ้นอยู่กับสัญญาณอินพุตหรือไม่? ขอบคุณมากสำหรับความเชี่ยวชาญของคุณ ฉันหวังว่าจะตอบสนองใด ๆ หุบเหว

1
รูปภาพ Denoising พร้อมการรักษาขอบที่ดีขึ้น
ฉันมีภาพอินพุต: และเอาท์พุทของการตรวจจับหลอดเลือดดำสำหรับใบไม้โดยใช้ตัวกรอง Gabor แต่ผลลัพธ์นั้นเสียงดังมาก: ฉันลองใช้การผันแปรโดยรวม denoising แต่ผลลัพธ์ไม่ดี: อย่างไรก็ตามฉันไม่ต้องการที่จะหลวมรายละเอียดที่ดีในหลอดเลือดดำของใบไม้ดังนั้นตัวกรองเฉลี่ยจะไม่เหมาะกับปัญหาของฉัน

1
การตรวจจับข้อภาษาอาหรับที่ขยายหลายบรรทัด
ฉันต้องสร้างแอพคัมภีร์กุรอานและฉันต้องการอ่านข้อเมื่อผู้ใช้สัมผัส ปัญหาที่ฉันเผชิญคือบางข้ออาจขยายไปถึงหนึ่งและครึ่งบรรทัด (ข้อสีแดงเน้น) หรือเพียงแค่พอดีในหนึ่งในสี่ของบรรทัด (ข้อสีเขียวเน้น) ดังนั้นการเพิ่มแต่ละข้อใน textview หรือมุมมองอื่น ๆ จะไม่ทำงาน ฉันต้องการตรวจจับข้อเช่นสีแดงในภาพที่สอง ฉันมีไฟล์เสียงสำหรับข้อดังนั้นไม่จำเป็นต้องแปลงข้อความเป็นคำพูด

4
การคำนวณค่าสัมพันธ์อัตโนมัติอย่างมีประสิทธิภาพโดยใช้ FFT
ฉันกำลังพยายามคำนวณความสัมพันธ์อัตโนมัติบนแพลตฟอร์มที่มีการเร่งความเร็วแบบดั้งเดิมที่ฉันมีอยู่คือ (I) FFT ฉันมีปัญหาว่า ฉันเป็นต้นแบบในMATLAB อย่างไรก็ตามฉันสับสนเล็กน้อย ฉันคิดว่ามันใช้งานได้ง่ายดังต่อไปนี้ (มาจากความทรงจำดังนั้นขอโทษถ้าฉันทำผิดเล็กน้อย) autocorr = ifft( complex( abs( fft( inputData ) ), 0 ) ) อย่างไรก็ตามฉันได้รับผลลัพธ์ที่แตกต่างจากการใช้xcorrฟังก์ชั่น ตอนนี้ฉันคาดหวังอย่างเต็มที่ว่าจะไม่ได้รับทางด้านซ้ายของความสัมพันธ์แบบอัตโนมัติ (เนื่องจากเป็นภาพสะท้อนของทางด้านขวามือและไม่จำเป็นต้องมีอยู่แล้ว) อย่างไรก็ตามปัญหาคือด้านขวามือของฉันดูเหมือนจะสะท้อนตัวเองรอบจุดกึ่งกลาง ซึ่งหมายความว่าฉันได้รับข้อมูลประมาณครึ่งหนึ่งอย่างที่ฉันคาดไว้ ดังนั้นฉันแน่ใจว่าฉันจะต้องทำสิ่งที่ผิดง่าย ๆ แต่ฉันก็ไม่สามารถหาอะไรได้

2
ระบุจุดที่ถูกต้องในการวางฉลาก
ในภาพที่แสดงด้านล่างผมมีชุดข้อมูล 2D [0,1,2,3]ที่ฉันได้ระบุสี่กลุ่มที่มีป้ายกำกับ ฉันกำลังมองหาอัลกอริทึมในการวางฉลากด้วยวิธีธรรมชาติสำหรับแต่ละรูปร่าง การเดาครั้งแรกของฉันคือการวางพวกเขาใน "จุดศูนย์กลางมวล" ของคลัสเตอร์ซึ่งแสดงอยู่ด้านล่าง สำหรับกลุ่มที่ต่อเนื่องกันทำงานได้ดี สำหรับกลุ่มที่มีรูปร่างเหมือนในคลัสเตอร์0อย่างไรก็ตามวิธีการล้มเหลว หากไม่มีการใช้คำอธิบายภาพจะมีวิธีใดที่ดีกว่าในการวางป้ายกำกับในภาพนี้ * ธรรมชาติที่นี่อยู่ในระดับหนึ่ง แต่ประเด็นของฉลากคือการช่วยให้ผู้ดูเชื่อมโยงภูมิภาคบางแห่งในระนาบ xy ด้วยตัวเลข

1
ขั้นตอนการทำให้เป็นมาตรฐานของการแปลงเวฟเล็ต Haar หมายถึงอะไร?
เมื่อท่านทำตาม Haar เวฟแปลงที่คุณจะใช้เงินก้อนและความแตกต่างแล้วในแต่ละขั้นตอนคุณคูณสัญญาณทั้งหมดโดย\2–√2\small\sqrt2 เมื่อทำการแปลงผกผันคุณคูณสัญญาณด้วยสำหรับการวนซ้ำแต่ละครั้ง12√12\frac{1}{\sqrt2} "การทำให้เป็นมาตรฐาน" นี้แสดงถึงอะไร?

5
การประมาณความล่าช้าของสัญญาณออสซิลโลสโคปโดยใช้สหสัมพันธ์ข้าม
ฉันได้บันทึก 2 สัญญาณจากออสโคป พวกเขามีลักษณะเช่นนี้: ฉันต้องการวัดการหน่วงเวลาระหว่างพวกเขาใน Matlab แต่ละสัญญาณมี 2,000 ตัวอย่างพร้อมความถี่การสุ่มตัวอย่าง 2001000.5 ข้อมูลอยู่ในไฟล์ csv นี่คือสิ่งที่ฉันมี ฉันลบข้อมูลเวลาออกจากไฟล์ csv เพื่อให้มีเพียงระดับแรงดันไฟฟ้าเท่านั้นที่อยู่ในไฟล์ csv x1 = csvread('C://scope1.csv'); x2 = csvread('C://scope2.csv'); cc = xcorr(x1,x2); plot(cc); สิ่งนี้ให้ผลลัพธ์นี้: จากสิ่งที่ฉันได้อ่านฉันจำเป็นต้องใช้สหสัมพันธ์ข้ามสัญญาณเหล่านี้และสิ่งนี้ควรให้ฉันสูงสุดเกี่ยวกับการหน่วงเวลา อย่างไรก็ตามเมื่อฉันใช้สหสัมพันธ์ข้ามสัญญาณเหล่านี้ฉันได้รับสูงสุดที่ 2000 ซึ่งฉันรู้ว่าไม่ถูกต้อง ฉันควรทำอย่างไรกับสัญญาณเหล่านี้ก่อนที่จะข้ามสัมพันธ์กัน? แค่มองหาทิศทาง แก้ไข: หลังจากลบ DC offset นี่คือผลลัพธ์ที่ฉันได้รับ: มีวิธีการล้างข้อมูลนี้เพื่อให้ได้เวลาล่าช้ามากขึ้นหรือไม่? แก้ไข 2: นี่คือไฟล์: http://dl.dropbox.com/u/10147354/scope1col.csv http://dl.dropbox.com/u/10147354/scope2col.csv

2
ฉันจะดึงข้อมูลพื้นผิวโดยใช้ GLCM และจำแนกประเภทโดยใช้ตัวแยกประเภท SVM ได้อย่างไร
ฉันอยู่ในโครงการการแบ่งส่วนและจำแนกเนื้องอกของตับ ฉันใช้ Region Growing และ FCM สำหรับการแบ่งส่วนตับและเนื้องอกตามลำดับ จากนั้นฉันใช้เมทริกซ์ระดับสีเทาร่วมเกิดขึ้นสำหรับการแยกคุณลักษณะของพื้นผิว ฉันต้องใช้ Support Vector Machine เพื่อจัดหมวดหมู่ แต่ฉันไม่ทราบวิธีปรับเวกเตอร์คุณลักษณะให้เป็นมาตรฐานเพื่อที่ฉันจะสามารถให้มันเป็นอินพุตของ SVM ได้ มีใครบอกวิธีเขียนโปรแกรมใน Matlab ได้บ้าง ในโปรแกรม GLCM ฉันให้ภาพที่แบ่งกลุ่มเนื้องอกเป็นอินพุต ฉันถูกต้องหรือไม่ ถ้าเป็นเช่นนั้นฉันคิดว่าผลลัพธ์ของฉันก็จะถูกต้องด้วย การเข้ารหัส glcm ของฉันเท่าที่ฉันได้ลองคือ I = imread('fzliver3.jpg'); GLCM = graycomatrix(I,'Offset',[2 0;0 2]); stats = graycoprops(GLCM,'all') t1= struct2array(stats) I2 = imread('fzliver4.jpg'); GLCM2 = graycomatrix(I2,'Offset',[2 0;0 2]); stats2 = …

2
Adaptive Filter ทำหน้าที่อะไร?
ฉันศึกษาเล็กน้อยเกี่ยวกับตัวกรองแบบปรับตัวได้บนอินเทอร์เน็ตและพบว่ามันเป็นตัวกรองพิเศษที่ยังคงปรับปรุงค่าตัวกรองของมันทันทีที่มันดำเนินการ พบความแตกต่างระหว่างอินพุตและเอาต์พุตและการใช้ฟังก์ชันข้อผิดพลาดและค่าสัมประสิทธิ์ก่อนหน้านี้ค้นหาค่าสัมประสิทธิ์ตัวกรองใหม่ แต่นี่ไม่สมเหตุสมผลเลย มันพยายามลดความแตกต่างระหว่างอินพุตและเอาต์พุตให้น้อยที่สุดเสมอ ดังนั้นมันมีประโยชน์อย่างไรถ้าพยายามส่งสัญญาณทั้งหมดตามที่เป็นอยู่ ทุกคนสามารถอธิบายได้ว่ามีการใช้งานอย่างไรในแอปพลิเคชันแบบเรียลไทม์ มันจะดีถ้าคุณสามารถช่วยฉันผ่านการเชื่อมโยงบางอย่างที่สามารถช่วยฉันในการใช้งานตัวกรองดิจิตอลแบบปรับตัวได้ โปรดแสดงความคิดเห็นหากฉันไม่ชัดเจนในการแสดงความสงสัยของฉัน!

2
วิธีการใดที่ใช้สำหรับการแยกแยะความแตกต่างของเสียง (ดนตรี?)
ฉันพยายามค้นคว้าและหาวิธีที่ดีที่สุดในการโจมตีปัญหานี้ มันเลาะเลียบไปกับการประมวลผลเพลงการประมวลผลภาพและการประมวลผลสัญญาณและดังนั้นจึงมีวิธีมากมายในการดู ฉันต้องการสอบถามวิธีการที่ดีที่สุดในการเข้าหามันเนื่องจากสิ่งที่อาจดูซับซ้อนในโดเมน sig-proc บริสุทธิ์อาจเป็นเรื่องง่าย (และแก้ไขแล้ว) โดยผู้ที่ทำภาพหรือการประมวลผลเพลง อย่างไรก็ตามปัญหามีดังนี้: หากคุณยกโทษให้ฉันด้วยการวาดปัญหาเราจะเห็นสิ่งต่อไปนี้: f1f1f_1f4f4f_4 f1f1f_1 f1f1f_1 ปัญหาคือในทางใดที่ฉันจะแก้ไขปัญหานี้เช่นฉันสามารถเขียนลักษณนามที่สามารถแยกแยะระหว่างสัญญาณ -1 สัญญาณ 2 และสัญญาณ 3 นั่นคือถ้าคุณป้อนสัญญาณสัญญาณใดสัญญาณหนึ่งมันควรจะบอกได้ว่าสัญญาณนี้เป็นเช่นนั้น สิ่งที่ดีที่สุดของลักษณนามจะให้เมทริกซ์ความสับสนในแนวทแยง? บริบทเพิ่มเติมบางอย่างและสิ่งที่ฉันคิดเกี่ยวกับป่านนี้: อย่างที่ฉันพูดไปนี้เลาะเลียบทุ่งจำนวนมาก ฉันต้องการสอบถามเกี่ยวกับวิธีการที่อาจมีอยู่ก่อนที่ฉันจะนั่งลงและไปทำสงครามกับสิ่งนี้ ฉันไม่ต้องการประดิษฐ์ล้ออีกครั้งโดยไม่ได้ตั้งใจ นี่คือความคิดบางอย่างที่ฉันได้มองจากมุมมองที่แตกต่างกัน มุมมองการประมวลผลสัญญาณ: สิ่งหนึ่งที่ฉันได้ดูคือทำการวิเคราะห์ Cepstralและจากนั้นอาจใช้Gabor Bandwidthของ cepstrum ในการแยกแยะสัญญาณ -3 จากอีก 2 และจากนั้นวัดจุดสูงสุดสูงสุดของ cepstrum ในการแยกสัญญาณ - 1 จากสัญญาณ -2 นั่นเป็นโซลูชันการทำงานการประมวลผลสัญญาณปัจจุบันของฉัน จุดยืนของการประมวลผลภาพ: ที่นี่ฉันกำลังคิดอยู่เพราะในความเป็นจริงฉันสามารถสร้างภาพที่มีสเปคตรัมได้หรือเปล่า ฉันไม่คุ้นเคยอย่างใกล้ชิดกับส่วนนี้ แต่สิ่งที่เกี่ยวกับการทำ 'เส้น' ตรวจจับโดยใช้การแปลง Houghแล้วอย่างใด 'นับ' …

3
สัมประสิทธิ์ตัวกรองในตัวกรองดิจิตอลแสดงถึงอะไร?
ฉันออกแบบตัวกรองดิจิทัลโดยใช้ fdatool ของ matlab และได้รับค่าสัมประสิทธิ์ตัวกรองจากเครื่องมือ ปัญหาคือฉันออกแบบตัวกรองลำดับที่ 4 นี่ให้ค่าตัวกรอง 5 ค่า h[] = {0.1930,0.2035,0.2071,0.2035,0.1930} x[k] = Discrete time input signal ตอนนี้ใช้สูตร Output = h[k]*x[n-k]; ผลลัพธ์หมายถึงค่าที่กรองสุดท้ายแม้ว่าผลลัพธ์จะออกมาดี แต่ฉันไม่สามารถค้นหาว่าสัมประสิทธิ์เหล่านี้ได้รับจาก matlab และการคูณเพียงแค่ (การแปลง) ให้การตอบสนองที่กรองสุดท้ายสำหรับตัวอย่างใด ๆ ลิงก์หรือคำอธิบายใด ๆ จะทำเช่นนั้น ฉันต้องการทราบว่าการทำงานแบ็คเอนด์ที่สมบูรณ์ของการคำนวณสัมประสิทธิ์ตัวกรอง โปรดแสดงความคิดเห็นหากฉันไม่แน่ใจในความสงสัยของฉันที่ไหนสักแห่ง ขอบคุณ :)
12 filters  matlab 

1
การแปลงฟูเรียร์โดยสิ้นเชิงจริง
ฉันพยายามที่จะเข้าใจDFT จริงและ DFT และทำไมจึงมีความแตกต่าง จากสิ่งที่ฉันรู้จนถึงตอนนี้ DFT ใช้สำหรับเวกเตอร์พื้นฐานและให้การแทนผลรวมถูกเขียนจากถึงด้วยเหตุผลทางประวัติศาสตร์ฉันคิดว่าแทนที่จะเขียนในลักษณะที่คล้ายคลึงกับชุดฟูริเยร์โดยผลรวมจะมาจากถึง : สิ่งนี้ขึ้นอยู่กับความผิดปกติที่แปลกประหลาดของ DFT ที่ความถี่สูงเป็นเช่นเดียวกับความถี่ลบ:n} x [ n ] = N - 1 ∑ k = 0 X [ k ] e i 2 π k n / N k = 0 N - 1ei2πkn/Nei2πkn/Ne^{i2\pi kn/N}x[n]=∑k=0N−1X[k]ei2πkn/Nx[n]=∑k=0N−1X[k]ei2πkn/Nx[n]=\sum_{k=0}^{N-1}X[k]e^{i2\pi kn/N}k=0k=0k=0N−1N−1N-1N / 2 - 1 x [ n …
12 dft 

2
ลดระดับเสียงพูดเพื่อลบเนื้อหาทางอารมณ์
ฉันยินดีที่จะรับข้อเสนอแนะทั้งใน R หรือ Matlab แต่รหัสที่ฉันแสดงด้านล่างคือ R-only ไฟล์เสียงที่แนบมาด้านล่างเป็นการสนทนาสั้น ๆ ระหว่างคนสองคน เป้าหมายของฉันคือการบิดเบือนคำพูดของพวกเขาเพื่อให้เนื้อหาทางอารมณ์จะกลายเป็นไม่รู้จัก ความยากลำบากคือฉันต้องการพื้นที่ว่างสำหรับการบิดเบือนนี้พูดได้ตั้งแต่ 1 ถึง 5 โดยที่ 1 คือ 'อารมณ์ที่จดจำได้สูง' และ 5 คือ 'อารมณ์ที่ไม่รู้จัก' มีสามวิธีที่ฉันคิดว่าฉันสามารถใช้เพื่อให้บรรลุด้วยอาร์ 'ความสุข' คลื่นเสียงดาวน์โหลดได้จากที่นี่ ดาวน์โหลด 'โกรธ' คลื่นเสียงจากที่นี่ วิธีแรกคือการลดความเข้าใจโดยรวมโดยการลดเสียงรบกวน โซลูชันนี้มีการนำเสนอด้านล่าง (ขอบคุณ @ carl-witthoft สำหรับคำแนะนำของเขา) สิ่งนี้จะลดทั้งความเข้าใจและเนื้อหาทางอารมณ์ของคำพูด แต่มันเป็นวิธีที่ 'สกปรก' - ยากที่จะทำให้ถูกต้องเพื่อให้ได้พื้นที่พาราเมทริกเพราะสิ่งเดียวที่คุณสามารถควบคุมได้คือความกว้างของเสียง require(seewave) require(tuneR) require(signal) h <- readWave("happy.wav") h <- cutw(h.norm,f=44100,from=0,to=2)#cut down to …
12 matlab  audio  noise 

2
การตรวจจับ drum bpm ในไฟล์. wav ที่มีเสียงดัง
ฉันกำลังมองหาอัลกอริทึม (s) เพื่อแก้ปัญหาต่อไปนี้: ด้วยการจับเสียง. wav ที่มีเสียงดัง (เสียงลม + เสียงเสียดสีบนไมโครโฟน) วิธีการตรวจสอบ BPM ของการตีกลองแบบนุ่ม ฉันพยายามทำเรื่องนี้แล้ว แต่ผลลัพธ์ค่อนข้างแย่เนื่องจากซอฟต์แวร์ mp3 ที่เกี่ยวข้องจำนวนมากสำหรับการวิเคราะห์และการสร้างรหัสลายนิ้วมือ ไม่มีใครให้ข้อมูลเกี่ยวกับวิธีการใช้งานจริง ฉันตระหนักถึงอัลกอริทึมในการลบเสียงรบกวน แต่ยังทำให้ฉันมีปัญหาในการตรวจจับ BPM และขึ้นอยู่กับวิธีแก้ไขปัญหา BPM เป็นไปได้ว่าฉันไม่จำเป็นต้อง denoise (เนื่องจากกลองมีแนวโน้มที่จะอยู่ในความถี่และเสียงรบกวนที่ต่ำกว่าในระดับที่สูงกว่า low-pass แบบง่ายอาจเพียงพอในการประมวลผลล่วงหน้า)

1
ICA จัดการกับความล่าช้าอย่างหลีกเลี่ยงไม่ได้ในสัญญาณอย่างไร
ฉันกำลังอ่านและสอนตัวเอง ICA จากแหล่งข้อมูลที่ดีจำนวนมาก (ดูโพสต์นี้สำหรับบริบทที่ผ่านมาด้วย) ฉันมีปัญหาพื้นฐาน แต่มีบางอย่างที่ฉันไม่ชัดเจน สำหรับสถานการณ์ที่มีสัญญาณจำนวนมากกำลังติดตั้งเซ็นเซอร์เชิงพื้นที่หลายตัว (แน่นอนว่ามีจำนวนเซ็นเซอร์> = จำนวนสัญญาณ) เป็นสิ่งที่หลีกเลี่ยงไม่ได้ที่เซ็นเซอร์ตัวใดตัวหนึ่งสัญญาณทั้งหมดที่มาถึงจะมีความล่าช้า / เฟสต่างกัน ชดเชยที่เกี่ยวข้องกับพวกเขาเมื่อเทียบกับที่มาถึงเซ็นเซอร์ที่แตกต่างกัน เท่าที่ฉันรู้รูปแบบสัญญาณสำหรับ ICA เป็นเมทริกซ์ผสมแบบเรียบง่ายซึ่งพลังงานทั้งหมดที่มาถึงเซ็นเซอร์ตัวใดตัวหนึ่งนั้นไม่ได้เป็นแบบจำลองอะไรเลยนอกจากการรวมเชิงเส้นอย่างง่ายของสัญญาณอื่น ๆ ที่น่าสนใจทั้งหมด เซ็นเซอร์ทุกตัวมีค่าสัมประสิทธิ์การรวมเชิงเส้นต่างกันที่เกี่ยวข้อง จนถึงตอนนี้ดีมาก สิ่งที่ผมไม่เข้าใจคือว่าย่อมมีกำลังจะไปในความเป็นจริงจะเป็นบางส่วนล่าช้า / เฟสชดเชยในหมู่สัญญาณของแต่ละบุคคลที่เดินทางมาถึงเซ็นเซอร์ของแต่ละบุคคลที่แตกต่างจากคนอื่น นั่นคืออาจจะมาถึงที่s E n s o R 1ในบาง 0s เวลาขณะเดียวกันs 1 ( n )มาถึงที่s E n s o R 2จาง แต่ยังs1(n)s1(n)s_1(n)sensor1sensor1sensor_1s1(n)s1(n)s_1(n)sensor2sensor2sensor_2ที่ความล่าช้าหรือความต่างเฟส วิธีที่ฉันเห็นมันเป็นสิ่งที่หลีกเลี่ยงไม่ได้ในร่างกาย ... เป็นไปได้อย่างไรว่านี่ไม่ใช่แบบจำลองในเมทริกซ์ผสม? ดูเหมือนว่าความล่าช้าจะสร้างความแตกต่างอย่างมาก เราไม่ได้พูดถึงชุดค่าผสมเชิงเส้นอย่างง่ายอีกต่อไปแล้ว ICA …
12 ica 

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