Đề tài: Mã hóa, truyền và giải mã tín hiệu âm thanh thời gian thực trên Matlab
Số trang: 13
Loại file: docx
Dung lượng: 257.91 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Ngày nay,cùng với sự phát triển của ngành công nghệ vi điện tử và máy tính thì ứng dụng củaXỬ LÝ SỐ TÍN HIỆU(Digital Signal Processing ) đã trở thành một trong những ứng dụng cơbản và phổ biến cho kỹ thuật mạch tích hợp hiện đại váo các vi xử lý có thể lập trình và hoạtđộng ở tốc dọ cao.Xử lý tín hiệu số có hai mảng chính đó là xử lý tín hiệu âm thanh và xử lý ảnh.trong đó xử lýâm thanh được phổ biến trong cuộc sống hiện đại rất phổ biến.những ứng dụng có...
Nội dung trích xuất từ tài liệu:
Đề tài: Mã hóa, truyền và giải mã tín hiệu âm thanh thời gian thực trên Matlab TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG BÁO CÁO BÀI TẬP LỚN MÔN XỬ LÝ SỐ TÍN HIỆUĐề tài: Mã hóa, truyền và giải mã tín hiệu âm thanh thời gian thực trên MatlabSinh viên thực hiện: Phan Thu Trang 20109648 Đinh Văn Nhâm 20109345 Nguyễn Đức Minh 20109587 Giảng viên hướng dẫn : Thầy Dương Tấn Nghĩa Hà nội, 5-2013 I. Giới thiệu đề tài:Ngày nay,cùng với sự phát triển của ngành công nghệ vi điện tử và máy tính thì ứng dụng củaXỬ LÝ SỐ TÍN HIỆU(Digital Signal Processing ) đã trở thành một trong những ứng dụng c ơbản và phổ biến cho kỹ thuật mạch tích hợp hiện đại váo các vi xử lý có thể lập trình và hoạtđộng ở tốc dọ cao.Xử lý tín hiệu số có hai mảng chính đó là xử lý tín hiệu âm thanh và xử lý ảnh.trong đó xử lýâm thanh được phổ biến trong cuộc sống hiện đại rất phổ biến.những ứng dụng có thể kểtơi đó là:nhận diện giọng nói,biến văn bản thành giọng nói,xử lý âm thanh trong âm nhạc …Chính vì lý do đó nhóm em đã chọn đề tài cho bài tập lớn: Mã hóa, truyền và giải mã tínhiệu âm thanh thời gian thực Matlab.Nhóm em xin gửi lời cảm ơn đến thầy Dương Tấn Nghĩa đã trực tiếp hướng dẫn, giúp đỡchúng em hoàn thành bài báo cáo này.II. Nội dung bài tập lớn Đề tài: Mã hóa, truyền và giải mã tín hiệu âm thanh thời gian thực Matlab Sơ đồ khối của quá trình thực hiện: Tổng quan: Do tín hiệu âm thanh thu được trên máy tính đã được lấy mẫu với chu kỳ lấy mẫu cho trướcnên ta bỏ qua khối lấy mẫu. Tín hiệu sau khi lượng tử hóa được các chỉ số Index và Quant_out. Mã hóa các Index bằngbộ mã hóa Integer to Bit Converter, sau đó cho các bít nhị phân đi qua bộ mã hóa bằng mã chập(Convolutional Encoder) với tốc độ R = ½ nghĩa là số bít ra gấp 2 lần số bit đầu vào. Tiếp tụcđiều chế QPSK tín hiệu trước khi đưa lên kênh truyền cộng nhiễu AWGN Channel. Thựchiện giả mã lần lượt QPSK, mã chập, mã nhị phân là lượng tử hóa ta sẽ được tín hiệu tínhiệu có được tín hiệu bên thu. Sử dụng các lệnh sau để đọc vào 1 file âm thanh wav:[filename,pathname]=uigetfile(*.wav);[signal Srate nBits] = wavread([pathname,filename]);signal là một ma trận lưu dữ liệu âm thanh; nếu wav-file là mono thì signal là vector cột, cònstereo thì nó là ma trận có 2 cột.Srate là tốc độ lấy mẫu của file này.nBits là số bit dùng để lưu một mẫu dữ liệu.filename đưa vào là file road.wav đi kèm.Khảo sát tín hiệu đưa vào:Mp = max(signal);bits = 8;%Dùng 8 bit để mã hóa 1 mẫulevels = 2^bits;%So mau 8 bit mã hóa đượcstep_size = (2*Mp)/levels;%Bước nhảy cho mỗi khoảngcodebook = [-Mp+step_size:step_size:Mp]; % Số đại diện cho mỗi khoảng trong phần%partitionpartition = [-Mp+2*step_size:step_size:Mp] %Chia tín hiệu thành 256 khoảng %Chia tín hiệu thành các frame, mỗi frame có chứa 1024 mẫuframe = reshape(signal,1024,length(signal)/1024);%frame là một ma trận có 1024 hàng và length(signal)/1024 cộtk = length(signal)/1024;Khối 1:Nén tín hiệuTrong các ứng dụng xử lý tín hiệu thoại (speech processing), trước khi lượng tử hoá, người tathường thực hiện nén (compress) tín hiệu theo hàm logarithm, mục đích là để tín hiệu ở mứcbiên độ nhỏ sẽ thay đổi nhiều mức hơn so với ở các giá trị biên độ lớn, do đó sai số lượng tửtương đối ở các mức biên độ nhỏ và lớn sẽ không chênh lệch nhau nhiều như đối với trườnghợp không nén. Để khôi phục lại đúng tín hiệu ban đầu thì sau khi giải mã, ta phải đưa qua một bộ giãn tínhiệu (expander) có đặc tuyến truyền đạt là nghịch đảo của đặc tuyến của bộ nén(compressor). Sự kết hợp của bộ nén và bộ giãn tín hiệu gọi chung là bộ nén giãn tín hiệu (compander). Hai luật nén giãn thường được sửdụng trong xử lý tín hiệu thoại là luật μ dùng ở Bắc Mỹvà luật A dùng ở châu Âu:Luật µ : Theo các chuẩn ởBắc Mỹ, giá trịcủa μ là 255. Max x và Max y lần lượt là các giá trị dươnglớn nhất của x và y.Luật A: nếu với A là hắng sốGiá trịchuẩn của A là 87.6 MATLAB cung cấp hàm compand để thực hiện nén giãn tín hiệu. Hàm này hỗ trợ hai luậtnén giãn A và μ nói trên.>> out = compand(in, param, v, method)In là tín hiệu vào còn out là tín hiệu rav là biên độ đỉnh của tín hiệu vàoparam là thông số của luật nén giãn (hằng sốA hoặc μ)method có thể nhận một trong các giá trị sau:Code Matlab:function sig_comp = compressor(sig_t)%Nen tin hieu truoc khi dua vao khoi luong tu hoá%sig_t la tin hieu dua vao%Su dung nen theo luat A voi he so A = 86.7A = 87.6;V = max(sig_t);sig_comp = compand(sig_t,A,V,A/compressor);endKhối 2:Lượng tử hóa tín hiệu Lượng tử hoá là quá trình rời rạc hoá tín hiệu về mặt biên độ, cụ thể là thay thế tất cả cácgiá trị của tín hiệu nằm trong một khoảng xác định nào đó thành một giá trị duy nhất. Miềngiá trị của tín hiệu được chia thành một số hữu hạn các khoả ...
Nội dung trích xuất từ tài liệu:
Đề tài: Mã hóa, truyền và giải mã tín hiệu âm thanh thời gian thực trên Matlab TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG BÁO CÁO BÀI TẬP LỚN MÔN XỬ LÝ SỐ TÍN HIỆUĐề tài: Mã hóa, truyền và giải mã tín hiệu âm thanh thời gian thực trên MatlabSinh viên thực hiện: Phan Thu Trang 20109648 Đinh Văn Nhâm 20109345 Nguyễn Đức Minh 20109587 Giảng viên hướng dẫn : Thầy Dương Tấn Nghĩa Hà nội, 5-2013 I. Giới thiệu đề tài:Ngày nay,cùng với sự phát triển của ngành công nghệ vi điện tử và máy tính thì ứng dụng củaXỬ LÝ SỐ TÍN HIỆU(Digital Signal Processing ) đã trở thành một trong những ứng dụng c ơbản và phổ biến cho kỹ thuật mạch tích hợp hiện đại váo các vi xử lý có thể lập trình và hoạtđộng ở tốc dọ cao.Xử lý tín hiệu số có hai mảng chính đó là xử lý tín hiệu âm thanh và xử lý ảnh.trong đó xử lýâm thanh được phổ biến trong cuộc sống hiện đại rất phổ biến.những ứng dụng có thể kểtơi đó là:nhận diện giọng nói,biến văn bản thành giọng nói,xử lý âm thanh trong âm nhạc …Chính vì lý do đó nhóm em đã chọn đề tài cho bài tập lớn: Mã hóa, truyền và giải mã tínhiệu âm thanh thời gian thực Matlab.Nhóm em xin gửi lời cảm ơn đến thầy Dương Tấn Nghĩa đã trực tiếp hướng dẫn, giúp đỡchúng em hoàn thành bài báo cáo này.II. Nội dung bài tập lớn Đề tài: Mã hóa, truyền và giải mã tín hiệu âm thanh thời gian thực Matlab Sơ đồ khối của quá trình thực hiện: Tổng quan: Do tín hiệu âm thanh thu được trên máy tính đã được lấy mẫu với chu kỳ lấy mẫu cho trướcnên ta bỏ qua khối lấy mẫu. Tín hiệu sau khi lượng tử hóa được các chỉ số Index và Quant_out. Mã hóa các Index bằngbộ mã hóa Integer to Bit Converter, sau đó cho các bít nhị phân đi qua bộ mã hóa bằng mã chập(Convolutional Encoder) với tốc độ R = ½ nghĩa là số bít ra gấp 2 lần số bit đầu vào. Tiếp tụcđiều chế QPSK tín hiệu trước khi đưa lên kênh truyền cộng nhiễu AWGN Channel. Thựchiện giả mã lần lượt QPSK, mã chập, mã nhị phân là lượng tử hóa ta sẽ được tín hiệu tínhiệu có được tín hiệu bên thu. Sử dụng các lệnh sau để đọc vào 1 file âm thanh wav:[filename,pathname]=uigetfile(*.wav);[signal Srate nBits] = wavread([pathname,filename]);signal là một ma trận lưu dữ liệu âm thanh; nếu wav-file là mono thì signal là vector cột, cònstereo thì nó là ma trận có 2 cột.Srate là tốc độ lấy mẫu của file này.nBits là số bit dùng để lưu một mẫu dữ liệu.filename đưa vào là file road.wav đi kèm.Khảo sát tín hiệu đưa vào:Mp = max(signal);bits = 8;%Dùng 8 bit để mã hóa 1 mẫulevels = 2^bits;%So mau 8 bit mã hóa đượcstep_size = (2*Mp)/levels;%Bước nhảy cho mỗi khoảngcodebook = [-Mp+step_size:step_size:Mp]; % Số đại diện cho mỗi khoảng trong phần%partitionpartition = [-Mp+2*step_size:step_size:Mp] %Chia tín hiệu thành 256 khoảng %Chia tín hiệu thành các frame, mỗi frame có chứa 1024 mẫuframe = reshape(signal,1024,length(signal)/1024);%frame là một ma trận có 1024 hàng và length(signal)/1024 cộtk = length(signal)/1024;Khối 1:Nén tín hiệuTrong các ứng dụng xử lý tín hiệu thoại (speech processing), trước khi lượng tử hoá, người tathường thực hiện nén (compress) tín hiệu theo hàm logarithm, mục đích là để tín hiệu ở mứcbiên độ nhỏ sẽ thay đổi nhiều mức hơn so với ở các giá trị biên độ lớn, do đó sai số lượng tửtương đối ở các mức biên độ nhỏ và lớn sẽ không chênh lệch nhau nhiều như đối với trườnghợp không nén. Để khôi phục lại đúng tín hiệu ban đầu thì sau khi giải mã, ta phải đưa qua một bộ giãn tínhiệu (expander) có đặc tuyến truyền đạt là nghịch đảo của đặc tuyến của bộ nén(compressor). Sự kết hợp của bộ nén và bộ giãn tín hiệu gọi chung là bộ nén giãn tín hiệu (compander). Hai luật nén giãn thường được sửdụng trong xử lý tín hiệu thoại là luật μ dùng ở Bắc Mỹvà luật A dùng ở châu Âu:Luật µ : Theo các chuẩn ởBắc Mỹ, giá trịcủa μ là 255. Max x và Max y lần lượt là các giá trị dươnglớn nhất của x và y.Luật A: nếu với A là hắng sốGiá trịchuẩn của A là 87.6 MATLAB cung cấp hàm compand để thực hiện nén giãn tín hiệu. Hàm này hỗ trợ hai luậtnén giãn A và μ nói trên.>> out = compand(in, param, v, method)In là tín hiệu vào còn out là tín hiệu rav là biên độ đỉnh của tín hiệu vàoparam là thông số của luật nén giãn (hằng sốA hoặc μ)method có thể nhận một trong các giá trị sau:Code Matlab:function sig_comp = compressor(sig_t)%Nen tin hieu truoc khi dua vao khoi luong tu hoá%sig_t la tin hieu dua vao%Su dung nen theo luat A voi he so A = 86.7A = 87.6;V = max(sig_t);sig_comp = compand(sig_t,A,V,A/compressor);endKhối 2:Lượng tử hóa tín hiệu Lượng tử hoá là quá trình rời rạc hoá tín hiệu về mặt biên độ, cụ thể là thay thế tất cả cácgiá trị của tín hiệu nằm trong một khoảng xác định nào đó thành một giá trị duy nhất. Miềngiá trị của tín hiệu được chia thành một số hữu hạn các khoả ...
Tìm kiếm theo từ khóa liên quan:
Mã hóa truyền giải tín hiệu mã tín hiệu âm thanh Matlab xử lý số tín hiệu điện tử viễn thôngGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Trí tuệ nhân tạo
12 trang 417 0 0 -
10 trang 303 0 0
-
Đề cương chi tiết học phần Vi xử lý
12 trang 280 0 0 -
Đồ án: Kỹ thuật xử lý ảnh sử dụng biến đổi Wavelet
41 trang 214 0 0 -
79 trang 209 0 0
-
91 trang 183 0 0
-
32 trang 160 0 0
-
Giáo trình Xử lý số tín hiệu - PGS.TS. Nguyễn Quốc Trung (chủ biên)
153 trang 159 0 0 -
Tìm hiểu chương trình đào tạo ngành Điện tử - Viễn thông hệ đại học: Phần 2
174 trang 152 0 0 -
Đề cương chi tiết học phần Thực tập Kỹ thuật truyền hình
16 trang 152 0 0