Chương I : Tín hiệu và hệ thống xử lý tín hiệu rời rạc theo thời gian1.1 Tín hiệu 1.Khái niệm: -Tín hiệu là một thực thể vật lý phụ thuộc vào thời gian, khoảng cách hoặc một số biến độ
Trang 1BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
Đề tài:
X¢Y DùNG øng dông xö lý ©m thanh sè
Giáo viên hướng dẫn :
Trang 2NỘI DUNG ĐỀ TÀI
1. Nghiên cứu về xử lý tín hiệu số
2. Tìm hiểu phép biến đổi Fourier và các thuật toán biến đổi Fourier
nhanh.
3. Nghiên cứu cấu trúc file Wave.
4. Phân tích và hiển thị phổ của các tín hiệu thông qua các loại cửa sổ
2
Trang 3Chương I : Tín hiệu và hệ thống xử lý tín hiệu rời rạc theo thời gian
1.1 Tín hiệu
1.Khái niệm:
-Tín hiệu là một thực thể vật lý phụ thuộc vào thời gian, khoảng cách hoặc một số biến độc lập khác Về mặt toán học, tín hiệu được mô tả như một hàm của một hoặc nhiều biến độc lập
2 Phân loại tín hiệu: Có nhiều cách phân loại tín hiệu
- Phân loại theo tính chất của biến độc lập thời gian (liên tục và rời rạc) + Tín hiệu liên tục theo thời gian là tín hiệu có biến độc lập (thời
Trang 4Chương I : Tín hiệu và hệ thống xử lý tín hiệu
rời rạc theo thời gian
1.2 Chuyển đổi từ tín hiệu tương tự sang tín hiệu số và ngược lại
Trang 5Chương II : Phõn tớch tớn hiệu và hệ thống
trong miền tần số
2.1 Phõn tớch tớn hiệu rời rạc trong miền tần số
Chuỗi Fourier của tớn hiệu tuần hoàn rời rạc
Nếu là dãy tuần hoàn với chu kỳ N, nghĩa là x(n)=x(n+N) với mọi N Biểu diễn của qua chuỗi Fourier có dạng:
Phổ mật độ công suất của tín hiệu tuần hoàn
Trang 6Chương III : Biến đổi Fourier rời rạc và cỏc
thuật toỏn biến đổi Fourier nhanh
3.1 Lấy mẫu trong miền tần số-biến đổi Fourier rời rạc
Xét một tín hiệu không tuần hoàn rời rạc theo thời gian x(n)
với biến đổi Fourier:
- Giả sử tín hiệu X( ) đ ợc lấy mẫu tuần hoàn và khoảng cách
giữa hai lần lấy mẫu liên tiếp là bằng nhau và bằng δω radian
Bởi vì X(ω) là tuần hoàn với chu kỳ 2 do vậy ta chỉ cần xét
đến các mẫu đ ợc lấy trong miền tần số cơ bản.(0≤ω≤2π)
- Nếu đánh giá tại ω=2πk/N, ta nhận đ ợc (đây chính là n mẫu nhận đ ợc của X(ω))
Trang 7Chương III : Biến đổi Fourier rời rạc và các
thuật toán biến đổi Fourier nhanh
Trang 8Chương III : Biến đổi Fourier rời rạc và cỏc
thuật toỏn biến đổi nhanh Fourier
Cho tín hiệu x(n) có độ dài hữu hạn 0 N-1 và DFT của nó là X(k)
Phép dịch vòng tín hiệu x(n) là phép dịch trong đó các mẫu ra
khỏi đoạn 0 N-1 sẽ quay vòng lại đầu kia
Trang 9Chương III : Biến đổi Fourier rời rạc và các
thuật toán biến đổi nhanh Fourier
3.3 Phân tích tín hiệu trong miền tần số bằng DFT
- Đối với tín hiệu tương tự khi phân tích cần truyền qua bộ lọc để loại bỏ nhiễu
- Lấy mẫu với tần số F s 2B (B là độ rộng dải thông)
- Để hạn chế độ dài của tín hiệu được lấy mẫu ta chỉ xét tín hiệu trong khoảng thời
gian hữu hạn T 0 = LT.
- Khoảng thời gian hữu hạn này sẽ hạn chế độ phân giải về tần số-hạn chế khả
năng phân biệt đối với các thành phần tần số mà khoảng cách giữa chúng nhỏ
hơn 1/T 0 = 1/LT trong miền tần số.
Trang 10Chương III : Biến đổi Fourier rời rạc và cỏc
thuật toỏn biến đổi nhanh Fourier
3.4 Tớnh toỏn cú hiệu quả của DFT: Cỏc thuật toỏn FFT
Phương phỏp tớnh trực tiếp của DFT:
Đối với dãy số phức x(n) với N điểm, công thức của DFT có thể đ ợc viết d
ớidạng:
Việc tính toán trực tiếp của (3.4.6) và (3.4.7) đòi hỏi:
1 2N 2 phép xác định giá trị các hàm l ợng giác.
2 4N 2phép nhân số thực.
3 4N(N-1) phép cộng số thực.
4 Một số phép toán lấy chỉ số và địa chỉ.
Đây là các phép toán đặc tr ng của các thuật toán tính bằng DFT Hầu hết các thuật toán FFT đều tối u hóa các quá trình tính toán này (đặc biệt là 2 và 3) theo nhiều cách khác nhau.
Trang 11Chương III : Biến đổi Fourier rời rạc và cỏc
thuật toỏn biến đổi nhanh Fourier
Phương phỏp chia nhỏ để tớnh DFT
- Ph ơng pháp này dựa trên cơ sở của việc phân tích DFT – N điểm thành các DFT có kích th ớc nhỏ hơn
và các thuật toán hiệu quả đ ợc thiết lập dựa trên ph ơng pháp này đều có tên gọi là các thuật toán FFT.
- Ph ơng pháp trên đ ợc thực hiện dựa trên ý t ởng phân tích độ dài hữu hạn n của x(n) thành tích của hai
thừa số nguyên khác nhau.
N = LM (3.4.8)
- Với cách phân tích nh (3.4.8) thì x(n) có thể đ ợc l u trữ trong mảng một chiều với chỉ số n
Trang 12Chương III : Biến đổi Fourier rời rạc và các
thuật toán biến đổi nhanh Fourier
12
- HoÆc trong m¶ng hai chiÒu víi c¸c chØ sè hµng lµ l, vµ chØ sè
cét lµ m
Trang 13Chương III : Biến đổi Fourier rời rạc và cỏc
thuật toỏn biến đổi nhanh Fourier
- Khi đ ợc l u trữ trong mảng hai chiều thì các phần tử của
x(n) có thể xem nh đ ợc chứa trong một mảng hình chữ nhật
theo hai cách: phân bố theo hàng và phân bố theo cột tuỳ
theo phép lấy ánh xạ từ chỉ số n vào chỉ số (l,m).
- Nếu ta chọn phép ánh xạ: N = Ml + m
(3.4.9)
thì phép lấy ánh xạ này sẽ dẫn đến việc phân bố các phần tử
của x(n) theo hàng, mỗi hàng chứa M phần tử nh đ ợc mô tả trên
hình sau:
Trang 14Chương III : Biến đổi Fourier rời rạc và các
thuật toán biến đổi nhanh Fourier
Trang 15- C¸ch ph©n bè t ¬ng tù nh trªn cã thÓ ® îc ¸p dông cho c¸c gi¸
Trang 16Các b ớc thực hiện DFT theo ph ơng pháp chia nhỏ đ ợc tổng kết lại bằng thuật toán sau:
Thuật toán 1:
1 L u trữ tín hiệu theo cột
2 Tính DFT – M điểm cuối với mỗi hàng
3 Nhân mảng kết quả nhận đ ợc với hệ số pha W N lq
4 Tính DFT – L điểm đối với mỗi cột
Trang 17Khi đó ta có thuật toán sau:
Thuật toán 2:
1 L u trữ tín hiệu theo hàng
2 Tính DFT – L điểm đối với mỗi cột
3 Nhân mảng kết quả nhận đ ợc với hệ số pha W N pm
4 Tính DFT – M điểm đối với mỗi hàng
5 Đọc mảng kết quả theo cột
Trang 18ThuËt to¸n FFT c¬ sè 2 ph©n chia
theo tÇn sè
- Mét líp c¸c gi¶i thuËt FFT kh¸c cã thÓ ® îc suy ra b»ng c¸ch
chia nhá chuçi ngâ ra x(k) thµnh c¸c chuçi con ngµy cµng nhá C¸c gi¶i thuËt nµy ® îc gäi lµ c¸c FFT ph©n chia theo tÇn sè
(decimation - infrequency)
- Gäi N lµ mét luü thõa cña 2, N = 2v. TÝnh to¸n riªng rÏ c¸c
mÉu cã chØ sè ch½n (mÉu ch½n) vµ c¸c mÉu cã chØ sè lÎ (mÉu lÎ) cña X(k)
+ C¸c mÉu ch½n lµ:
- T¸ch riªng tæng nµy thµnh N/2 ®iÓm ®Çu tiªn vµ N/2 ®iÓm sau cïng, vµ sö dông kÕt qu¶ WN2nk = WN/2nk, X(2k) trë thµnh:
18
Trang 19- Thay đổi việc định chỉ số trên tổng thứ hai ta có:
Do: WN/2(n+N/2)k = WN/2nk nên ta có
Thuật toán FFT cơ số 2 phân chia theo tần số
Trang 20L u đồ mô tả tầng thứ nhất của việc chia nhỏ này
đ ợc trình bày ở hình (4.6)
20
Trang 21- Việc chia nhỏ có thể đ ợc tiếp tục cho đến khi chỉ còn các
DFT 2 - điểm phân chia theo tần số
Thuật toán FFT cơ số 2 phân chia
theo tần số
Trang 22Thuật toán FFT cơ số 2 phân chia
theo tần số
- Thuật toán thực hiện việc lọc dữ liệu đ ợc lấy từ file dữ liệu Gọi
U(j) là dữ liệu đ ợc đọc từ vị trí thứ j trong file dữ liệu
B ớc 1: Nhập vào c , M
i=0
B ớc 2: cho j =1 đến N-1 nếu ch a hết file thì x(j) = u(iN+j);
phải kiểm tra điều kiện hết file, nếu độ dài file không phải là bội
của N (tức là có số d ) thì phần d phải đ ợc lấy bù dữ liệu (lấy thêm các bít 0 vào cuối của dãy vào) cho đủ N giá trị vào cửa sổ
i=i+1
B ớc3: Tính y(n) lần l ợt bằng sử dụng công thức
quay lại b ớc 2 cho đến hết file dữ liệu Nếu file dữ liệu lớn, đồng
nghĩa với việc chỉ số n quá lớn ta phải ghi các tín hiệu đã đ ợc lọc
Trang 23Chương IV : Phõn tớch và xõy dựng ứng
dụng hiển thị phổ của tớn hiệu
4.1 Phương phỏp xõy dựng và phõn tớch quỏ trỡnh hiển thị phổ
- Hầu hết các tín hiệu hay đ ợc sử dụng trên thực tế đều có
thể phân tích thành tổng của các tín hiệu thành phần hình sin
- Đối với các tín hiệu tuần hoàn thì kết quả của việc phân tích đ ợc gọi là chuỗi Fourier
- Các phân tích này đóng vai trò hết sức quan trọng trong việc phân tích hệ thống tuyến tính bất biến theo thời gian (LTI)
Trang 241 Phân tích phổ của các tín hiệu hình Sin,
vuông, sung.
Hàm cửa sổ:
- Một tín hiệu có độ dài hữu hạn N có thể đ ợc biểu diễn
hoàn toàn qua phép biến đổi Fourier rời rạc cho một tín hiệu
có độ dài vô hạn hoặc quá lớn
- Để nghiên cứu phổ của tín hiệu có độ dài vô hạn hoặc quá lớn bằng DFT, chúng ta chỉ có thể tính toán một cách xấp xỉ
bằng cách “chặt” lấy một đoạn thích hợp để xử lý
- Ta biết X(f) là một hàm tuần hoàn (với chu kỳ bằng 1), nên
nó có thể đ ợc khai triển thành chuỗi Fourier và x(n) chính là các
hệ số của khai triển Fourier của X(f)(về nguyên tắc số hệ số
này là vô hạn)
- Vấn đề hạn chế độ dài tín hiệu x(n) thì X(f) phải trơn và hội tụ, nghĩa là X(f) không có đột biến
Trang 26 Hàm cửa sổ:
- Với tín hiệu xN(n) ta có thể áp dụng DFT vì nó có độ dài hữu hạn Các hệ số XN(k) của DFT khi này sẽ biểu diễn gần đúng cho các mẫu của X(f)
- Vấn đề còn đ ợc đặt ra là số điểm N đ ợc chọn nh thế nào
và vị trí cửa sổ đ ợc đặt ở đâu (tức là tìm n0) cũng nh mức
độ ảnh h ởng của hàm cửa sổ
- Nói chung, nguyên tắc chọn n0 (tức là chọn vị trí cửa sổ) sao cho cửa sổ bao trùm lên phần quan trọng của tín hiệu và bỏ qua những chỗ tín hiệu có biên độ nhỏ
Trang 27 Hàm cửa sổ Hamming và Hanning
Để tìm cách giảm nhỏ biên độ của các búp sóng phụ bằng
cách xếp chồng ba biến đổi: Hai phía dịch đi một b ớc 1/N, thêm một cái ở giữa với biên độ gấp đôi
Cửa sổ Hamming tổng quát:
Với α = 0.54 ta có cửa sổ Hamming:
Trang 28 Víi α = 0.5 ta cã cöa sæ Hanning :
Phæ cöa sæ Hamming tæng qu¸t:
Cã thÓ t×m ra ® îc b»ng c¸ch coi nh lµ tÝch cña tÝn hiÖu
h×nh Cosin víi mét cöa sæ ch÷ nhËt vµ thªm mét cöa sæ tam gi¸c n÷a Thùc hiÖn tÝch chËp tuÇn hoµn cña thµnh phÇn trªn trong kh«ng gian tÇn sè, ta cã
Hµm cöa sæ Hamming vµ Hanning
Trang 29Cách chọn N theo thời gian
Khi nghiên cứu tín hiệu vô hạn bằng cách chặt một khúc hữu hạn có N điểm sẽ gây ra các hiệu ứng phụ
Bằng cách chọn cửa sổ không phải hình chữ nhật ta sẽ giảm
đ ợc đáng kể hiện t ợng dao động ở phần đột biến tần số nh ng khi đó tại vị trí đột biến sai số sẽ tăng lên
Việc chọn N rất quan trọng, có lúc N càng lớn càng tốt (ví dụ: tính phổ của tín hiệu hình sin), song có lúc N không cần
chọn quá lớn (ví dụ mạch thông thấp)
Với cách chọn N theo cơ sở phân tích trên, chúng ta ít nhiều phải có thêm thông tin về tín hiệu đem ra phân tích x(n)
Trang 30Ph©n tÝch tÝn hiÖu File Wave
Qu¸ tr×nh sè ho¸ ©m thanh
Qu¸ tr×nh sè ho¸ ® îc thùc hiÖn bëi qu¸ tr×nh sau:
Qu¸ tr×nh lÊy mÉu ©m thanh t ¬ng tù: §©y lµ qu¸ tr×nh rêi r¹c
ho¸ tÝn hiÖu ©m thanh t ¬ng tù vÒ thêi gian
30
Trang 31Phân tích tín hiệu File Wave
Quá trình số hoá âm thanh
-Quá trình l ợng tử hoá: Đây là quá trình rời rạc biên độ tín
hiệu của sóng âm t ơng tự Quá trình này lấy biên độ của tín
hiệu tại mỗi lần lấy mẫu và biểu diễn các biên độ đó d ới dạng nhị phân
+ Tốc độ dữ liệu đ ợc tính bằng bps(bits per second) dùng
để định dạng sóng âm
+ Giá trị lớn nhất của chất l ợng âm(quality): nghĩa là khi
chuyển đổi ng ợc sóng âm số sang sóng âm t ơng tự phải
Trang 32- File.wave là một định dạng của Microsoft đ ợc sử dụng để l u trữ các file multimedia Một file RIFF, đ ợc bắt đầu với một phần
header và sau đó là một chuỗi liên tục các khối dữ liệu (data
chunk)
- Một file.wave thỉnh thoảng là một file RIFF với một khối dữ
liệu “WAVE” duy nhất bao gồm 2 khối con: Khối “fmt” xác
định định dạng dữ liệu và khối dữ liệu xác định mẫu dữ
liệu thực sự
32
Cấu trúc File*.Wave
Trang 34LỜI CẢM ƠN
Em xin chân thành cảm ơn các thầy cô trong hội đồng, các vị đại biểu cùng toàn thể các bạn đã theo dõi phần trình bày của em.
Kính mong các thầy cô, các vị đại biểu cùng toàn thể các bạn đóng góp ý kiến để chương trình được hoàn thiện hơn.
Xin chân trọng cảm ơn !
34