Thiết kế một vectơ đặc trưng để phân biệt giữa các dạng sóng âm khác nhau


10

Hãy xem xét 4 tín hiệu dạng sóng sau:

signal1 = [4.1880   11.5270   55.8612  110.6730  146.2967  145.4113  104.1815   60.1679   14.3949  -53.7558  -72.6384  -88.0250  -98.4607]

signal2 = [ -39.6966   44.8127   95.0896  145.4097  144.5878   95.5007   61.0545   47.2886   28.1277  -40.9720  -53.6246  -63.4821  -72.3029  -74.8313  -77.8124]

signal3 = [-225.5691 -192.8458 -145.6628  151.0867  172.0412  172.5784  164.2109  160.3817  164.5383  171.8134  178.3905  180.8994  172.1375  149.2719  -51.9629 -148.1348 -150.4799 -149.6639]

signal4 = [ -218.5187 -211.5729 -181.9739 -144.8084  127.3846  162.9755  162.6934  150.8078  145.8774  156.9846  175.2362  188.0448  189.4951  175.9540  147.4631  -89.9513 -154.1579 -151.0851]

Tín hiệu

Chúng tôi nhận thấy rằng tín hiệu 1 và 2 trông giống nhau và tín hiệu 3 và 4 trông giống nhau.

Tôi đang tìm kiếm một thuật toán lấy tín hiệu đầu vào n và chia chúng thành các nhóm m, trong đó các tín hiệu trong mỗi nhóm là tương tự nhau.

Bước đầu tiên trong thuật toán như vậy thường sẽ là tính toán một vectơ đặc trưng cho mỗi tín hiệu: .Fi

Để làm ví dụ, chúng ta có thể định nghĩa vectơ đặc trưng là: [width, max, max-min]. Trong trường hợp đó, chúng tôi sẽ nhận được các vectơ tính năng sau:

F1=[13,146,245]

F2=[15,145,223]

F3=[18,181,406]

F4=[18,189,408]

Điều quan trọng khi quyết định về một vectơ đặc trưng là các tín hiệu tương tự có được các vectơ đặc trưng gần nhau và các tín hiệu khác nhau sẽ có các vectơ đặc trưng cách xa nhau.

Trong ví dụ trên, chúng tôi nhận được:

|F2F1|=22.1,|F3F1|=164.8

Do đó, chúng ta có thể kết luận rằng tín hiệu 2 giống với tín hiệu 1 hơn nhiều so với tín hiệu 3.

Là vectơ đặc trưng, ​​tôi cũng có thể sử dụng các thuật ngữ từ biến đổi cosin rời rạc của tín hiệu. Hình dưới đây cho thấy các tín hiệu cùng với xấp xỉ các tín hiệu theo 5 thuật ngữ đầu tiên từ biến đổi cosine rời rạc: Biến đổi cosine

Các hệ số cosin rời rạc trong trường hợp này là:

F1 = [94.2496  192.7706 -211.4520  -82.8782   11.2105]

F2 = [61.7481  230.3206 -114.1549 -129.2138  -65.9035]

F3 = [182.2051   18.6785 -595.3893  -46.9929 -236.3459]

F4 = [148.6924 -171.0035 -593.7428   16.8965 -223.8754]

Trong trường hợp này, chúng tôi nhận được:

|F2F1|=141.5,|F3F1|=498.0

Tỷ lệ này không hoàn toàn lớn như đối với vectơ tính năng đơn giản hơn ở trên. Điều này có nghĩa là vector tính năng đơn giản hơn là tốt hơn?

Cho đến nay tôi chỉ hiển thị 2 dạng sóng. Biểu đồ dưới đây cho thấy một số dạng sóng khác sẽ là đầu vào cho thuật toán như vậy. Một tín hiệu sẽ được trích xuất từ ​​mỗi đỉnh trong âm mưu này, bắt đầu từ phút gần nhất bên trái của đỉnh và dừng ở phút gần nhất bên phải của đỉnh:Dấu vết

Ví dụ, signal3 được trích xuất từ ​​âm mưu này giữa mẫu 217 và 234. Signal4 được trích xuất từ ​​một âm mưu khác.

Trong trường hợp bạn tò mò; mỗi âm mưu như vậy tương ứng với các phép đo âm thanh của micro tại các vị trí khác nhau trong không gian. Mỗi micrô nhận được cùng một tín hiệu nhưng tín hiệu bị dịch chuyển theo thời gian và bị biến dạng từ micrô sang micrô.

Các vectơ đặc trưng có thể được gửi đến một thuật toán phân cụm, chẳng hạn như k-nghĩa là nhóm các tín hiệu với các vectơ đặc trưng gần nhau.

Có ai trong số các bạn có bất kỳ kinh nghiệm / lời khuyên nào về việc thiết kế một vectơ đặc trưng sẽ tốt trong việc phân biệt tín hiệu dạng sóng không?

Ngoài ra thuật toán phân cụm nào bạn sẽ sử dụng?

Cảm ơn trước cho bất kỳ câu trả lời!


Điều gì về sản phẩm chấm tốt của tín hiệu đầu vào với một trong các mẫu M? Bạn sẽ lấy một lỗi có bình phương nhỏ nhất. Điều đó với tôi sẽ là nơi tôi sẽ bắt đầu. Bạn đã từng thử một thứ như thế chưa?
Spacey

Xin chào Mohammad! Vấn đề là tôi không biết trước dạng sóng. Tôi quan tâm đến tất cả các tín hiệu xung quanh các đỉnh và chúng có thể có nhiều dạng khác nhau mà tôi không biết trước.
Andy

Lý do cho việc cố gắng tìm các tính năng mới để mô tả các vectơ này hơn là sử dụng chúng trực tiếp làm "tính năng" là gì? (Chúng sẽ phải có cùng độ dài mặc dù). Trong trường hợp k-mean phân cụm "khoảng cách" giữa các vectơ nhỏ được trích xuất ở cực tiểu của các tín hiệu thu được trước tiên sẽ được tính toán và sau đó thuật toán sẽ cố gắng tìm một nhóm chúng thành các tập hợp phương sai tối thiểu k là gì bạn dường như là sau
A_A

Xin chào A_A! 1. Kích thước của các vectơ được giảm. Trong trường hợp tín hiệu 3 từ 18 đến 5 khi sử dụng các hệ số cosin rời rạc. 2. Một sự làm mịn đang diễn ra. Các tín hiệu là ồn ào, và tôi không quan tâm đến sự biến động nhanh chóng.
Andy

3
Những người học máy sẽ tranh luận bạn không bao giờ nên vứt bỏ thông tin - hệ thống nên học mọi thứ. Tất nhiên, họ là những người cùng thiết kế các thuật toán sẽ mất một triệu năm để chạy, nhưng vấn đề không phải là không có công. Về bản chất, bạn muốn vứt bỏ càng ít thông tin càng tốt và tìm hiểu về những gì còn lại. Điều này gây cho tôi một vấn đề nên được thực hiện trong khuôn khổ Bayes (thật lòng mà nói, vì hầu hết việc xử lý tín hiệu hiện nay), mặc dù điều đó không có nghĩa là xử lý các tính năng nổi bật không quan trọng.
Henry Gomersall

Câu trả lời:


2

Bạn chỉ muốn các tiêu chí khách quan để phân tách các tín hiệu hoặc điều quan trọng là chúng có một số loại tương tự khi được nghe bởi ai đó? Điều đó tất nhiên sẽ phải hạn chế bạn tín hiệu lâu hơn một chút (hơn 1000 mẫu).

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.