HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA KỸ THUẬT ĐIỆN TỬ II BÁO CÁO MÔN HỌC XỬ LÝ TIẾNG NÓI NIÊN KHÓA 2017 – 2022 Giáo viên hướng dẫn ThS HỒ NHỰT MINH TP HCM – T.
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH
KHOA KỸ THUẬT ĐIỆN TỬ II
BÁO CÁO MÔN HỌC
XỬ LÝ TIẾNG NÓI
NIÊN KHÓA: 2017 – 2022
Giáo viên hướng dẫn : ThS HỒ NHỰT MINH
TP.HCM – Tháng 12 năm 2020
Trang 2MỤC LỤC
MỤC LỤC 2PHẦN 1: BÀI TẬP 3PHẦN 2: PROJECT 15
PHẦN 1: BÀI TẬP
Trang 31.Trong các cặp âm điệu đưới đây âm điệu nào được xem là to hơn.
2 Tần số pitch (in Mels) nhận được của các âm điệu dưới đây là bao nhiêu
Ta áp dụng công thức chuyển đổi sau:
a Nếu tín hiệu đầu vào có dạng x1[n] = cos(ω0n), -∞< n <∞ xác định phổ
đầu ra Y1(ejω), và vẽ đồ thị biên độ của Y1(ejω) (giả sử ω0 << ωs, tần số lấy
mẫu theo rad của hệ thống số)
Trang 4b Nếu tín hiệu đầu vào có dạng x2 (n) = rncos( ω0n)u(n), | r |<1, vẽ biên độ
của tín hiệu đầu ra Y2( ⅇjω) (giả sử ω0<< ωs) và giả sử ω0= 2π.500, r = 0.9 và Fs = 10000Hz.
y(n) = r3 n(cos( ω0n ¿ ¿ ¿3u(n)
Y2( ⅇjω) = Y( r3 ncos(3 ω0n)/4)( ⅇjω) + Y( r3 n 3cos( ω0n)/4)( ⅇjω)
Trang 5b Tìm hàm đáp ứng xung ngẫu nhiên của hệ thống
Đáp ứng xung ngẫu nhiên của hệ thống là :
Trang 66 Việc tính toán năng lượng ngắn hạn thông qua biểu thức sau
Trang 77 Hàm nào dưới đây không phải là hàm tự tương quan? Tại sao?
Trang 9Xem k như là 1 biến liên tục thì :
Trang 10m → ∞ lim ¿ (sin(2 ω0𝑚-𝑘 ω0)+2 ω0𝑚 cos(𝑘 ω0))/4 ω0
- m →−∞lim ¿ (sin(2 ω0𝑚-𝑘 ω0)+2 ω0𝑚 cos(𝑘 ω0))/4 ω0
Tích phân phân kỳ
Vậy ta sẽ không vẽ được phổ chính xác của tín hiệu.
c Tìm và biểu diễn hàm tự tương quan của tín hiệu:
Trang 11/ [1-1/3cos(𝜔) + 1/36 cos2(𝜔) + 1/36 sin2 (𝜔)]
Trang 13b Giả sử thời tiết ngày đầu tiên là nắng, tìm xác suất để thời tiết cho 7 ngày
tiếp theo là “nắng-nắng-mưa-mưa-nắng-mây-nắng
P nắng-nắng = 0.4
P nắng-mưa = 0.3
P mưa-mưa = 0.6
P mưa-nắng = 0.2
Trang 14P nắng-mây = 0.3
P mây-nắng = 0.1
Xác suất để 7 ngày tiếp theo nắng-nắng-mưa-mưa-nắng-mây-nắng là P7:
P7 = 0.4x0.4x0.3x0.6x0.2x0.3x0.1= 27/156250
c Giả sử mô hình có một trạng thái xác định, tìm xác suất để thời tiết vẫn ở
trạng thái đó trong vòng d ngày.
Gọi Pi là xác xuất giữ 1 trạng thái thời tiết trong d ngày pn xác xuất của
thời tiết đó được lặp lại vào ngày hôm sau ta có :
Pi = (pn ¿d
12 Xem xét một mô hình Markov ẩn (mô hình λ) của bài toán tung đồng xu.) của bài toán tung đồng xu Giả sử một mô hình 3 trạng thái (tương ứng 3 đồng xu khác nhau) với các xác suất:
Và xác suất chuyển bằng nhau bằng 1/3
(Giả sử xác suất trạng thái đầu tiên là 1/3 )
a Quan sát chuỗi sự kiện O=HHHHTHTTT Chuỗi sự kiện trên tương đương với chuỗi trạng thái nào nhất? Xác suất của chuỗi sự kiện quan sát và chuỗi
trạng thái này là bao nhiêu?
Xác suất của chuổi sự kiện trên là 1/ 29 = 1/512
Xác xuất của chuổi sự kiện trên gần với chuổi trạng thái S2S2S2S2S3S2S3S3S3 PTrạng thái = (0.75)9*(1/3 ¿8 = 3/262144
b Xác suất của chuỗi sự kiện quan sát trên mà tất cả các trạng thái đều là S1
Xác suất của chuổi sự kiện trên là 1/ 29 = 1/512
Xác xuất của chuổi sự kiện trên gần với chuổi trạng thái S2S2S2S2S3S2S3S3S3 PTrạng thái = 0.759 *0.1*0.1*0.1*0.45*0.45*0.45*0.1*0.1 = 6.84x1 0−8
Trang 15PHẦN 2: PROJECT BÀI 1:
Đọc ra một file tiếng nói và bộ lọc tín hiệu tiếng nói với bằng tần 5.5 kHZ, 4kHZ và 3.2kHz Lắng nghe mỗi file tiếng nói sau khi được lọc và mô tả ảnh hưởng của việc lọc thông thấp dối với chất lượng và tính dễ hiểu của tiếng nói.
Yêu cầu: Tự thiết kế các bộ lọc số với tốc độ lấy mẫu chính xác dể thực hiện việc này.
Bài làm Với Matlab, biến đổi FFT với tín hiệu liên tục (miền thời gian) không chính xác Những khác biệt giữa FFT rời rạc trong máy tính và FFT liên tục là: dải tần số hữu hạn và các tần số mẫu rời rạc.
Độ mịn của dãy tần số sau khi biến đổi FFT sẽ được phụ thuộc vào tần số lấy mẫu của tín hiệu Tần số lấy mẫu càng lớn thì phổ càng mịn.
[x,fs]=audioread('Ex2.wav'); %doc dinh dang file wav
X=fft(x); %bien doi Fourier khong nam o trung tam
N=length(x); %Xac dinh kich thuoc cua x
a = 5400; %tan so cat
w1 = (-N/2+1:(N/2)); % Vector tan so trung tam
w = w1.*fs/N; % LAY MOT TAN SO MAU
Hshift = fftshift(H); %H khong nam o trung tam
Y = X *Hshift' ; % loc tin hieu
y = real(ifft(Y));
%sound(x,fs);% am thanh goc
sound(y,fs); % am thanh sau khi qua bo loc thong thap
subplot(2,1,1);%vi tri ve
plot(w,abs(fftshift(X))) % abs lay bien do cua so phuc, dich tan so ve trungtam
title('Tin hieu ban dau'); %ten tieu de do thi
subplot(2,1,2);%vi tri ve
plot(w,abs(fftshift(Y)))
title('Tin hieu loc') %ten tieu de do thi
Trang 16Tín hiệu vào: x; các tần số cắt của bộ lọc: a.
Tìm H(W) – trong miền tần số
Ở dòng: Y = X * Hshift – ta phải chú ý xem kích thước của hai vector có bằng nhau hay không
Đầu ra của hệ thống ở miền tần số Dùng FFT ngược để chuyển về miên thời gian – ifft(x);
=> Với bộ lọc thông thấp, tín hiệu phổ ra có biên độ giảm, mạch lọc chọn các tín hiệu có tần số thấp,
âm nghe êm tai
Ta lấy ví dụ đọan code trên, ở file “Ex2.wav”; tần số lấy mẫu là Fs = 44100 Có nghĩa là dãy tần số là [-21500 21500] Hz Độ phân giải tần số phụ thuộc vào độ dài của tín hiệu ( = length(x); )
- Lệnh fft(x) sẽ lấy ra những tần số không thuộc ở trung tâm.
Sau đây, ta sẽ tìm hiểu tiếp về bộ lọc thông thấp:
- Dùng để lọc bỏ những dữ liệu không cần thiết, giữ lại tần số mong muốn.
- Bộ lọc thông thấp hoạt động: 0 Hz -> tần số cắt, các tín hiệu tần số cao sẽ bị lược bỏ.
Trang 17Bộ lọc thông thấp lý tưởng – loại bỏ hoàn toàn các tần số cao
Bộ lọc thông thấp thực tế - có giá trị thấp != 0.
H(W) có tần số cao, giảm dần khi tần
số tăng (ít hiệu quả nhất)
Bộ lọc thông thấp dùng biến đổi FFT (ta dùng cái này ở Matlab)
Phép nhân trong miền tần số phép chập trong miền thời gian.
Nếu có cả hai tín hiệu và bộ lọc ở miền tần số thì ta có thể nhân lại để tìm đầu ra của chúng.
Trang 18BÀI 2:
Với cùng một nội dung thông tin, các thành viên trong nhóm lần lượt phát âm một bản tin ngắn và ghi âm Lưu kết quả ở dạng *.wax Xác định tần số cơ bản, tần số Formant đầu tiên của mỗi thành viên Lập bản đồ phân bố của các nguyên âm trong tiếng Việt.
trng = t(t>=2e-3 & t<=10e-3);
crng = c(t>=2e-3 & t<=10e-3);
% su dung bo loc du doan tuyen tinh
ncoeff=2+fs/1000; %Cong thuc tinh formant
Trang 19legend('LP Filter');
xlabel('Frequency (Hz)');
ylabel('Gain (dB)');
% Tim tan so bang roots
r=roots(a); % Tim nghiem nguyen
r=r(imag(r)>0.01); % chi tim >0Hz up to fs/2
ffreq=sort(atan2(imag(r),real(r))*fs/(2*pi));
%chuyen doi tan so va sap xep
fprintf('Formant %d Frequency %.1f\n',1,ffreq(1));
Trang 20% tinh toan cepstrum phuc v‡ thuc cua c·c tin hieu
xhat1=cceps(x1,NFFT); %cepstrum phuc cua tin hieu 1
rhat1=rceps(x1); %cepstrum thuc cua tin hieu 1
xhat2=cceps(x2,NFFT); %cepstrum phuc cua tin hieu 2
rhat2=rceps(x2); %cepstrum thuc cua tin hieu 2
xhat3=cceps(x3,NFFT); %cepstrum phuc cua tin hieu 3
rhat3=rceps(x3); %cepstrum thuc cua tin hieu 3
% ve dang song, cepstrum phuc, cepstrum thuc cua tin hieu 1
title('cepstrum thuc');
% ve dang song, cepstrum phuc, cepstrum thuc cua tin hieu 2
Trang 21plot(n2,rhat2);
title('cepstrum thuc');
% ve dang song, cepstrum phuc, cepstrum thuc cua tin hieu 3
Trang 23BÀI 6:
Sử dụng phương pháp tổng hợp trực tiếp đơn giản để xây dựng một hệ thống thông báo
số thứ tự khách hàng đến lượt phục vụ tại một điểm giao dich ngân hàng.