Microsoft Word báo cáo dstt StuDocu is not sponsored or endorsed by any college or university Lớp L13 Baitaplon dstt nhom8 Đại số tuyến tính (Trường Đại học Công nghệ Thành phố Hồ Chí Minh) StuDocu is.
Trang 1StuDocu is not sponsored or endorsed by any college or university
Lớp L13 Baitaplon dstt nhom8
Đại số tuyến tính (Trường Đại học Công nghệ Thành phố Hồ Chí Minh)
StuDocu is not sponsored or endorsed by any college or university Lớp L13 Baitaplon dstt nhom8
Đại số tuyến tính (Trường Đại học Công nghệ Thành phố Hồ Chí Minh)
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM
KHOA KHOA HỌC & ỨNG DỤNG
BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH
GIÁO VIÊN HƯỚNG DẪN:
Nguyễn Anh Thi
CHỦ ĐỀ 8:
ỨNG DỤNG SVD ĐỂ KHỬ NHIỄU ÂM THANH
Lớp L13 – Nhóm 8
Trang 3DANH SÁCH THÀNH VIÊN
1 Đặng Kiến Quốc 2114568 Hoàn thành nhiệm vụ
2 Huỳnh Đoàn Minh Khoa 2113749 Hoàn thành nhiệm vụ
3 Nguyễn Công Thành 2114781 Hoàn thành nhiệm vụ
4 Nguyễn Ngọc Thịnh 2110563 Hoàn thành nhiệm vụ
5 Trương Trịnh Hồng Đức 2113242 Hoàn thành nhiệm vụ
6 Trần Vũ Ngọc Châu 2110058 Hoàn thành nhiệm vụ
Trang 4Mục lục
I CƠ SỞ LÍ THUYẾT CỦA PHÂN TÍCH SVD 1
1 Phương pháp phân tích trị riêng SVD 1
2 Xét ví dụ về phân tích SVD của một ma trận bất kì 2
II ỨNG DỤNG CỦA PHÂN TÍCH SVD TRONG KHỬ NHIỄU ÂM THANH 3
1 Những vấn đề trong âm thanh 3
2 Ý nghĩa của việc khử nhiễu 4
3 Khử nhiễu âm thanh qua thuật toán phân tích SVD 4
III CHƯƠNG TRÌNH MATLAB 6
IV NGUỒN THAM KHẢO 7
Trang 51
I CƠ SỞ LÍ THUYẾT CỦA PHÂN TÍCH SVD
1 Phương pháp phân tích trị riêng SVD
- Phương pháp phân tích trị riêng (SVD – Singular Value Decomposition) là công cụ rã hạng hay chiều của ma trận Kỹ thuật được áp dụng rất nhiều
trong đời sống như nén dữ liệu, khử nhiễu âm thanh, hệ thống gợi ý trong
học máy, khử nhiễu hình ảnh,… Nội dung là cho phép phân tích một ma trận phức tạp thành 3 ma trận thành phần, SVD khai triển văn bản thành vector
ĐSTT
- Một ma trận Am x n bất kỳ có thể phân tích thành dạng:
𝐴 = 𝑈Σ𝑉 (1)
- Gọi r là hạng của A
p = min{m,n}
- Khi đó:
- U là ma trận gồm các vector riêng trái của A, có kích thước 𝑚 × 𝑚 sao cho các vector cột tạo thành một hệ trực chuẩn
- V là ma trận gồm các vector riêng phải của A, có kích thước 𝑛 × 𝑛 sao cho
các vector cột tạo thành một hệ trực chuẩn
- Σ là ma trận đường chéo không vuông kích thước 𝑚 × 𝑛, mỗi phần tử đường chéo là một trị riêng của A Các trị riêng được sắp trên đường chéo chính
theo thứ tự sau:
σ1 ≥ σ2 ≥…≥ σr ≥ 0 = 0 = … =0 (2)
- Số lượng các phần tử khác 0 trong Σ chính là rank cúa ma trận A
Biểu diễn SVD qua các trường hợp của ma trận A:
+TH1: 𝑚 < 𝑛
Trang 62
+TH2: 𝑚 > 𝑛
(H1: SVD cho ma trận A khi: 𝑚 < 𝑛 (hình trên), và 𝑚 > 𝑛 (hình dưới) Σ là một ma trận đường chéo với các phần tử trên đó giảm dần và không âm Màu đỏ càng đậm thể hiện giá trị càng cao Các ô màu trắng trên ma trận này thể hiện giá trị 0.)
2 Xét ví dụ về phân tích SVD của một ma trận bất kì Bước 1 : Xác định ma trận A(cỡ bao nhiêu) để tiến hành phân tích SVD Bước 2 : Thực hiện chéo hóa trực giao : 𝐴𝐴 = 𝑄𝐷 𝑄
2.1 : Viết phương trình đặc trưng của 𝐴𝐴 Từ đó chúng ta sẽ tính được các giá trị riêng của 𝐴𝐴 Viết được ma trận đường chéo 𝐷 có các phần tử là những giá trị riêng, ta vừa tìm được.(Lưu ý phải sắp xếp nó theo thứ tự giảm dần)
2.2 : Tìm vecto riêng của 𝐴𝐴 Từ đó ta tính được ma trận 𝑄, các cột của 𝑄
là các vecto riêng của 𝐴𝐴
Bước 3 : Thực hiện chéo hóa trực giao 𝐴 𝐴 = 𝑃𝐷 𝑃
Tương tự các bước 2.1, 2.2 ta tính được 𝑃 và 𝐷
Chọn 𝛴 × bằng cách chọn ma trận cỡ tương ứng phù hợp với 𝐷 hay 𝐷 Sau đó lấy căn bậc 2 của tất cả những phần tử trên đường chéo Bước 4 : Vậy phân tích SVD của ma trận A sẽ là : 𝐴 × =
𝑄 × 𝛴 × (𝑃× )
Nhận xét: Như vậy từ dữ liệu ban đầu, chúng ta có thể viết nó dưới dạng một
ma trận Qua quá trình chéo hóa trực giao ma trận và ma trận chuyển vị của
nó, chúng ta được phân tích SVD Trên cơ sở đó, ta có thể dễ dàng ứng dụng chúng vào nhiều lĩnh vực khác nhau trong khoa học
Trang 73
II ỨNG DỤNG CỦA PHÂN TÍCH SVD TRONG KHỬ NHIỄU ÂM THANH
1 Những vấn đề trong âm thanh
Trong cuộc sống hiện nay, chúng ta bắt gặp được rất nhiều loại âm thanh khác nhau trong từng hoàn cảnh khác nhau Chẳng hạn như: âm thanh trong
một buổi hòa nhạc, tiếng trẻ con nô đùa với nhau, tiếng xe cộ chạy trên đường… Đôi khi chúng ta muốn ghi lại những âm thanh, những khoảng khắc bất chợt nào đó, ta có thể sử dụng nhiều phương tiện khác như như điện thoại, máy ghi âm Hay ta muốn nghe lại một bản nhạc nhẹ nhàng Nhưng một điều chắc chắn không thể tránh khỏi đó là những tập tin âm thanh đó luôn chứa đầy tạp âm(tiếng ồn, tiếng gió
hú ríu rít,…) khiến cho chất lượng âm thanh giảm đáng kể gây khó chịu cho người nghe
Lấy một ví dụ điển hình là một bạn
học sinh muốn ghi âm lại lời thầy
giáo giảng bài trên lớp, nếu như đó
là file ghi âm nguyên thủy ( file gốc
chưa qua xử lí) thì cậu ấy sẽ rất khó
chịu do có quá nhiều tạp âm xung
quanh, như vậy sẽ ảnh hưởng đến
việc tiếp thu bài của bạn học sinh
đó
Như vậy, một vấn đề cần đặt ra rằng
làm sao để khử nhiễu được một tập
tin âm thanh mà chúng ta mong
muốn?
Trang 84
2 Ý nghĩa của việc khử nhiễu
Nếu như, chúng ta có thể xử lí tốt một tập tin âm thanh theo các tiêu chí (trọng tâm, chính xác , hiệu quả và tiết kiệm thời gian) thì việc đó sẽ giúp ích cho ta rất nhiều
Trong nghiên cứu về âm thanh, sẽ giúp ta tiết kiệm thời gian hơn Còn trong doanh nghiệp chuyên về lĩnh vực truyền thông đa phương tiện, nếu xử lí tốt file âm thanh, sẽ tiết kiệm được rất nhiều chi phí trong việc thiết kế một phần mềm nào đó, hay chỉ đơn giản là tăng chất lượng âm thanh trong quá trình edit video chuyên nghiệp Từ đó nó sẽ hướng đến nhiều đối tượng khách hàng hơn với một trải nghiệm về chất lượng âm thanh tuyệt vời, chân thật và đặt biệt không còn tạp âm nữa
Điều này mở ra cơ hội cho các hãng công nghệ, tập đoàn lớn chạy đua với nhau về công nghệ các thiết bị thu gọi giảm thiểu tạp âm một cách tối ưu nhất Đồng thời tạo
ra vô số công việc dành cho lĩnh vực âm thanh nói chung và các ngành nghề khác nói riêng Nắm bắt được xu hướng công nghệ chính là nắm bắt thành công tương lai
3 Khử nhiễu âm thanh qua thuật toán phân tích SVD
Bước 1: Giả sử, ta có một file âm thanh trong máy (đuôi có thể ở dạng wav, mp3…)
ta chèn nó vào matlab Bằng lệnh “audioread”
Bước 2: Chúng ta chọn giá trị mẫu(y) và tần số của mẫu(Fs, đơn vị Hz), sau đó thông qua lệnh “sound”, chúng ta có thể kiểm tra file âm thanh vừa mới nạp vào matlab
Bước 3: Qua câu lệnh “plot(y)” hay plot the sound, chúng ta có thể thấy được file
âm thanh đó trực quan trên biểu đồ, giả sử sau khi chèn được file âm thanh, ta có
Trang 95
biểu đồ như sau: ( với những phần đánh dấu x màu xanh là những đoạn âm thanh có nhiễu với tần số xuất hiện cao, chúng ta cần phải loại bỏ chúng)
Bước 4: Chúng ta tiến hành phân tích SVD để khử đoạn âm thanh bị nhiễu đó, trên nguyên tắc mã hóa thành một ma trận gồm các nhân tử để chương trình matlab có thể nhận dạng được, từ đó bắt đầu phân tích SVD để khử nhiễu nó
a) Chuyển sound về ma trận A
b) Phân tích SVD ma trận A bởi lệnh [U,S,V]= svd(A)
Bước 5: Trải qua quá trình phân tích ma trận A thành SVD, chọn các điểm trong không gian chính là những đoạn bị tạp âm, để xử lí.Sau khi xử lí hoàn tất, ta dùng câu lệnh “figure, subplot” để hiển thị đoạn âm thanh mà ta vừa xử lí, để đối chiếu so sánh
Qua các bước trên và cơ sở của phân tích SVD, ta đã hiểu rõ phần nào bản chất và ứng dụng của nó
Trang 106
III CHƯƠNG TRÌNH MATLAB
Các lệnh trên Matlab phân tích SVD để khử nhiễu âm thanh:
1 Clear all : xóa hết mọi giá trị, biến, dữ liệu ban đầu
2 [y, Fs]= audioread(‘name’): mở một file âm thanh cần khử nhiễu có sẵn trong máy tính
3 A= reshape : sắp xếp thứ tự các số hạng trong một ma trận hay tạo ra nhiều mảng cho ma trận đó
4 [U,S,V] = svd (A) : phân tích SVD ma trận A
5 T= transpose(S) : Chuyển vị ma trận
6 Sigmas= diag (S): gắn một ma trận đường chéo
7 X= length(U) : gắn về kích thước cho ma trận
8 Ranks: tìm hạng của ma trận
9 Approx: Khai triển các dòng lệnh hoặc thuật toán
10 Figure: chuẩn bị khởi tạo biểu đồ
11 Plot, zoom plot: vẽ biểu đồ và hiện ra màn hình với các giá trị x,y đã được tính toán trước
12 X,Y Label: gắn tên cho trục x và trục y
13 Sound: mở ra đoạn âm thanh đó
14 K: giá trị được tính toán trong thuật toán phân tích SVD để khử nhiễu
Lưu ý: Nếu “k”quá nhỏ sẽ làm mất đi âm thanh quan trọng mà ta cần nghe, phần
âm thanh lọc chưa gọi là tối ưu nhưng đủ để ta thấy được sự khác bị khi được
lọc qua phân tích SVD
Trang 117
IV NGUỒN THAM KHẢO
[3].Sách đại số tuyến tính thầy Đặng Văn Vinh
ACid-2G72mzfnOHE8iygRp&index=3
[5] Góp ý của anh chị khóa trên
https://viblo.asia/p/handbook-singular-values-decomposition-va-mot-so-ung-dung-yMnKMOoml7P