Muốn có một micro-mini USB. Có thể không?


13

Tôi đã học được rất nhiều về hình thành chùm tia thích ứng, và đã tìm hiểu kỹ về các loại sim khác nhau trong MATLAB, v.v.

Nhưng cách nào tốt hơn để hiểu một cái gì đó - thực sự hiểu nó - hơn là chơi với toàn bộ hệ thống?

Để kết thúc này, tôi muốn tìm (xây dựng?) Một mảng micro được kết nối USB, giả sử, 5 mics hoặc hơn thế. Họ sẽ có thể thu được các tín hiệu từ môi trường, (hay còn gọi là máy tính xách tay của tôi ở đâu) và sau đó tôi có thể nhận các tín hiệu đó và xử lý chúng trong MATLAB hoặc bất cứ điều gì.

Tôi thực sự không muốn xây dựng toàn bộ, vì vậy tôi hy vọng ai đó đã sử dụng các mảng micrô được kết nối USB trong quá khứ và có thể chỉ đúng hướng?

Các micrô không cần phải là bất cứ thứ gì lạ mắt khi nói đến độ phân giải bit của A / D của chúng, v.v ... Các micrô KISS có chất lượng đáng nể sẽ hoạt động tốt.

Câu trả lời:


8

Máy quay video Playstation Eye có một dãy micro tuyến tính gồm 4 thành phần. Nó cung cấp các mẫu 16 bit ở 48 KHz với SNR là 90 dB. Thật dễ dàng để sử dụng: nó liệt kê như một thiết bị âm thanh USB tiêu chuẩn với bốn kênh riêng biệt.

Để biết ví dụ về cách sử dụng theo cách này, hãy xem: Kiểm tra âm thanh 4 kênh PS3 Eye trên Ubuntu Karmic


1
@Mohammad Đây có lẽ sẽ là một giải pháp tốt nếu bạn vui lòng giới hạn bản thân trong bốn kênh. Bốn kênh sẽ cung cấp cho bạn mức tăng chùm khoảng 12dB. Nhược điểm là do tổng phạm vi của mảng khá nhỏ, bạn sẽ có một tiêu điểm chùm tia khá lớn: Bạn không thể tách các nguồn âm thanh quá gần nhau. Do đó, ứng dụng chính của bạn cho mảng này có thể không phải là cách ly các nguồn âm thanh mà là theo dõi một nguồn âm thanh duy nhất trong không gian. Tức là biết một người đang đứng từ giọng nói của họ ...
ARF

1
@ArikRaffaelFunke Hmm, tôi không biết đủ về sự hình thành chùm tia thích ứng để biết tiêu điểm là gì. :-) Tuy nhiên tôi nghĩ rằng tôi vẫn có thể tách các nguồn bằng ICA không tức thời. (thực sự tôi đang tập trung vào ICA vào lúc này). Ngoài ra, có 4 không nhiều như tôi mong đợi ... Nhưng có lẽ đây có thể là một sự khởi đầu..c
Spacey

3

Đã làm việc rất nhiều trong việc điều chỉnh chùm tia thích ứng, tôi thực sự sẽ ngại tự mình hack thứ gì đó cho đến khi tôi có một số kinh nghiệm. (Lưu ý: Các giải pháp chuyên nghiệp với khoảng 60 kênh có giá khoảng 100 nghìn €. Với nhiều kênh, độ phân giải không gian của bạn trở nên tốt hơn nhiều, nhưng bạn chỉ nhận được một lượng thông tin hạn chế thông qua cổng USB ...)

Để định dạng chùm đáng tin cậy, điều cần thiết là tất cả các micrô đều sử dụng cùng một cơ sở thời gian. Cách dễ nhất để đạt được điều này là với một soundcard USB bên ngoài với nhiều kênh đầu vào. Những cái đó không thực sự rẻ. Bạn đã có một cái nhìn về những gì có thể được tìm thấy trên ebay?

Một cách khác là hy sinh cơ sở thời gian chung bằng cách sử dụng một số thẻ âm thanh USB, ví dụ như hai kênh mỗi kênh. Tuy nhiên, bạn sẽ cần phải hiệu chỉnh hệ thống mua lại của bạn. Điều này thực sự không khó như âm thanh:

Để hiệu chỉnh, bạn thiết lập mảng của mình và tạo ra âm thanh ngắn (ví dụ: crack / clap / v.v.) ở khoảng cách từ mảng của bạn theo thứ tự phạm vi của mảng. Sau đó, bạn ghi lại âm thanh này và sử dụng Matlab hoặc tương tự để tính toán mối tương quan chéo giữa tiếng vỗ / crack / vv. trên các kênh khác nhau. Điều này sẽ cung cấp cho bạn một danh sách các thời gian bù mà bạn cần áp dụng cho các kênh của mình để căn chỉnh chúng trước khi đưa dữ liệu vào thuật toán định dạng tia của bạn.

Để khám phá định dạng chùm thích ứng, đây có lẽ là cách tốt nhất trừ khi bạn có thể mặc cả trên một card âm thanh đa kênh.


Chỉnh sửa 1

Chỉnh sửa này là để trả lời các câu hỏi nêu trong các ý kiến.

Ý tưởng cơ bản của độ trễ và tổng hợp chùm tia là áp dụng độ trễ cho các kênh thu khác nhau sao cho âm thanh phát ra từ một điểm trong căn chỉnh không gian và "khuếch đại" khi tín hiệu từ các kênh khác nhau được thêm vào. Âm thanh được sắp xếp từ các vùng không gian khác không thẳng hàng và do đó không được "khuếch đại".

