1. Trang chủ
  2. » Luận Văn - Báo Cáo

lop l13 baitaplon dstt nhom8

11 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 517,2 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

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 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 3

DANH 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 4

Mụ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 5

1

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 6

2

+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 7

3

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 8

4

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 9

5

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 10

6

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 11

7

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

Ngày đăng: 30/10/2022, 20:03

w