1. Trang chủ
  2. » Công Nghệ Thông Tin

Demo Matlab-Audio potx

23 620 17
Tài liệu đã được kiểm tra trùng lặp

Đ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 23
Dung lượng 185,02 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• Đọc ghi file audio wav.• Hiển thị sóng • Một số thao tác với phần hiển thị sóng • Chuyển đổi sáng miền tần số DCT, DFT... Đọc file wav Để đọc/load một file audio .wav dùng hàm wavread

Trang 1

Hướng dẫn

thực hành

Bộ môn Khoa học máy tính Khoa Công nghệ thông tin

Trang 2

• Đọc ghi file audio (wav).

• Hiển thị sóng

• Một số thao tác với phần hiển thị sóng

• Chuyển đổi sáng miền tần số DCT, DFT.

Nội dung

Trang 3

Đọc file wav

 Để đọc/load một file audio (.wav) dùng hàm wavread với cú pháp như sau:

y = wavread(filename)

[y, Fs, nbits] = wavread(filename)

[y, Fs, nbits, opts] = wavread(filename)

◦ y: dữ liệu các sample của file wav

◦ Fs : sample rate (Hz)

◦ nbits: số lượng bit trên 1 sample

◦ opts: 1 cấu trúc lưu những thông tin khác của file wav

Trang 4

Đọc file wav

 Ví dụ:

Fs nbits

Trang 5

Đọc file wav

size = wavread(filename, 'size')

siz = [samples channels]

Trang 6

Lấy thông tin khác của file wav

[m d] = wavfinfo(filename)

◦ m : chuỗi cho biết có phải đây là file wav hay không

◦ d: thông tin về số lượng sample và số channel của file

Trang 7

Ví dụ đọc và play file wav

// hfile lưu đường dẫn đến file wav

hfile = 'H:\Vi toi la chang ngoc.wav';

// đọc file wav

[y, Fs, nbits, readinfo] = wavread( hfile );

// play file wav

p = audioplayer(y, Fs);

play(p);

// stop file wave

stop(p);

Trang 8

ghi file wav

 Để ghi/lưu một file audio (.wav) dùng hàm wavwrite có cú pháp như sau:

wavwrite(y,filename)

wavwrite(y,Fs,filename)

wavwrite(y,Fs,N,filename)

Trang 9

Ví dụ ghi file wav

// đường dẫn đến file wav

hfile = 'H:\Vi toi la chang ngoc.wav';

// đọc file wave

[y, Fs, nbits, readinfo] = wavread(hfile);

// đường dẫn file wav lưu

hfile1 = 'H:\Vi toi la chang ngoc1.wav';

// ghi file wave

wavwrite(y, Fs, hfile1)

Trang 11

Một số thao tác khi hiển thị sóng

sAndDataBrushing.html

Trang 12

Chuyển đổi sang miền tần số DCT

 Để chuyển tín hiệu một chiều sang miền tần số DCT, dùng hàm dct với cú pháp như sau:

Trang 13

Chuyển đổi sang miền tần số DCT

 Để biến đổi ngược lại từ miền DCT, dùng hàm idct với cú pháp như sau:

y = idct(u)

◦ u : tín hiệu trong miền dct

◦ y : kết quả trả về của biến đổi dct ngược

 Ví dụ:

// biến đổi dct ngược

arec0 = idct(y0);

figure,plot(abs(arec0)),title('abs(IDCT)');

Trang 14

Chuyển đổi sang miền tần số DCT

 Để chuyển tín hiệu 2-chiều sang miền tần số DCT, dùng hàm dct2 với cú pháp như sau:

RGB = imread('Love friend.jpg');

I = rgb2gray(RGB); // chuyển ảnh màu sang gray

J = dct2(I); // biến đổi dct2

// hiển thị log của abs(J)

imshow(log(abs(J)),[]), colormap(jet(64)), colorbar

Trang 15

Chuyển đổi sang miền tần số DCT

 Để biến đổi ngược lại từ DCT, dùng hàm idct2 với cú pháp như sau:

y = idct2(u)

◦ u : tín hiệu 2-chiều từ miền dct

◦ y : kết quả biến đổi dct ngược trả về

 Ví dụ: (tiếp ví dụ trước)

K = idct2(J); // biến đổi dct2 ngược

figure,imshow(I) // hiển thị ảnh I

figure, imshow(K,[0 255]) // hiển thị ảnh biến đổi ngược lại

Trang 16

Chuyển đổi sang miền tần số

 Chuyển tín hiệu 1 chiều sang miền tần số fourier rời rạc (DFT), dùng hàm fft với cú pháp như

sau:

y = fft(u)

◦ u : vector cần chuyển sang DFT

◦ y: kết quả biến đổi DFT

Trang 17

Chuyển đổi sang miền tần số

 Để biến đổi ngược lại từ miền tần số fourier rời rac (DFT), dùng hàm ifft với cú pháp như sau:

y = ifft(u)

◦ u : vector biểu diễn giá trị ở miền DFT

◦ y: kết quả biến đổi DFT ngược

 Ví dụ: (tiếp ví dụ trước)

// biến đổi ifft ngược

arec0 = ifft(y0);

figure,plot(abs(arec0)),title('abs(IDFT)');

Trang 18

Chuyển đổi sang miền tần số

 Chuyển tín hiệu 2 chiều sang miền tần số fourier rời rac (DFT), dùng hàm fft2 với cú pháp như

sau:

y = fft2(u)

◦ u : tín hiệu 2 chiều cần chuyển sang DFT

◦ y: kết quả biến đổi DFT

Trang 19

Chuyển đổi sang miền tần số

 Để biến đổi ngược lại từ miền tần số fourier rời rạc (DFT), dùng hàm ifft2 với cú pháp như sau:

y = ifft2(u)

◦ u : tín hiệu 2 chiều ở miền DFT

◦ y: kết quả biến đổi DFT ngược

 Ví dụ: (tiếp ví dụ trước)

// biến đổi fft2 ngược

arec0 = ifft2(y0);

Ngày đăng: 26/06/2014, 23:21

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w