Điểm trong không gian mà âm thanh được căn chỉnh bằng cách sử dụng một độ trễ nhất định được gọi là tiêu điểm của mảng micrô (hoặc tiêu điểm). Tuy nhiên, trong thực tế, trọng tâm không phải là một điểm lý tưởng mà là một vùng nhỏ (ish) (tùy thuộc vào mảng) của không gian mà âm thanh được căn chỉnh tốt. Kích thước của khu vực này được gọi là kích thước của tiêu điểm.

Hình dạng (kích thước, hình dạng, v.v.) phụ thuộc vào chi tiết chính xác của mảng: số lượng micrô, khoảng cách micrô, nội dung tần số của các tín hiệu quan tâm. Xem ví dụ bài viết này .

Để biết thêm thông tin, hãy tìm các văn bản tập trung vào "mảng pha" hoặc "mảng tuyến tính" trong siêu âm. Beamforming có thể được sử dụng khi thu sóng (để khuếch đại tín hiệu từ một điểm nhất định trong không gian) hoặc phát xạ (để tạo ra một điểm "lớn" trong phòng). Các nguyên tắc là giống hệt nhau: chỉ cần thay thế "micrô" bằng "loa" trong suy nghĩ của bạn.

Về quy trình hiệu chuẩn: bạn đã đúng. Thủ tục tôi vạch ra là quá đơn giản. Nó chỉ hoạt động tốt nếu bạn có thể tạo tiếng vỗ hiệu chuẩn từ khoảng cách xa hơn nhiều so với vùng không gian bạn quan tâm. (Tức là để đảm bảo sóng đơn giản.)

Nếu điều này là không thể, bạn phải tính đến vị trí của tiếng vỗ tay. Trong trường hợp này, quy trình đơn giản nhất là sửa các độ trễ bằng tương quan chéo như được mô tả nhưng sau đó thêm độ cong của mặt sóng trở lại tín hiệu bằng cách áp dụng một độ trễ "chùm tia ngược" được tính toán với vị trí gốc của vỗ tay. (Tức là nếu bạn sử dụng biến độ sâu + t0 (hoặc + z0) trong thuật toán định dạng chùm "bình thường" của mình, bạn cần sử dụng -t0 (hoặc -z0) cho thuật toán định dạng chùm ngược.)

Điểm của hiệu chuẩn này là gì: nó loại bỏ bất kỳ lỗi nào do các card âm thanh khác nhau bắt đầu ghi âm của chúng tại các thời điểm hơi khác nhau. Điều này thường sẽ ngăn các tín hiệu căn chỉnh đúng cách ngay cả với độ trễ chính xác và do đó ngăn chặn hiệu ứng khuếch đại mà bạn đang tìm kiếm.


Cảm ơn Arik. Tuy nhiên, tôi không chắc tại sao bạn muốn bù đắp cho sự chậm trễ thời gian ở đây. Ví dụ, một số định dạng chùm thích ứng mà bạn biết là độ trễ và tổng, do đó, sẽ xảy ra trường hợp các vấn đề trễ thời gian tự động. Điều thứ hai (Tôi nghĩ rằng đây là những gì bạn đang nói), là tôi làm muốn có một phổ biến thời gian đồng bộ. (nghĩa là nhấn một nút, tất cả các micrô bắt đầu ghi âm cùng một lúc), nhưng tôi không muốn chúng có độ trễ thời gian chung.
Spacey

Tôi thực sự đã tích hợp vào máy tính xách tay của mình, một mảng micro, tôi nghĩ chỉ là hai micrô, nhưng nó có thể là điểm khởi đầu, tuy nhiên tôi không biết làm thế nào để thực sự truy cập dữ liệu của họ với sự ồn ào riêng biệt ...
Spacey

@Mohammad - vấn đề không được bồi thường cho biết thời gian chậm trễ, nó bù đắp cho biết sự chậm trễ thời gian. Về cơ bản, sẽ có một số thời gian xử lý cho mỗi soundcard USB riêng biệt và nó có thể thay đổi tùy theo thiết bị (trong trường hợp đó có thể được bù) hoặc thậm chí không thay đổi / thay đổi tùy thuộc vào tải bus USB.
Sói Connor

@Mohammad Những gì FakeName đã nói ... Để làm cho mọi thứ thậm chí còn rõ ràng hơn: Cơ sở thời gian cho bất kỳ định dạng chùm tia nào phải tốt hơn nửa thời gian của thành phần tần số cao nhất bạn muốn tính đến. Tôi tin rằng điều này là không thể đạt được điều này với các card âm thanh độc lập bằng cách bắt đầu ghi chúng cùng một lúc. Điều khác biệt nếu bạn có một soundcard duy nhất với nhiều kênh.
ARF

@ArikRaffaelFunke Tôi hiểu ý của bạn về hiệu chuẩn, tôi đã hiểu nhầm tuyên bố của bạn. Tuy nhiên, tôi không thấy cách người ta có thể loại bỏ độ trễ thời gian khỏi cơ sở thời gian không phổ biến, mà cũng vô tình xóa độ trễ thời gian khỏi kênh, (mà bạn muốn giữ). Cách duy nhất là đảm bảo rằng khoảng cách đến mỗi mic từ tiếng vỗ là như nhau, nhưng điều đó là không thể đối với mảng tuyến tính> 2. Có lẽ nếu đủ xa (như mặt trước sóng phẳng) thì nó sẽ không quá quan trọng?
Spacey
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.