MÔ PHỎNG PHƯƠNG PHÁP LỌC ÂM THANH (LỌC THÔNG THẤP, THÔNG CAO, THÔNG DẢI) TRÊN MATLAB

32 2.1K 9
MÔ PHỎNG PHƯƠNG PHÁP LỌC ÂM THANH (LỌC THÔNG THẤP, THÔNG CAO, THÔNG DẢI) TRÊN MATLAB

Đ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

TRÌNH BÀY CÁCH MÔ PHỎNG LỌC ÂM THANH TRÊN MATLABTrong đề tài này chúng em nghiên cứu một số phương pháp lọc, và mô phỏng việc lọc âm thanh qua phần mềm Matlab cụ thế là phương pháp lọc thông thấp. Với mục tiêu xác định như trên, bài báo cáo được chia ra làm 3 phần với nội dung cơ bản như sau:Chương 1: Lý thuyết chung.Chương 2: Giới thiệu về phần mềm Matlab.Chương 3: Mô phỏng phương pháp lọc âm thanh trên phần mềm Matlab.Chương 4: Kết quả mô phỏng và kết luận chung.

MỤC LỤC LỜI NÓI ĐẦU Chương I Lý thuyết chung 1.1 Tổng quan xử lý âm 1.1.1 Đặc tính âm tương tự 1.1.2 Hệ thống số xử lý âm 1.1.3 hình hóa tín hiệu âm .4 1.1.4 Tần số lấy mẫu 1.1.5 hình xử lý âm 1.2 Một số khái niệm toán học xử lý âm 1.2.1 Phép biến đổi z 1.2.2 Phép biến đổi Fourier 1.2.3 Phép biến đổi Fourier rời rạc 1.2.4 Xử lý, nâng cao chất lượng âm lọc số có đáp ứng xung chiều dài hữu hạn FIR 1.3 Nâng cao chất lượng âm thực tế .17 1.3.1 Khả nghe người bình thường 17 1.3.2 Nâng cao chất lượng âm qua phương pháp lọc âm .19 CHƯƠNG II: GIỚI THIỆU VỀ PHẦN MỀM MATLAB 21 2.1 Giới thiệu chung matlab 21 2.2 lọc âm MATLAB 22 CHƯƠNG III: PHỎNG PHƯƠNG PHÁP LỌC ÂM THANH TRÊN MATLAB 25 3.1 Ví dụ bước rời rạc âm 25 3.2 Cách matlab: 26 CHƯƠNG IV: KẾT QUẢ PHỎNG VÀ ĐÁNH GIÁ 30 4.1 Kết .30 4.2 Đánh giá .33 DANH MỤC HÌNH ẢNH: 34 PHÂN CÔNG NHIỆM VỤ: 35 LỜI NÓI ĐẦU Bộ lọc hệ thống ứng dụng nhiều lĩnh vực sống Khi công nghệ ngày phát triển việc lọc nhiễu để đạt tín hiệu tốt ngày trở nên quan trọng Về lịch sử phát triển, lọc nghiên cứu nhiều xử lý tín hiệu số Và dành quan tâm, đầu tư nghiên cứu nhà khoa học, trung tâm nghiên cứu lớn giới Hiện nay, lọc liên tục phát triển tạo kỹ thuật quan trọng ảnh hưởng trực tiếp đến lĩnh vực điện tử, thông tin liên lạc, phát truyền hình, ngành cơng nghệ khác Trong thơng tin liên lạc, tín hiệu âm truyền khoảng cách xa, nên không tránh khỏi bị tác động nhiễu môi trường, đường truyền, tần số, hay hệ thống Nhưng qua lọc nhiễu, âm trở nên rõ ràng xác Trong thiết bị điện tử thường gặp loa đài, máy phát, máy thu ngày có chất lượng âm tốt lọc ngày tối ưu Vì ứng dụng quan trọng thực tế vậy, nên vấn đề đặt làm để thu âm có chất lượng tốt Đó mục tiêu mà báo cáo chúng em hướng tới Trong đề tài chúng em nghiên cứu số phương pháp lọc, việc lọc âm qua phần mềm Matlab cụ phương pháp lọc thông thấp Với mục tiêu xác định trên, báo cáo chia làm phần với nội dung sau: Chương 1: Lý thuyết chung Chương 2: Giới thiệu phần mềm Matlab Chương 3: phương pháp lọc âm phần mềm Matlab Chương 4: Kết kết luận chung Chương I Lý thuyết chung 1.1 Tổng quan xử lý âm 1.1.1 Đặc tính âm tương tự Mục đích lời nói dùng để truyền đạt thơng tin Có nhiều cách tả đặc điểm việc truyền đạt thông tin Dựa vào lý thuyết thông tin, lời nói đại diện thuật ngữ nội dung thông điệp, thông tin Một cách khác để biểu thị lời nói tín hiệu mang nội dung thơng điệp, dạng sóng âm Hình 1.1: Dạng sóng tín hiệu ghi nhận từ âm người Trong thiết bị tương tự đại trơng xử lý âm tốt thiết bị cổ điển, tiêu chuẩn xử lý khơng có thay đổi, cơng nghệ xử lý tốt Trong hệ thống xử lý âm tương tự, thông tin truyền đạt thông số liên tục biến thiên vô hạn Hệ thống xử lý âm số lý tưởng có tính tương tự hệ thống xử lý âm tương tự lý tưởng: hai hoạt động cách “trong suốt” tạo lại dạng sóng ban đầu khơng lỗi Tuy nhiên, giới thực, điều kiện lý tưởng tồn tại, hai loại hệ thống xử lý âm hoạt động khác thực tế Tín hiệu số truyền khoảng cách ngắn tín hiệu tương tự với chi phí thấp Trong hệ thống truyền âm thoại, tín hiệu thoại truyền lưu trữ xử lý theo nhiều cách thức khác Tuy nhiên loại hệ thống xử lý âm có hai điều cần quan tâm chung là: Việc trì nội dung thơng điệp tín hiệuthoại Việc biểu diễn tín hiệu thoại phải đạt mục tiêu tiện lợi cho việc truyền tin lưu trữ, dạng linh động cho việc hiệu chỉnh tín hiệu thoại cho không làm giảm nghiêm trọng nội dung thông điệpthoại Việc biểu diễn tín hiệu thoại phải đảm bảo việc nội dung thơng tin dễ dàng trích người nghe, thiết bị phân tích cách tự động 1.1.2 Hệ thống số xử lý âm Độ nhạy tai người cao, phân biệt số lượng nhiễu nhỏ chấp nhận tầm biên độ âm lớn Các đặc tính tín hiệu tai người nghe được đo đạc công cụ phù hợp Thông thường, tai người nhạy tầm tần số 2kHz 5kHz, có người nhận dạng tín hiệu 20kHz Tầm động nghe tai người phân tích người ta nhận kết có dạng đáp ứng logarith Tín hiệu âm truyền qua hệ thống số chuỗi bit Bởi bit có tính chất rời rạc, dễ dàng xác định số lượng cách đếm số lượng giây, dễ dàng định tốc độ truyền bit cần thiết để truyền tín hiệu mà khơng làm thơng tin 1.1.3 hình hóa tín hiệu âm Có nhiều kỹ thuật xử lý tín hiệu hình hóa áp dụng giải thuật việc khôi phục âm Chất lượng âm thoại phụ thuộc lớn vào hình giả định phù hợp với liệu Đối với tín hiệu âm thanh, bao gồm âm thoại, nhạc nhiễu không mong muốn, hình phải tổng qt khơng sai lệch so với giả định Một điều cần lưu ý hầu hết tín hiệu âm thoại tín hiệu động thực tế, hình thực tiễn thường giả định phân tích tín hiệu tín hiệu có tính chất tĩnh khoảng thời gian xét hình phù hợp với hầu hết nhiều lĩnh vực việc xử lý chuỗi thời gian, bao gồm việc phục hồi âm hình Autoregressive (viết tắt AR), dùng làm hình chuẩn cho việc phân tích dự đốn tuyến tính Tín hiệu biểu diễn tổng giá trị P tín hiệu trước tín hiệu nhiễu trắng, P bậc hình AR: s[u] i + e[n] hình AR đại diện cho q trình tuyến tính tĩnh, chấp nhận tín hiệu tương tự nhiễu tín hiệu tương tự điều hòa Một hình khác phù hợp nhiều tình phân tích hình auto regressive moving-average (ARMA) cho phép điểm cực điểm Tuy nhiên hình AR có tính linh động phân tích hình ARMA, ví dụ tín hiệu nhạc phức tạp cần hình có bậc P > 100 để biểu diễn dạng sóng tín hiệu, tín hiệu đơn giản cần biểu diễn bậc 30 Trong nhiều ứng dụng, việc lựa chọn bậc hình phù hợp cho tốn cho đảm bảo việc biểu diễn tín hiệu thỏa việc khơng làm thơng tin tín hiệu việc phức tạp 1.1.4 Tần số lấy mẫu Khi chuyển đổi âm sang dạng số, điều cần lưu ý tần số lấy mẫu hệ thống xử lý phải đảm bảo tính trung thực xác cần phục hồi lại dạng sóng tín hiệu ban đầu Theo định lý lấy mẫu Nyquist Shannon, tần số lấy mẫu định tần số cao tín hiệu phục hồi Để tái tạo lại dạng sóng có tần số F, cần phải lấy 2F mẫu 1s Tần số gọi tần số lấy mẫu Nyquist Tuy nhiên, định lý Nyquist tối ưu cho trường hợp Nếu tần số lấy mẫu cao tần số Nyquist gây tình trạng “hiệu ứng” làm ảnh hưởng đến biên độ tín hiệu tín hiệu bị cộng nhiễu, nhiên lúc thành phần hài tần số thấp lại có tín hiệu xác phục hồi 1.1.5 hình xử lý âm Để xử lý tín hiệu liên tục phương tiện xử lý tín hiệu số, ta phải đổi tín hiệu liên lục dạng chuỗi số cách lấy mẫu tín hiệu liên tục cách tuần hồn có chu kỳ T giây Gọi x(n) tín hiệu rời rạc hình thành q trình lấy mẫu, tín hiệu liên tục xa(t), ta có: x(n) = xa(nT) -∞ < n < ∞ Các mẫu x(n) phải lượng tử hóa thành tập mức biên độ rời rạc đưa vào xử lý số Hình 1.2: Cấu hình hệ thống xử lý tín hiệu tương tự phương pháp số Để xác định quan hệ phổ tín hiệu liên tục phổ tín hiệu rời rạc tạo từ q trình lấy mẫu tín hiệu liên tục đó, ta ý đến quan hệ biến độc lập t n tín hiệu xa(t) x(n) t = nT = 1.2 Một số khái niệm toán học xử lý âm 1.2.1 Phép biến đổi z Phép biến đổi z chuỗi định nghĩa cặp biểu thức: -n n-1 dz (*) Biến đổi Z x(n) định nghĩa biểu thức (*) X(z) gọi dãy công suất vô hạn theo biến z-1 với giá trị x(n) hệ số dãy công suất Miền hội tụ ROC {z| |X(z)| < ∞}, giá trị z cho chuỗi hội tụ, hay nói cách khác -n | < ∞(1.2.1c) Thơng thường, miền hội tụ z có dạng: R1 < |z| < R2 1.2.2 Phép biến đổi Fourier Biến đổi Fourier tín hiệu rời rạc thời gian cho biểu thức: x(n)e-jω ∫X(ejω)ejωndω (1.2.2a) (1.2.2b) Biến đổi Fourier trường hợp đặc biệt phép biến đổi z cách thay z = ejω Một đặc tính quan trọng biến đổi Fourier chuỗi X(eiω) hàm điều hòa ω, với chu kỳ 2π 1.2.3 Phép biến đổi Fourier rời rạc Trong trường hợp tín hiệu tương tự, tuần hồn với chu kỳ N -∞ < n < ∞ Với x(n) có dạng tổng rời rạc tín hiệu sin thay tích phân cơng thức (1.2.2b) Phép biến đổi Fourier cho chuỗi tuần hoàn sau: 1.2.4 Xử lý, nâng cao chất lượng âm lọc số có đáp ứng xung chiều dài hữu hạn FIR Bộ lọc FIR có số ưu điểm mặt thực sau: • Đáp ứng pha tuyến tính • Tương đối dễ thiết kế ln ln hệ thống ổn định • Thực với hiệu cao • Có thể thực sở áp dụng biến đổi Fourier rời rạc Với lọc FIR ta đặt điều kiện pha tuyến tính, điều có nghĩa đáp ứng pha - tần số hàm số bậc theo tần số ω, tương đương với thực việc trễ hàm đáp ứng xung miền thời gian Khi hệ thống có pha tuyến tính, trễ nhóm (group delay) số, có ưu điểm thành phần tần số khác tín hiệu đầu vào có thời gian trễ sau cho qua hệ thống đầu Hàm đáp ứng pha-tần số lọc FIR có dạng sau: , với α, β số hàm đáp ứng tần số lọc FIR cho dạng độ lớn pha sau: , với hàm thực Khi áp đặt thêm điều kiện pha tuyến tính vào lọc FIR, dãy đáp ứng xung lọc đối xứng phản đối xứng Dựa tính chất đối xứng hay phản đối xứng dãy đáp ứng xung chiều dài N dãy đáp ứng xung, người ta phân loại lọc FIR làm loại sau đây: • Bộ lọc FIR loại 1: h(n) đối xứng, N lẻ, β=0, • Bộ lọc FIR loại 2: h(n) đối xứng, N chẵn, β=0, • Bộ lọc FIR loại 3: h(n) phản đối xứng, N lẻ, β= , • Bộ lọc FIR loại 4: h(n) phản đối xứng, N lẻ, β= , Đáp ứng tần số lọc FIR cho loại sau: a FIR loại 1: Với a(0)= , mẫu dãy đáp ứng xung a(n) =2 , với dẫn đến A( , c FIR loại 2: Với b(n) =2 , dẫn đến A(, d FIR loại 3: Với c(n) =2 , dẫn đến A( , e FIR loại 4: Với d(n) =2 , Dẫn đến A( , Đối với hệ thống FIR nói chung, hàm truyền đạt H(z) có điểm cực 0, bậc N-1, miền hội tụ RC: Bởi dãy đáp ứng xung dãy thực nên hàm truyền đạt có tính chất đối xứng Hermit, điểm khơng H(z) z0* điểm không H(z) Do dãy đáp ứng xung lọc FIR pha tuyến tính đối xứng phản đối xứng, dẫn đến z0 điểm khơng H(z) điểm khơng H(z) Trường hợp tổng quát, biết điểm không đáp ứng tần số lọc FIR pha tuyến tính H(z) , suy H(z) có điểm khơng là: , , r, Trường hợp đặc biệt, điểm không nằm trục thực đường tròn đơn vị, số điểm khơng suy suy giảm 2, điểm khơng -1, không suy thêm điểm không Tính chất áp dụng thiết kế lọc cách mắc nối tiếp nhiều khâu, khâu có đáp ứng pha tuyến tính  Các phương pháp tổng hợp lọc FIR Có phương pháp để tổng hợp lọc FIR pha tuyến tính, là: • Phương pháp cửa sổ • Phương pháp lấy mẫu tần số • Phương pháp lặp a Phương pháp cửa sổ Tư tưởng phương pháp cửa sổ tìm đáp ứng xung lọc lý tưởng sau cắt xén hai đầu (hay nhân với hàm cửa số) dãy đáp ứng xung cho ta thu lọc FIR pha tuyến tính, đồng thời nhân Điểm nhấn mạnh phương pháp tìm đáp ứng xung thích hợp lọc lý tưởng lựa chọn hàm cửa số thích hợp Về mặt lý tưởng, lọc thông thấp lý tưởng pha tuyến tính có độ lợi dải thơng đáp ứng tần số toàn dải chắn, tức là: với tần số cắt α trễ nhóm ta thu dãy đáp ứng xung có tính chất đối xứng α Với lọc số lý tưởng khác, bao gồm thông cao, thông dải, chắn dải, dãy đáp ứng xung có dạng tương tự suy từ dạng đáp ứng xung lọc thông thấp lý tưởng nói Với vi phân biến đổi Hilbert, biến đổi toán học, ta có đáp ứng xung có tính chất phản đối xứng α Để thu đáp ứng xung lọc FIR mặt thực tế, phương pháp sổ dùng kỹ thuật nhân hàm đáp ứng xung lọc lý tưởng với hàm cửa sổ w(n), với w(n) hàm đối xứng α khoảng từ đến N-1 khoảng lại Kết hàm đáp ứng xung lọc thực tế h(n) đối xứng phản đối xứng đối vớitrong khoảng [0,N-1] Một số cửa số thông dụng lựa chọn là:  Cửa số chữ nhật Việc nhân cửa sổ chữ nhật với đáp ứng xung lọc lý tưởng miền thời gian tương đương với lấy tích chập liên tục tuần hoàn miền tần số đáp ứng tần số lọc lý tưởng với ảnh qua phép biến đổi Fourier hàm cửa sổ = Biến đổi Fourier dãy chữ nhật cho hình vẽ Hình1.3 : Biến đổi Fourier dãy chữ nhật Ở ta có số nhận xét hàm biến đổi Fourier dãy chữ nhật đáp ứng tần số lọc thực tế dùng cửa số chữ nhật: • Bởi cửa sổ w(n) có độ rộng N nên khoảng [-π,π] miền tần số, có bướu biên độ cao, độ rộng 4π/N bướu bên có biên độ nhỏ • Tích chập tuần hồn đáp ứng tần số lọc số lý tưởng với tạo đáp ứng tần số lọc giống với dạng bị xơ • Bướu tạo dải chuyển tiếp của, bướu hẹp, tương đương với N lớn, dải chuyển tiếp nhỏ • Các bướu bên tạo gợn sóng dải thơng dải chắn Lý thuyết thực tế chứng tỏ số đặc điểm lọc thực tế tổng hợp theo phương pháp cửa sổ chữ nhật sau: • Giá trị xấp xỉ độ rộng dải chuyển tiếp (tính từ đỉnh gợn sóng cuối dải thông đến đáp ứng tần số giảm đến khơng) độ rộng bướu • Tỷ số đỉnh bướu bên đỉnh bướu 13dB • Sau phép tính tích chập liên tục tuần hồn, đáp ứng biên độ tích luỹ với nhiều bướu liên tiếp bướu bên dải chắn rơi vào vị trí suy giảm 21dB so với đỉnh dải thông, giá trị không phụ thuộc M Do độ suy giảm dải chắn tối thiểu 21dB không phụ thuộc M Những đặc điểm nói lên dùng cửa sổ chữ nhật có số nhược điểm sau: • Cho dù chiều rộng cửa sổ N tăng, độ rộng bướu bên giảm diện tích tương đối bướu bướu khơng thay đổi nên độ suy giảm dải chắn tối thiểu giữ nguyên không thay đổi 21dB Độ suy giảm dải chắn tối thiểu 21dB nhiều trường hợp không đủ với yêu cầu thiết kế • Cửa sổ chữ nhật có thay đổi đột ngột viền cửa sổ, tức đơn giản ta cắt hai đầu đáp ứng xung lọc lý tưởng dẫn đến tượng Gibb Nhìn đáp ứng tần số thấy bó gợn dày lên tiến cạnh dải thông dải chắn Nhằm tăng độ suy giảm dải chắn hạn chế tượng Gibb, số dạng cửa sổ sau đưa áp dụng nhiều thiết kế lọc thực tế:  Cửa sổ Bartlet (hay cửa sổ tam giác)  Cửa sổ Hanning (hay cửa số Hann)  Cửa số Hamming  Cửa sổ Blackman: hài bậc hai Rõ ràng ln có đánh đổi tính chất hẹp dải chuyển tiếp tính gợn sóng dải thơng dải chắn Các loại cửa sổ làm giảm hiệu ứng gợn sóng dải thơng dải chắn ln có xu hướng làm cho bề rộng dải chuyển tiếp tăng lên Bảng 1.1: Các thông số độ rộng dải chuyển tiếp độ suy giảm dải chắn tối thiểu loại cửa sổ: Tên cửa sổ Chữ nhật Barlett Hannning Hamming Blackman Độ rộng dải chuyển tiếp Xấp xỉ Chính xác Độ suy giảm dải chắn tối thiểu 21 dB 25 dB 44 dB 53 dB 74 dB Dạng cửa sổ phức tạp, để bù cho độ suy giảm dải chắn thấp giảm tượng Gibb phải đánh đổi lấy dải chuyển tiếp có độ rộng lớn hay cần độ dài Ví dụ: Tần số trung tâm 1000 Hz độ rộng dải 1/3 Octave Khi tính từ tần số trung tâm độ rộng nửa trên, nửa dải 1/6 Octave c) Một số loại lọc âm thanh: Để loại bỏ hẳn band tần khơng cần thiết người ta thiết kế mạch lọc để loại bỏ hẳn band tần gọi lọc lọc giải cao( High pass Filter HF) lọc giải thấp (low pass Filter – LF ) thực chất mạch mạch Equalizer với độ effê từ -> 24 dB band tần bị loại bỏ có độ rộng khoảng Octave - High pass Filter : Lọc dải cao Có ý nghĩa cho tần số phía qua phía lại hay thực chất mạch cắt tần số thấp( Low cut) Thơng thường người ta cắt từ 20 Hz - 100 Hz - Low pass filter : Lọc dải thấp tức cho dải tần số phía qua cắt tần số phía , thực chất mạch cắt tần số cao (Hight cut) Thơng thường cắt Octave với mức từ 800 Hz - 2,5 KHz - 10 KH d) Ứng dụng thực tế - Tuyệt đối không lạm dụng Equalizer mức cắt nhiều âm bị méo bí, khơng trung thực - Có thể sử dụng nhiều lọc chất lượng cao phức tạp để nâng cao chất lượng âm CHƯƠNG II: GIỚI THIỆU VỀ PHẦN MỀM MATLAB 2.1 Giới thiệu chung matlab MABLAB, viết tắt Matrix Labotary, cơng cụ phần mềm hỗ trợ tính tốn ma trận MATLAB tích hợp môi trường chung loạt khả bao gồm tính tốn, hiển thị kết lập trình nhằm giải vấn đề liên quan đến toán học Các vấn đề bao gồm: • Các phương trình tốn học tính tốn • Phát triển giải thuật • Thu thập liệu • hình hố, tạo mẫu theo thiết kế • Phân tích, khảo sát thể liệu hình ảnh • Biểu diễn biểu đồ mang tính khoa học tính kỹ thuật • Phát triển ứng dụng, bao gồm việc phát triển với giao diện với người sử dụng Ưu điểm bật MATLAB, đề cập trên, khả tính tốn, đặc biệt tốn liên quan đến ma trận vector, với thời gian nhiều lần so với cơng việc tính tốn ngơn ngữ lập trình khác C hay Fortran Khả lập trình MATLAB linh hoạt, cụ thể việc tạo câu lệnh riêng hàm riêng người sử dụng Hệ thống MATLAB bao gồm phần sau: • Môi trường phát triển: Là tập hợp công cụ, phần lớn chúng giao diện đồ hoạ, giúp người dùng sử dụng câu lệnh hàm MATLAB • Thư viện hàm toán học: Là tập hợp hàm toán học bao gồm từ hàm sin, cosin, phép tính đại số phức đến hàm phức tạp tìm ma trận đảo, tìm ma trận riêng, hàm Bessel biến đổi Fourier nhanh (Fast Fourier Transform – FFT) • Ngơn ngữ lập trình: Là ngơn ngữ bậc cao liên quan đến ma trận mảng Trong MATLAB có đầy đủ đặc trưng ngơn ngữ lập trình bao gồm lệnh rẽ nhánh, hàm, cấu trúc liệu, nhập/xuất liệu, đặc tính liên quan đến lập trình hướng đối tượng (object-oriented programming) • Đồ hoạ: Là tập hợp công cụ để biểu diễn ma trận vector đồ hoạ Bên cạnh công cụ mức thấp để thể liệu dạng chiều chiều, xử lý hình ảnh tĩnh, ảnh động có cơng cụ mức cao dùng đểtạo biểu diễn đồ hoạ theo ý đồ người sử dụng tạo giao diện đồ hoạ người sử dụng • Các API: Là thư viện cho phép người sử dụng gọi hàm viết ngôn ngữ C Fortran Chúng bao gồm công cụ cho phép gọi hàm từ MATLAB dạng liên kết động, để đọc ghi tệp MAT MATLAB, bên cạnh khả tính tốn ma trận, đồng thời ngôn ngữ lập trình mạnh Các tệp chương trình MATLAB ghi dạng m, gọi M-files Có hai loại tệp dạng đuôi m: - Tệp kịch (scripts): Loại tệp khơng có biến đầu vào đầu ra, đơn xử lý liệu với biến vùng làm việc thời (work space) MATLAB Khi gõ tên tệp cửa sổ lệnh (command window), lệnh lưu nội dung tệp gọi theo kịch từ xuống - Tệp tả hàm (functions): Loại tệp cần khai báo biến đầu vào đầu Các biến khai bên loại tệp biến địa phương (local variables) có phạm vi ảnh hưởng hàm số Nội dung tệp nhằm mục đích tính tốn thơng số đầu dựa tham số đầu vào hàm số Tên tệp loại cần trùng với tên hàm số khai báo tả bên nội dung tệp Để khởi động MATLAB, người sử dụng nháy đúp chuột vào biểu tượng MATLAB 6.5 hình desktop vào menu Start -> All Programs -> MATLAB 6.5 -> MATLAB 6.5 từ giao diện Windows Sau MATLAB khởi động, hình người sử dụng hiển thị lên mơi trường phát triển tích hợp MATLAB bao gồm số cửa sổ, có cửa số quan trọng sau: • Cửa sổ lệnh (Command Window): có chức thể dấu nhắc để nhập vào lệnh từ bàn phím, hiển thị kết tính toán sau gõ lệnh gọi hàm • Cửa sổ lệnh dùng (Command History): thể danh mục lệnh gõ hàm gọi theo phiên làm việc • Cửa sổ thư mục thời (Current Directory): thể danh sách tệp dạng đuôi m tồn thư mục thời Để thay đổi thư mục thời cửa sổ nhỏ nằm bên cửa số lệnh • Vùng làm việc (Workspace): thể danh mục tất biến bao gồm: tên biến, giá trị thời biến, kiểu biến tồn phiên làm việc Ngồi loạt cửa sổ khác kích hoạt hiển thị gọi lệnh chọn mục phần Menu MATLAB Để biết thêm cửa số tham khảo thêm phần trợ giúp (Help) MATLAB cách nhấn phím F1 Để soạn thảo kịch hàm, thực chọn menu File -> New -> MFile nhắp chuột vào biểu tượng New M-File công cụ (Toolbar) Trên hình hiển thị lên cửa sổ soạn thảo (Editor) có đầy đủ chức soạn thảo giống môi trường soạn thảo ngôn ngữ lập trình khác Để xem trợ giúp lệnh hay hàm có sẵn MATLAB, gõ lệnh help kèm theo tên lệnh hàm từ cửa sổ lệnh MATLAB, ví dụ: >> help fft cửa số lệnh đưa nội dung chức năng, cú pháp cho tham số vào/ra cho hàm thực phép biến đổi Fourier nhanh MATLAB đặt tên fft 2.2 lọc âm MATLAB Phần đưa danh mục lệnh hàm MATLAB sử dụng phần thí nghiệm Để biết cụ thể chức hàm cú pháp lệnh gọi hàm, gõ lệnh help kèm theo tên hàm cửa số lệnh MATLAB zeros: tạo ma trận với tồn phần tử có giá trị ones: tạo ma trận với toàn phần tử có giá trị rand: tạo ma trận với phần tử nhận giá trị ngẫu nhiên phân bố khoảng từ đến randn: tạo ma trận với phần tử nhận giá trị ngẫu nhiên theo phân bố Gauss có giá trị trung bình 0, phương sai min: trả giá trị nhỏ ma trận max: trả giá trị lớn ma trận fliplr: lộn ngược lại thứ tự phần tử ma trận theo hướng xuất phát từ phải qua trái trở thành từ trái qua phải plot stem: vẽ đồ thị dãy số, plot để thể dạng liên tục, stem để thể dạng rời rạc, thường sử dụng hàm stem để vẽ tín hiệu miền n conv: trả tích chập vector filter: trả đáp ứng theo thời gian hệ thống tả phương trình sai phân tuyến tính hệ số Ngồi ra, cách cẩn thận phép toán ma trận vector phần trợ giúp (Help) MATLAB cách nhấn F1 vào mục MATLAB -> Getting Started -> Matrices and Arrays abs, angle: trả hàm thể Mođun Agumen số phức real, imag: trả hàm thể phần thực phần ảo số phức residuez: trả điểm cực hệ số tương ứng với điểm cực phân tích hàm phân thức hữu tỷ miền Z thành thành phần hàm phân thức đơn giản, ngược lại đầu vào danh sách điểm cực hệ số, hàm residuez trả hàm phân thức hữu tỷ miền Z poly: xây dựng đa thức từ danh sách nghiệm ztrans: trả biến đổi Z hàm số định nghĩa theo công thức biểu tượng (symbol) iztrans: hàm ngược lại hàm ztrans zplane: thể hiển phân bố điểm cực điểm không hàm phân thức hữu tỷ lên mặt phẳng Z fft: thực biến đổi Fourier rời rạc dãy số có độ dài hữu hạn theo thuật toán biến đổi Fourier nhanh trả kết biến đổi Fourier rời rạc dãy số clock: trả thời gian thực etime: trả thời gian tính giây thời điểm freqz: trả đáp ứng tần số hệ thống số hữu hạn điểm rời rạc vòng tròn đơn vị biết hàm truyền đạt sin, cos, sinc: trả hàm tốn học thể cơng thức lượng giác boxcar, bartlett, hanning, hamming, blackman, kaiser: trả hàm cửa sổ với chiều dài cho trước firpm: thực công việc tìm dãy đáp ứng xung lọc tối ưu theo nghĩa Chebyshev thuật toán Parks McClellan Ngồi ra, cơng cụ Signal Processing Toolbox MATLAB cung cấp nhiều hàm hữu ích để thiết kế lọc fir1, fir2, firls Thêm vào công cụ cung cấp gói phần mềm thiết kế sẵn với tên FDATool giúp kỹ sư giảm thời gian nhiều thiết kế hệ s ố c l ọc Tuy nhiên cơng cụ Signal Processing Toolbox không cung cấp kèm theo phiên phần mềm MATLAB dành cho sinh viên thực hành Đồng thời, để giúp sinh viên hiểu rõ thêm chất tốn học q trình thiết kế lọc, phần thực hành yêu cầu tiến hành bước thiết kế lọc cụ thể Chỉ có hàm thiết kế lọc có sẵn cơng cụ nên dùng firpm xây dựng lại chương trình phần mềm theo thuật tốn Parks McClellan dùng thuật toán trao đổi Remez phức tạp CHƯƠNG III: PHỎNG PHƯƠNG PHÁP LỌC ÂM THANH TRÊN MATLAB 3.1 Ví dụ bước rời rạc âm MatLab làm việc với file âm có phần mở rộng “wav”, mã hóa kiểu PCM (Pulse Code Modulation) Để thực hành phần này, file âm thanh, chẳng hạn example.wav, cần phải copy vào thư mục hành Thư mục hành thông thường thư mục WORK, thư mục MATLAB…(copy file vào thư mục Matlab Document) Khi phân tích phổ ta cần lấy nửa số mẫu là: âm (tiếng nói) tín hiệu thực nên phổ chúng có tính đối xứng, thực phân tích phổ ta cần lấy nửa số mẫu Chẳng hạn thư mục hành MATLAB có chứa file âm song toan.wav, file mang nội dung: “Tên tơi ĐẶNG SONG TỒN lớp đa - Bài tập xử lý tín hiệu số” Sử dụng lệnh wavread để đọc file: >> [s,fs]= wavread(‘song toan.wav’); >> [s,fs]= wavread(‘song toan’); (Lưu ý đặt dấu ; đằng sau lệnh!) Sau thực lệnh này, biến s chứa liệu âm thanh, biến fs chứa tần số rời rạc hóa Để xem tần số rời rạc hóa, ta nhập vào: >>fs Fs=8000 Như file âm song toan.wav có tần số rời rạc hóa 8Khz Bây thực phân tích phổ cho tín hiệu s: Trên cửa sổ lệnh Matlab ta gõ lệnh sau: >> N=length(s); >> M=round(N/2); >> S=fft(s); >> f=fs*(1:M)/N; % Lấy lưới tần số vật lý ( đo Hz) >> PhoBD=abs(S); >> Pho=PhoBD(1:M);% Chỉ lấy nửa số mẫu >> plot(f,Pho) >> title('pho cua file am Song toan.wav,DANG SONG TOAN M-T-A'); Ta nhận : Đồ thị phổ âm sau: Hình 3.1:Phổ pha âm * Nhận xét: Từ hình ta nhận thấy phổ file âm song toan.wav tập trung chủ yếu khu vực 500-1000 Hz, tần số cực đại phổ khoảng 4000 Hz 3.2 Cách matlab: [s, fs]=audioread('filename.wav'); N=length(s); n=[1:N]; M=round(N/2); S=fft(s); f=fs*(1:M)/N phobd=abs(S); pho=phobd(1:M); plot(f,pho); v= 0.045*sin(2*pi*3600*n/fs); p=s+v'; P=fft(p); phobd1=abs(P); pho1=phobd1(1:M); plot(f,pho1); b= fir1(60, 3000/4000,'low'); freqz(b,1,512); y=filter(b,1,p); soundsc(y,fs); audiowrite(‘D:\locthongthap.wav’,y,fs); Y=fft(y); phobd2=abs(Y); pho2=phobd2(1:M); plot(f,pho2); subplot(3,1,1); %3 hàng, cột, góc phần tư thứ plot(f,pho); title('pho cua file am thanh'); subplot(3,1,2); %3 hàng, cột, góc phần tư thứ plot(f, pho1); title('pho cua file am co nhieu'); subplot(3,1,3); %3 hàng, cột, góc phần tư thứ plot(f, pho2); title('pho cua file am da triet nhieu'); Giải thích cách - Dùng lệnh audioread để đọc file *.wav : cách dùng [s,fs]=audioread(‘filename’); Trong : s liệu mẫu, s vector fs tần số mẫu đơn vị Hz Filename tên file cần xử lý >> [s, fs]=audioread('*.wav'); - Dùng lệnh soundsc(s,fs) để phát nhạc matlab - Tính chiều dài vector s ta dùng lệnh length: N=length(s); Tạo chuỗi chạy n từ đến hết chiều dài N vector s: n=[1:N]; - Khi phân tích phổ ta cần lấy nửa số mẫu là: âm (tiếng nói) tín hiệu thực nên phổ chúng có tính đối xứng, thực phân tích phổ ta cần lấy nửa số mẫu Do ta có: M=round(N/2); - Hàm phân tích phổ fft Cú pháp thường dùng: S=fft(s) Với s tín hiệu rời rạc có chiều dài N, S DFT s, số mẫu S N - Lấy lưới tần số vật lý ( đo Hz): f=fs*(1:M)/N; - Để lấy phổ biên độ, sử dụng hàm abs(S): phobd=abs(S); - Phổ âm chuỗi phổ biên độ từ đến M: pho=phobd(1:M); - Vẽ đồ thị theo dạng liên tục ta sử dụng lệnh : plot(f,pho); Nhận xét: Mặc dù tín hiệu rời rạc, đồ thị lại cho thấy tín hiệu liên tục Lý lệnh plot nối liền mẫu với Lệnh tiện lợi chỗ, cho ta nhìn tổng thể hình dạng tín hiệu - v tín hiệu nhiễu ta có: v= 0.045*sin(2*pi*3600*n/fs); v ma trận ngang s ma trận dọc muốn cộng phải chuyển vị v nên ta có: p=s+v'; - P biến đổi Fourirer p ta sử dụng lệnh ffft(p) để biểu diễn: P=fft(p); - Gán phobd1 phổ biên độ P, dùng lệnh abs để lấy phổ biên độ P: phobd1=abs(P); - Gán pho1 với chuỗi phobd1 từ đến M, sau vẽ phổ biên độ P, ta dùng lệnh plot với f trục ngang (trục x) pho1 trục dọc (trục y): pho1=phobd1(1:M); plot(f,pho1); - Lệnh fir1(N,Wn,window) >> b = fir1(N,Wn,window); Trong đó: + b véctơ dòng, chứa (N+1) hệ số lọc FIR thơng thấp pha tuyến tính bậc N với tần số cắt Wn, hệ số lọc xếp theo thứ tự phương trình dướiđây: + Wn tần số cắt chuẩn hóa (chuẩn hố với π) số nằm khoảng (0,1) Nếu tần số cắt Wn, véctơ thành phần Wn=[w1 w2], trở thành lọc với băng thơng:w1 b = fir1(N,Wn,’high’,window); Ta có lệnh: b= fir1(60, 0.4,'low'); => Mặc định fir1 dùng cửa số Hamming, lọc thông thấp với N=60, WN= 0.4 - Lệnh freqz: trả đáp ứng tần số hệ thống số hữu hạn điểm rời rạc vòng tròn đơn vị biết hàm truyền đạt nó, ta có lệnh: freqz(b,1,512); Trong đó: Ns=512 số mẫu biểu diễn đồ thị - Lệnh filter: trả đáp ứng theo thời gian hệ thống tả phương trình sai phân tuyến tính hệ số Ta có lệnh: y=filter(b,1,p); y âm sau lọc - Ta cho phát âm sau lọc: soundsc(y,fs); - Dùng lệnh audiowrite(filename,y,fs) để lưu âm vừa lọc - Y biến đổi Fourier y: Y=fft(y); - Lặp lại lệnh để vẽ đồ thị tín hiệu: phobd2=abs(Y); pho2=phobd2(1:M); plot(f,pho2); subplot(3,1,1); %3 hàng, cột, góc phần tư thứ plot(f,pho); title('pho cua file am thanh'); subplot(3,1,2); %3 hàng, cột, góc phần tư thứ plot(f, pho1); title('pho cua file am co nhieu'); subplot(3,1,3); %3 hàng, cột, góc phần tư thứ plot(f, pho2); title('pho cua file am da triet nhieu'); CHƯƠNG IV: KẾT QUẢ PHỎNG VÀ ĐÁNH GIÁ 4.1 Kết a) Lọc thơng thấp: Hình 4.1: Kết lọc thông thấp Âm sau trầm méo so với âm chưa lọc Âm sau lọc lưu lại ổ đĩa D với tên ‘lọc thông thấp.wav’ để tiện so sánh khác b) Lọc thông cao Âm sau cao, bổng so với âm ban đầu, cắt tần số cao gây âm méo.Âm sau lọc lưu lại ổ đĩa D với tên ‘lọc thông cao.wav’ để tiện so sánh khác Hình 4.2: Kết lọc thơng cao c) Lọc băng dải Âm sau có khác biệt so với âm ban đầu, cắt tần số cao gây âm méo Âm sau lọc lưu lại ổ đĩa D với tên ‘lọc băng thông.wav’ để tiện so sánh khác Hình 4.3: Kết lọc băng dải d) Giao diện người dùng GUI Hình 4.4: Giao diện người dùng GUI Cách sử dụng giao diện: - Nhấn OPEN FILE để chọn file âm cần lọc - Pop – up menu có lựa chọn lọc thông thấp, lọc thông cao lọc thông dải - Nhập tần số cắt Wn1 giới hạn – 1, lọc thông dải có thêm tần số chặn thứ Wn2 giới hạn – - Bấm nút RUN để chạy chương trình - Bấm nút END để tắt giao diện 4.2 Đánh giá a) Ưu điểm: - Áp dụng kiến thức mơn Xử lý tín hiệu số vào báo cáo - Hiểu thêm phương pháp lọc âm thanh, xây dựng hiểu code lọc âm đơn giản - Tạo giao diện người dùng GUIDE thân thiện, dễ xử dụng b) Nhược điểm - Phạm vi hạn chế thiếu sót kiến thức, tài liệu thời gian - Chưa thực nâng cao chất lượng âm mục tiêu ban đầu - Chất lượng chưa cao DANH MỤC HÌNH ẢNH: HÌNH TRANG Hình 1.1: Dạng sóng tín hiệu ghi nhận từ âm người Hình 1.2: Cấu hình hệ thống xử lý tín hiệu tương tự phương pháp số Hình 1.3 : Biến đổi Fourier dãy chữ nhật Hình 3.1: Phổ pha âm 24 Hình 4.1: Kết lọc thơng thấp 28 Hình 4.2: Kết lọc thơng cao 29 Hình 4.3: Kết lọc thơng dải 30 Hình 4.4: Giao diện người dùng GUI 30

