Báo cáo Tìm tần số cơ bản tín hiệu tiếng nói sử dụng hàm tự tương quan (9 điểm)

13 1.4K 8
Báo cáo Tìm tần số cơ bản tín hiệu tiếng nói sử dụng hàm tự tương quan (9 điểm)

Đ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

Tìm tần số cơ bản của tín hiệu tiếng nói, miền tần số, miền thời gian, hàm tự tương quan, phân tích phổ fft, xcorTìm tần số cơ bản của tín hiệu là bài toán cần thiết trong xử lý tín hiệu âm thanh vì nó mang thông tin có ý nghĩa vật lý đặc trưng cho tín hiệu tuần hoàn. Bài báo cáo này thực hiện việc cài đặt thuật toán tìm tần số cơ bản của tín hiệu tiếng nói trên miền thời gian và miền tần số. Để làm trơn đường tần số cơ bản thu được chúng tôi xử dụng thuật toán lọc trung vị .

Báo cáo tập lớn mơn học Xử lý tín hiệu số, tháng 11/2018 TÌM TẦN SỐ BẢN CỦA TIẾNG NÓI Trần Văn Dƣơng, Lê Văn Anh, Nguyễn Đức Hồng, Nguyễn Hồng Phúc Nhóm 4, lớp 16TCLC2 Điểm Bảng phân chia nhiệm vụ Nguyễn Đức Hoàng Trần Văn Dương (Nhóm trưởng) Lê Văn Anh Nguyễn Hồng Phúc Chữ ký SV Tìm hiểu viết báo cáo việc kết hợp với median smoothing (lọc trung vị) để làm trơn kết tính F0 thu (Phần II.A, III.A) Tìm hiểu, cài đặt viết báo cáo thuật toán tự động tính F0 miền thời gian dùng hàm tự tương quan (Phần II.B, III B IV.A) Tìm hiểu, cài đặt viết báo cáo tính F0 miền tần số (Phần II.C, III.C IV.B) Khảo sát ảnh hưởng dùng hàm cửa sổ tính số điểm FFT phân tích phổ (Phần II.D, III.D) Lời cam đoan: Chúng tơi, gồm sinh viên chữ ký trên, cam đoan báo cáo tự viết dựa tài liệu tham khảo ghi rõ phần VII Các số liệu thực nghiệm mã nguồn chương trình khơng dẫn nguồn tham khảo tự làm Nếu vi phạm chúng tơi xin chịu trách nhiệm tuân theo xử lý giáo viên hướng dẫn TÓM TẮT— Tìm tần số tín hiệu tốn cần thiết xử lý tín hiệu âm mang thơng tin ý nghĩa vật lý đặc trưng cho tín hiệu tuần hồn Bài báo cáo thực việc cài đặt thuật tốn tìm tần số tín hiệu tiếng nói miền thời gian miền tần số Để làm trơn đường tần số thu xử dụng thuật tốn lọc trung vị Từ khóa— tần số tiếng nói, miền tần số, miền thời gian, hàm tự tương quan, lọc trung vị, phân tích phổ Nhóm 4, lớp: 16TCLC2 Mục lục I ĐẶT VẤN ĐỀ II LÝ THUYẾT XỬ LÍ TÍN HIỆU TIẾNG NĨI VÀ CÁC THUẬT TỐN A Thuật tốn lọc trung vị để làm trơn F0 thu được: sở lý thuyết: Các tham số lọc trung vị 3 Vấn đề phát sinh: B Thuật tốn tính tần số miền thời gian sử dụng hàm tự tương quan: Giới thiệu hàm tự tương quan: đồ thuật toán: C Thuật tốn tính tần số miền tần số: D Khảo sát ảnh hưởng dùng hàm cửa sổ tính số điểm FFT phân tích phổ: III CÀI ĐẶT CÁC THUẬT TOÁN A Thuật toán lọc trung vị để làm trơn F0 B Thuật toán tính tần số miền thời gian sử dụng hàm tự tương quan Định nghĩa hàm tự code: Phần thuật tốn (Main.m): C Thuật tốn tính tần số miền thời gian sử dụng hàm tự tương quan D Khảo sát ảnh hưởng dùng hàm cửa sổ tính số điểm FFT phân tích phổ: IV KẾT QUẢ THỰC NGHIỆM A Tìm tần số miền thời gian: Yếu tố ảnh hưởng đến thuật toán mức độ ảnh hưởng: Kết tường hợp tốt nhất, trung bình xấu (có lọc trung vị) 10 Sai số thuật toán: 11 B Thuật tốn tính tần số miền tần số 13 V KẾT LUẬN 13 VI NHỮNG ĐIỀU ĐÃ HỌC ĐƯỢC 13 VII TÀI LIỆU THAM KHẢO 13 Trần Văn Dương, Lê Văn Anh, Nguyễn Đức Hoàng, Nguyễn Hoàng Phúc I ĐẶT VẤN ĐỀ Tần số (còn gọi F0 cao độ) tín hiệu tuần hồn nghịch đảo chu kỳ tín hiệu [1] Chu kỳ xác định khoảng thời gian ngắn mà tín hiệu lặp lại miền thời gian Thuật tốn tìm cao độ tín hiệu dùng hàm tự tương quan thuật tốn thơng dụng, sử dụng miền thời gian để tìm chu kỳ tín hiệu [1] Thuật tốn tìm giá trị lớn hàm tự tương quan mẫu tín xác định, từ suy tần số cần tìm Trong thuật tốn trên, Chúng tơi dùng hàm nội suy cubic spline để tìm điểm giá trị lớn Điểm độ trễ khơng phải số ngun nên tăng độ xác thuật tốn Bài báo bố cục sau Phần II trình bày sở lí thuyết thuật tốn Phần III cài đặt thuật tốn Phần IV trình bày kết thực nghiệm thuật toán Phần V kết luận Phần VI trình bày học Và cuối phần VII tài liệu kham khảo II LÝ THUYẾT XỬ LÍ TÍN HIỆU TIẾNG NĨI VÀ CÁC THUẬT TỐN Xử lý tiếng nói nghiên cứu tiếng nói người dạng tín hiệu, phương pháp xử lý tín hiệu Tín hiệu tiếng nói thường thể dạng số, tức “số hóa”, đó, xử lý tiếng nói coi giao “xử lý tín hiệu số” “xử lý ngơn ngữ tự nhiên” [2] A Thuật tốn lọc trung vị để làm trơn F0 thu được: sở lý thuyết: Median Filter lọc phi tuyến, thường sử dụng để loại bỏ nhiễu , làm trơn tín hiệu Ý tưởng xếp giá trị tín hiệu mảng lọc theo thứ tự tăng giảm dần so với trung vị Kích thước cửa sổ lọc chọn cho số giá trị tín hiệu cửa sổ lẻ [3] Hình Cách thức hoạt động lọc trung vị Giả sử A = {a1, a2, a3,… ,ak} giá trị tín hiệu cửa sổ lân cận với a1< a2 < … Median(A) = Các tham số lọc trung vị y = medfilt1(x,n) áp dụng lọc trung gian bậc n cho tín hiệu vào x n: bậc lọc số nguyên  Khi n lẻ y(k) số trung vị x(k-(n-1)/2):k+(n-1)/2)  Khi n chẳn y(k) số trung vị x(k-n/2:k+(n/2)-1) Vấn đề phát sinh: Tín hiệu khơng ổn định dẫn đến hàm lọc xử lý không tốt B Thuật tốn tính tần số miền thời gian sử dụng hàm tự tương quan: Giới thiệu hàm tự tương quan: Hàm tự tương quan thường sử dụng cơng cụ để xác định tính chu kỳ tín hiệu sở cho nhiều phương pháp phân tích phổ khác Hàm tự tương quan định nghĩa tương tự hàm tự tương quan thông thường Hàm tự tương quan tín hiệu rời rạc định nghĩa sau ( ) ∑ ( ) Nhóm 4, lớp: 16TCLC2 Trong xj tín hiệu thời điểm j, t, W độ dài cửa sổ tín hiệ t (𝜏) hàm tự tương quan với độ trễ (lag) 𝜏 tính thời điểm Hình Hàm tự tương quan tín hiệu Nếu tín hiệu tuần hồn hàm tự tương quan cho đỉnh thời điểm bội số chu kỳ tín hiệu Chọn đỉnh cao hàm tự tương quan cách xét hết toàn giá trị độ trễ 𝜏 > 0, ta gọi 𝜏max Vì với tín hiệu tiếng nói tần số lẫn nam nữ nằm khoảng từ 80 Hz đến 400 Hz nên giới hạn độ trễ từ đến Hình Xác định 𝜏max Ta cơng thức tính tần số tín hiệu: đồ thuật tốn: Tín hiệu đầu vào ↓ Bước 1: Tách vùng tín hiệu theo biên độ ↓ Bước 2: Phân tích tín hiệu thành khung, khung 30 ms ↓ Bước 3: Tính tốn hàm tự tương quan với khung tín hiệu ↓ Bước 4: Tìm cực đại hàm tự tương quan, suy F0 tính ứng với khung tín hiệu ↓ Đường F0 Hình đồ thuật tốn tính tần số miền thời gian Trần Văn Dương, Lê Văn Anh, Nguyễn Đức Hồng, Nguyễn Hồng Phúc C Thuật tốn tính tần số miền tần số: D Khảo sát ảnh hưởng dùng hàm cửa sổ tính số điểm FFT phân tích phổ: III CÀI ĐẶT CÁC THUẬT TỐN A Thuật tốn lọc trung vị để làm trơn F0 y = audioread('D:\HocTap\XLTHS\TaiLieu\forStudents\BaiTH\sample.wav'); yMedFilt = medfilt1(y,11);%áp dụng lọc trung vị cho tín hieu vào x clf;hold on figure(1); plot(yMedFilt); figure(2); plot(y); figure(3); clf;hold on; plot(y); plot(yMedFilt); legend('original signal','median filter'); Hình Kết lọc trung vị B Thuật tốn tính tần số miền thời gian sử dụng hàm tự tương quan Định nghĩa hàm tự code: a) Hàm audioread2: function [y,t,Fs] = audioread2(file) % doc tin hieu doc vao tu file tra ve tham so y, t, Fs % % [y,t,Fs] = audioread2(file) % y: tin hieu sau doc file % t: truc thoi gian % Fs: tan so lay mau % [y,Fs] = audioread(file); % doc tin hieu doc vao tu file max_value = max(abs(y)); % tim bien lon nhat cua tin hieu y y = y/max_value; % quy bien cua tin hieu cao nhat ve t = 1/Fs:1/Fs:(length(y)/Fs); % thoi gian cua y Nhóm 4, lớp: 16TCLC2 end b) Hàm TachVungTinHieuTheoBienDo: function [Y_TuanHoan, t_TuanHoan] = TachVungTinHieuTheoBienDo(y,t,A) % tra ve vung tin hieu tuan hoan % -% Y_TuanHoan = tin hieu vung tuan hoan % t_TuanHoan = truc thoi gian cua tin Y_TuanHoan % y = tin hieu dau vao % t = truc thoi gian cua y % A = bien de xac dinh vung tuan hoan % dodai = length(y); % xac dinh so diem y dau = 1; cuoi = dodai; % xac dinh vi tri dau cua vung tuan hoan for i = 1:dodai if abs(y(i))>A dau = i; break; end end % % xac dinh vi tri cuoi cua vung tuan hoan for i = dodai:-1:1 if abs(y(i))>A cuoi = i; break; end end % Y_TuanHoan = y(dau:cuoi); % cat vung tuan hoan gan cho Y_TuanHoan t_TuanHoan = t(dau:cuoi); % cat vung tuan hoan gan cho t_TuanHoan end c) Hàm TachThanhCacKhungTinHieu: function [y,t,SoKhung] = TachThanhCacKhungTinHieu(y0,t0,Fs) % ham tra ve tat cac khung tin hieu 30ms, voi cac khung dan xen % -% [y,t,SoKhung] = TachThanhCacKhungTinHieu(y0,t0,Fs) % y = ma tran MxN, voi M: so diem tung khung tin hieu 30ms, N: so khung % t = ma tran NxM, tuong ung la truc thoi gian cua tung khung 30ms % y0 = tin hieu dau vao % t0 = truc thoi gian cua y0 % Fs = tan so lay mau cua y0 % SoDiemTrong1Khung = floor(0.03*Fs); % so diem khung tin hieu 30ms L = length(y0); % xac dinh dai cua y0; y = []; % khoi tao ma tran rong (0x0) t = []; % khoi tao ma tran rong (0x0) a = 1; b = SoDiemTrong1Khung; % xac dinh vi tri dau va cuoi cua khung tin hieu 30ms dau tien while b

Ngày đăng: 06/12/2018, 16:35

Từ khóa liên quan

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

Tài liệu liên quan