Báo cáo bài tập lớn đề tài ứng dụng biến đổi fourier hữu hạn để khử nhiễu âm thanh

17 1 0
Báo cáo bài tập lớn đề tài ứng dụng biến đổi fourier hữu hạn để khử nhiễu âm thanh

Đ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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI SỐ TUYẾN TÍNH BÁO CÁO BÀI TẬP LỚN ĐỀ TÀI: ỨNG DỤNG BIẾN ĐỔI FOURIER HỮU HẠN ĐỂ KHỬ NHIỄU ÂM THANH LỚP L10_NHÓM 10_HK221 Giảng viên hướng dẫn: Ths Nguyễn Hữu Hiệp Số thứ tự Tên sinh viên Huỳnh Quang Thắng Lý Đình Thắng Nguyễn Minh Thắng Trương Hữu Thắng Võ Việt Thắng Huỳnh Chí Thành Nguyễn Minh Dạ Thảo Thành phố Hồ Chí Minh – 2022 Mã số sinh viên 2213190 2213196 2213216 2213212 2213215 2213127 2213163 MỤC LỤC CHƯƠNG I: TÓM TẮT BÀI BÁO CÁO CHƯƠNG II: NỘI DUNG BÀI BÁO CÁO 1.ĐẶT VẤN ĐỀ VÀ MỤC TIÊU 2.CƠ SỞ LÍ THUYẾT 2.1 Định nghĩa ánh xạ tuyến tính 2.2 Nhân ảnh ánh xạ tuyến tính 2.3 Biểu diễn ma trận ánh xạ tuyến tính 2.4 Tổng quan Fourier hữu hạn 3.BIẾN ĐỔI FOURIER HỮA HẠN ĐỂ KHỬ NHIỄU ÂM THANH TRONG MATLAB 3.1 Các bước dùng phép biến đổi Fourier hữu hạn để khử nhiễu 3.2 Đoạn code sử dụng Matlab 3.3 Ví dụ minh họa 4.KẾT LUẬN .12 TÀI LIỆU THAM KHẢO .13 LỜI CẢM ƠN 14 DANH MỤC HÌNH ẢNH Hình Đoạn code ví dụ sách Hình Đồ thị chưa qua lọc nhiễu .8 Hình Đồ thị qua lọc nhiễu Hình Đồ thị lọc nhiễu màu xanh chưa lọc nhiễu màu đỏ .10 CHƯƠNG I: TÓM TẮT BÀI BÁO CÁO Bài báo cáo nhóm 10 gồm nội dung liên quan đến đề tài cách sử dụng biến đổi Fourier hữu hạn để khử nhiễu âm cho file âm có chứa đựng tạp âm khơng mong muốn Bài viết nhắc lại lý thuyết ánh xạ tuyến tính, tổng quan Fourier rời rạc, cách sử dụng Fourier bước lập trình code để khử nhiễu âm MATLAB Từ đó, có hiểu biết cần thiết kinh nghiệm việc sử lí tình huống, khả làm việc nhóm hiệu có số hiểu biết công cụ MATLAB cách sử dụng công cụ MATLAB để diễn tả toán cách cụ thể ngắn gọn, súc tích, dễ hiểu Qua đó, biết cách xử lý đoạn âm hiểu thêm khía cạnh lập trình Và nội dung báo cáo CHƯƠNG II: NỘI DUNG BÀI BÁO CÁO ĐẶT VẤN ĐỀ VÀ MỤC TIÊU Trong sống thường nhật, giải trí nhu cầu tất yếu người, chẳng hạn xem phim, nghe nhạc, …nó dường trở thành phần sống Mà âm thứ khơng thể thiếu Ví phim, thiếu âm xe cộ, tiếng mưa rơi, tiếng động vật, … trình tạo âm đó, ln tạo tiếng ồn khơng cần thiết khiến ta khó nghe âm khơng cịn hay Vì vậy, ta cần phải loại bỏ tiếng ồn này, hay gọi khử nhiễu âm Nếu xử lý tập tin âm theo tiêu chí (trọng tâm, xác, hiệu tiết kiệm thời gian) việc giúp ích cho ta nhiều Trong nghiên cứu âm thanh, giúp ta tiết kiệm thời gian Trong doanh nghiệp lĩnh vực truyền thơng đa phương tiện, xử lí tốt file âm thanh, tiết kiện nhiều chi phí việc thiết kế phần mềm đó, hay đơn giản tăng chất lượng âm q trình edit video chun nghiệp Từ đí hướng đến nhiều đối tượng khách hàng với trải nghiệm chất lượng âm tuyệt vời, chân thật đặc biệt khơng cịn tạp âm Và cách dùng để khử nhiễu âm dùng biến đổi Fourier hữu hạn CƠ SỞ LÍ THUYẾT 2.1 Định nghĩa ánh xạ tuyến tính Cho X, Y hai tập hợp rỗng tùy ý Ánh xạ f X Y quy tắc cho tương ứng phần tử phần tử Hay ánh xạ, Cho X, Y hai không gian trường số K Ánh xạ gọi ánh xạ tuyến tính (AXTT) nếu: * Ghi chú: ánh xạ tuyến tính Rn chứa số hạng bậc 2.2 Nhân ảnh ánh xạ tuyến tính 2.2.1 Định nghĩa Cho ánh xạ tuyến tính Nhân f định nghĩa là: Ảnh (Imf) f định nghĩa là: 2.2.2 Định lí 2.2.1 Nhân (Ker) f khơng gian X Ảnh (Imf) không gian Y *Ghi chú: Ker f nghiệm phương trình f(x) = Im f tập ảnh f ( hàm số gọi tập giá trị) 2.2.3 Định lý 2.2.2 Cho ánh xạ tuyến tính f : X  Y Ảnh tập sinh tập sinh ảnh: X = {e1, e2, e3,….,en}  Im f = < f(e1), f(e2), f(e3),… , f(en) > 2.3 Biểu diễn ma trận ánh xạ tuyến tính 2.3.1 Định nghĩa Cho ánh xạ tuyến tính f : V  X E = {e1, e2, e3, …, en} sở X F = {f1,f2,f3,…,fn} sở Y A = ([ f (e1)]F[ f (e2)]F[ f (e3)]F…[ f (en)]F) = Ma trận A gọi ma trận ánh xạ tuyến tính f sở E Ta có:  x  X, [ f(x)]F = A [x]E Nếu X Y khơng gian Rn thì: AE,F = F-1 AE 2.4 Tổng quan Fourier hữu hạn 2.4.1 Mục đích Mục đích biến đổi Fourier tách tín hiệu dạng sóng thành tần số riêng lẻ tạo Hay biến đổi Fourier giúp biến đổi tín hiệu từ miền thời gian sang miền tần số Cụ thể hơn, biến đổi Fourier tách hàm số thành tổng hàm sin cos, hàm có tần số khác Từ biến đổi này, dễ dàng biết đặc trưng tín hiệu 2.4.2 Giới thiệu: Trong toán học, phép toán biển đổi Fourier rời rạc (Discrete Fourier Transfrom) hay (DFT), gọi biến đổi Fourier hữu hạn, biến đổi giải tích Fourier cho tín hiệu thời gian rời rạc Đầu vào biến đổi chuỗi hữu hạn số thực số phức, làm biến đổi công cụ lý tưởng để xử lý thông tin máy tính Đặc biệt, biến đổi sử dụng rộng rãi xử lí tín hiệu ngành liên quan đến phân tích tần số chứa tín hiệu, để giải phương trình đạo hàm riêng, để làm phép tích chập Biến đổi tính nhanh thuật tốn biến đổi Fourier nhanh (FFT) Biến đổi Fourier cơng thức tốn học liên hệ tín hiệu lấy mẫu thời gian không gian với tín hiệu lấy mẫu tần số Trong xử lý tín hiệu, thuyết biến đổi Fourier tiết lộ đặc tính quan trọng tín hiệu cụ thể thành phần tần số 2.4.3 Định nghĩa Dãy N số phức biến đổi thành chuỗi N số phức X0, , XN−1 công thức sau đây: với k=0,…,N-1 tự nhiên, i đơn vị ảo () với e số lôgarit Phép biến đổi Fourier rời rạc ngược (IDFT) cho cơng thức sau Với n= 0,…, N-1 Phương trình mơ tả đơn giản sau: số phức đại diện cho biên độ pha bước sóng khác “tín hiệu vào” Phép biến đổi DFT tính giá trị từ giá trị 2.4.4 Ứng dụng biến đổi Fourier hữu hạn khử nhiễu âm Phép biến đổi Y = Fn X gọi phép biển đổi fourier rời rạc vector X + Vector Y = Fn X có dạng Y = A + iB + Vecto A chứa hệ số t + Vecto B chứa hệ số t Như dung phép biến đổi Fourier rời rạc, ta chuyển tín hiệu X miền thời gian thành tín hiệu miền tần số gồm tổng hàm cos sin Giả sử tín hiệu gốc có dạng + nhiễu Sau phân tích Fourier rời rạc Y = Fn X, so sánh với hình vẽ trước sau phân tích, ta xác định tần số tín hiệu tần số nhiễu Lọc bỏ tín hiệu nhiễu, giữ lại tín hiệu chính, sau phân tích Fourier ngược thu tín hiệu khử nhiễu BIẾN ĐỔI FOURIER HỮA HẠN ĐỂ KHỬ NHIỄU ÂM THANH TRONG MATLAB 3.1 Các bước dùng phép biến đổi Fourier hữu hạn để khử nhiễu Bước 1: Số hóa file âm thanh, ta có vector y=audioread(‘filename.wav’); Bước 2: Phân tích Fourier rời rạc vector y: Y= fft(y); Biến đổi Fourier hữu hạn Bước 3: Vẽ tín hiệu ban đầu Phân tích tần số tín hiệu để biết tần số tín hiệu tín hiệu bị nhiễu plot(abs(Y)); Vẽ đồ thị ban đầu Bước 4: Lọc bỏ bớt tần số tín hiệu nhiễu giữ lại tần số tín hiệu M= max(abs(Y)); Thresh=n/M; Dựa vào hình vẽ để xác định hệ số thresh để khử nhiễu Sound(y); Nghe tín hiệu gốc Ythresh=(abs(Y)>thresh*M) * Y; Sum (abs (Ythresh)>0/size(y,1); Bước 5: Biến đổi Fourier ngược lại; ythresh=real (ifft (Ythresh)); Sound(ythresh); Nghe lại tín hiệu sau khử nhiễu 3.2 Đoạn code sử dụng Matlab Hình Hình Đoạn code ví dụ sách Nguồn: Giáo trình Đại số tuyến tính, Đại học Bách khoa - ĐHQG.HCM 3.3 Ví dụ minh họa Trong phầần ta s dụ ng mộ t fle ầm chuẩ n bị có lầẫn tạ p ầm, sử dụ ng ệl nh ft Matlab, biếến đ i Fourierổt miếần th i gian sang miếần tầần sốế Kh nh ửng tầần ữ sốế nhiếẫu gi lữi tầần sốế Dùng l ệnh ift biếến đổi ngược l ại ta nghe đ ược ầm sau kh nhiếẫu 3.3.1 Đoạn code sử dụng matlab [data,Fs]=audioread('file âm thanh.aac'); L=length(data); sound(data,Fs); data=fft(data); M=max(abs(data)); thresh=400./M; datathresh=(abs(data)>thresh.*M).*data; plot(abs(data),'r'); hold on; plot(abs(datathresh),'b'); N=sum(abs(datathresh)>0)/L; Z=real(ifft(datathresh)); sound(Z,Fs); 3.3.1 Các lệnh dùng matlab Audioread(filename.aac) L=length(data) sound(); fft() max() Abs () Ifft() Plot() datathresh=(abs(data)>thresh.*M).*data; Đọc file âm Matlab Tính tốn kích cỡ file âm Nghe âm Biến đổi Fourier hữu hạn Giá trị lớn Lấy giá trị tuyệt đối Biến đổi Fourier ngược lại Vẽ đồ thị Lọc nhiễu Hình Hình Đồ thị chưa lọc nhiễu Hình Hình Đồ thị lọc nhiễu 10 Hình Hình Đồ thị lọc nhiễu màu xanh chưa lọc nhiễu màu đỏ 11 KẾT LUẬN Biến đổi Fourier hữu hạn (DFT) công cụ mạnh mẽ xử lý tín hiệu kỹ thuật số, cho phép tìm phổ tín hiệu có thời lượng hữu hạn Thông qua tập lớn này, với phân chia công việc hợp lý cho thành viên tinh thần trách nhiệm cao người, nhóm em hoàn thành với kết mong đợi → Biết cách lọc nhiễu file âm MATLAB → Hiểu biết rõ ứng dụng môn học, đặc biệt ứng dụng Fourier hữu hạn khử nhiễu âm → Trau dồi kỹ học tập làm việc nhóm hiệu → Nâng cao tỉnh đoàn kết thành viên nhóm → Có hứng thú môn học 12 TÀI LIỆU THAM KHẢO [1] Đặng Văn Vinh, (2021) Giáo trình Đại số tuyến tính, Trường Đại học Bách Khoa, ĐHQG.HCM – NXB Đại học Quốc gia Thành phố Hồ Chí Minh [2] Wikipedia, (2022) Biến đổi Fourier rời rạc, Bách khoa toàn thư mở Wikipedia 13 LỜI CẢM ƠN Đầu tiên cho chúng em xin trân trọng gửi lời cảm ơn chân thành kính trọng đến Thầy Cô khoa Khoa học ứng dụng Trường Đại hoc Bách Khoa – ĐHQG.HCM, đặc biệt giảng viên hướng dẫn, ThS.Nguyễn Hữu Hiệp tận tình hướng dẫn, giúp đỡ chúng em suốt q trình làm BTL nhóm Đồng thời xin gửi lời cảm ơn đến bạn lớp L10 – Đại số tuyến tính – HK221 Cảm ơn bạn dành thời gian đọc nhận xét báo cáo nhóm Do kiến thức cịn hạn hẹp nên khơng tránh khỏi thiếu sót cách hiểu lỗi trình bày Chúng em xin chân thành lắng nghe đóng góp ý kiến q Thầy Cơ bạn, để báo cáo đạt kết tốt 14

Ngày đăng: 23/05/2023, 15:06

Tài liệu cùng người dùng

Tài liệu liên quan