Ngày đăng: 25/02/2018, 20:26

Mục lục

  • Chương I. Lý thuyết chung

    • 1.1. Tổng quan về xử lý âm thanh

      • 1.1.1. Đặc tính của âm thanh tương tự

      • 1.1.2. Hệ thống số xử lý âm thanh

      • 1.1.3. Mô hình hóa tín hiệu âm thanh

      • 1.1.4. Tần số lấy mẫu

      • 1.1.5. Mô hình xử lý âm thanh

      • 1.2. Một số khái niệm toán học trong xử lý âm thanh

        • 1.2.1. Phép biến đổi z

        • 1.2.2. Phép biến đổi Fourier

        • 1.2.3. Phép biến đổi Fourier rời rạc

        • 1.2.4. Xử lý, nâng cao chất lượng âm thanh bằng các bộ lọc số có đáp ứng xung chiều dài hữu hạn FIR

        • CHƯƠNG II: GIỚI THIỆU VỀ PHẦN MỀM MATLAB

          • 2.1. Giới thiệu chung về matlab

          • 3.2. Cách mô phỏng trên matlab:

          • CHƯƠNG IV: KẾT QUẢ MÔ PHỎNG VÀ ĐÁNH GIÁ

            • 4.1. Kết quả mô phỏng

            • DANH MỤC HÌNH ẢNH:

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

Tài liệu liên quan