1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng biến đổi fourier hữu hạn để khử nhiễu âm thanh (bài tập lớn đại số tuyến tính)

12 11 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 12
Dung lượng 316,29 KB

Nội dung

lOMoARcPSD|20597457 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH ĐỀ TÀI: ỨNG DỤNG BIẾN ĐỔI FOURIER HỮU HẠN ĐỂ KHỬ NHIỄU ÂM THANH GVHD: ThS Nguyễn Hữu Hiệp SVTH: Nhóm 11 - Lớp L05 - HK211 STT Họ Tên MSSV Dương Hữu Quang (Nhóm trưởng) 2114497 Trần Minh Nhựt 2114346 Đoàn Thị Yến Nhi 2114307 Nguyễn Trần Tiểu Phụng 2114465 Trương Minh Phát 2114386 Thành phố Hồ Chi Minh - 12/2021 lOMoARcPSD|20597457 MỤC LỤC CHƯƠNG I: TÓM TẮT BÀI BÁO CÁO CHƯƠNG II:NỘI DUNG BÁO CÁO ĐẶ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.2.1 Định nghĩa .2 2.2.2 Định lý 2.2.1 2.2.3 Định lý 2.2.2 2.3 Biểu diễn ma trận ánh xạ tuyến tính 2.3.1 Định nghĩa 2.4 Biến đổi Fourier 2.4.1 Mục đích 2.4.2 Biến đổi Fourier hữu hạn .3 2.4.3 Ứng dụng biến đổi Fourier hữu hạn khử nhiễu âm BIẾN ĐỔI FOURIER HỮU 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 .5 KẾT LUẬN .7 TÀI LIỆU THAM KHẢO LỜI CẢM ƠN .9 i lOMoARcPSD|20597457 DANH MỤC HÌNH ẢNH VÀ BẢNG BIỂU Tên hình Trang Hình : Đoạn code sử dụng ví dụ .5 Hình : Đồ thị chưa lọc nhiễu Hình : Đồ thị khử nhiễu Hình : Đồ thị lọc nhiễu màu xanh chưa lọc nhiễu màu đỏ ii lOMoARcPSD|20597457 CHƯƠNG I: TÓM TẮT BÀI BÁO CÁO Bài báo cáo nhóm 11 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 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 xử 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 vài khía cạnh lập trình Và nội dung báo cáo lOMoARcPSD|20597457 CHƯƠNG II:NỘI DUNG 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, 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, q trình tạo âm đó, 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 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 khác rỗng tùy ý Ánh xạ f X Y quy tắc cho tương ứng phần tử phần tử Hay : X→ Y ánh xạ, t l ea t Cho X,Y hai không gian trường số K Ánh xạ : X → Y gọi ánh xạ tuyến tính (AXTT) nếu: a a l l a a a *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 f: X → Y Nhân( ) Ảnh ( t ) định nghĩa là: định nghĩa là: 2.2.2 Định lý 2.2.1 Nhân ( ݅ta ) t a l t l t l댳 t l a không gian Ảnh ( t ) không gian ݅ta t l ݅ta lOMoARcPSD|20597457 *Ghi chú: Ker nghiệm phương trình a t tập ảnh l 댳 ( 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-1AE 2.4 Biến đổi Fourier 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 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 2.4.2 Biến đổi Fourier hữu hạn Trong tốn học, phép biến đổi Fourier rời rạc (DFT), đơi 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) Downloaded by hong chinh (vuchinhhp5@gmail.com) lOMoARcPSD|20597457 Biến đổi Fourier cơng thức tốn học liên hệ tin 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ố Biến đổi Fourier xác định cho vecto x với n điểm lấy mẫu thống bởi: yk+1 = n−1 j=0 xj+1 jk 2.4.3 Ứ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 vectơ X + Vectơ Y = Fn X có dạng Y = A +iB + Vectơ A chứa hệ số t n−1 + Vectơ B chứa hệ số t n−1 tcos βtsin 2πt n 2πt n Như dùng 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 2πt 2πt hiệu miền tần số gồm tổng hàm cos n sin n Giả sử tín hiệu gốc có dạng n−1 t cos 2πt n + t 2πt sin +nhiễu n 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 ,chỉ giữ lại tín hiệu chính, sau phân tích Fourier ngược ta thu tín hiệu khử nhiễu BIẾN ĐỔI FOURIER HỮU 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ó vectơ [y,Fs]=audioread(‘filename.wav’); Bước 2: Phân tích Fourier rời rạc vectơ 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 Downloaded by hong chinh (vuchinhhp5@gmail.com) lOMoARcPSD|20597457 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 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 Hình 1: Đoạn code sử dụng ví dụ Downloaded by hong chinh (vuchinhhp5@gmail.com) lOMoARcPSD|20597457 Hình 2: Đồ thị chưa lọc nhiễu Hình 3: Đồ thị khử nhiễu Downloaded by hong chinh (vuchinhhp5@gmail.com) lOMoARcPSD|20597457 Hình 4: Đồ thị lọc nhiễu màu xanh chưa lọc nhiễu màu đỏ KẾT LUẬ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 ➔ Trau dồi kỹ học tập làm việc nhóm hiệu ➔ Nâng cao tình đồn kết thành viên nhóm ➔ Có hứng thú mơn học Downloaded by hong chinh (vuchinhhp5@gmail.com) lOMoARcPSD|20597457 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, (2021) Biến đổi Fourier rời rạc, Bách khoa toàn thư mở Wikipedia Downloaded by hong chinh (vuchinhhp5@gmail.com) lOMoARcPSD|20597457 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 học 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, bảo chúng em suốt trình thực báo cáo Đồng thời xin gửi lời cảm ơn sâu sắc đến bạn lớp L05 - Đại số tuyến tính - HK211 Cảm ơn bạn dành thời gian đọc nhận xét báo cáo Do kiến thức 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 Chúng em xin cảm ơn! Downloaded by hong chinh (vuchinhhp5@gmail.com)

Ngày đăng: 22/06/2023, 20:44

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w