Tài liệu Đề tài Nghiên cứu lý thuyết lấy mẫu nén: Lời Nói Đầu
Trong cuộc cách mạng khoa học kỹ thuật diễn ra mạnh mẽ như ngày nay, các phát minh,
các nghiên cứu mới đã và đang làm cho cuộc sống của con người trở nên tiến bộ hơn, khoa
học không ngừng phát triển, các lý thuyết cũ được thay thế bằng những lý thuyết mới hơn, và
những lý thuyết mới hơn nữa sẽ dần thay thế nó.
Lấy mẫu nén (Compressed Sampling) là một trong những lý thuyết mới nhất trong lĩnh vực
xử lý tín hiệu hiện nay, được công bố năm 2006 là một bước ngoặt quan trọng trong lĩnh vực
này, dựa trên lý thuyết này, trong nhiều trường hợp, chúng ta có thể thực hiện được việc lấy
mẫu tín hiệu với tốc độ thấp hơn tốc độ lấy mẫu Nyquist - một trong những tiêu chuẩn được
coi là chuẩn mực trong xử lý tín hiệu - mà vẫn đảm bảo được việc khôi phục lại tín hiệu ban
đầu.
Qua 2 năm phát triển, lý thuyết này đã được nhiều tác giả quan tâm và hoàn thiện hơn.
Hiện nay lấy mẫu nén đang được tiếp tục nghiên cứu và phát triển về cả lý thuyết cũng như
ứng dụng tại nhiều trường đại...
38 trang |
Chia sẻ: hunglv | Lượt xem: 1619 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Nghiên cứu lý thuyết lấy mẫu nén, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Lời Nói Đầu
Trong cuộc cách mạng khoa học kỹ thuật diễn ra mạnh mẽ như ngày nay, các phát minh,
các nghiên cứu mới đã và đang làm cho cuộc sống của con người trở nên tiến bộ hơn, khoa
học không ngừng phát triển, các lý thuyết cũ được thay thế bằng những lý thuyết mới hơn, và
những lý thuyết mới hơn nữa sẽ dần thay thế nó.
Lấy mẫu nén (Compressed Sampling) là một trong những lý thuyết mới nhất trong lĩnh vực
xử lý tín hiệu hiện nay, được công bố năm 2006 là một bước ngoặt quan trọng trong lĩnh vực
này, dựa trên lý thuyết này, trong nhiều trường hợp, chúng ta có thể thực hiện được việc lấy
mẫu tín hiệu với tốc độ thấp hơn tốc độ lấy mẫu Nyquist - một trong những tiêu chuẩn được
coi là chuẩn mực trong xử lý tín hiệu - mà vẫn đảm bảo được việc khôi phục lại tín hiệu ban
đầu.
Qua 2 năm phát triển, lý thuyết này đã được nhiều tác giả quan tâm và hoàn thiện hơn.
Hiện nay lấy mẫu nén đang được tiếp tục nghiên cứu và phát triển về cả lý thuyết cũng như
ứng dụng tại nhiều trường đại học trên thế giới.
Với mục đích tiếp cận nhanh chóng lĩnh vực mới mẻ này, trong khóa luận tốt nghiệp của
mình tôi tập trung nghiên cứu phương pháp lấy mẫu nén trên hai mảng lớn:
• Nghiên cứu lý thuyết lấy mẫu nén và những thành tựu đã đạt được cho đến
thời điểm hiện tại.
• Nghiên cứu phát triển lý thuyết này với một ý tưởng mới về phương pháp lấy
mẫu nén dựa trên bộ lọc hỗn loạn (Chaos filter) để đóng góp vào những kết
quả đã đạt được.
Những nghiên cứu lý thuyết về lấy mẫu nén và những thành tựu đã đạt được cho đến thời điểm
hiện tại được trích dẫn và tham khảo từ nhiều bài báo được công bố bởi nhiều tác giả trên thế
giới như: Candès, Romberg, Baraniuk.......
Tôi xin cam đoan việc nghiên cứu phát triển mới (Chaos filter) là kết quả nghiên cứu của
tôi dưới sự hướng dẫn khoa học của TS. Nguyễn Linh Trung. Không có các nghiên cứu đã được
xuất bản từ trước hay viết bởi người khác.
Xin cảm ơn sự hướng dẫn khoa học của TS. Nguyễn Linh Trung, sự góp ý hướng dẫn của
GS. Huỳnh Hữu Tuệ, TS. Lê Vũ Hà và sự giúp đỡ của các thành viên Bộ môn Xử Lý Thông
Tin giúp tôi hoàn thành khóa luận này.
Hà Nội, Ngày 22 tháng 5 năm 2008
1
Mục lục
1 Giới Thiệu 4
1.1 Các Phương pháp nén cổ điển và nhược điểm của chúng . . . . . . . . . . . . . 4
1.1.1 Tín hiệu thưa và có thể nén . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2 Các phương pháp nén cổ điển và nhược điểm . . . . . . . . . . . . . . . . 5
1.2 Phương pháp lấy mẫu nén . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Hai vấn đề chính trong lấy mẫu nén . . . . . . . . . . . . . . . . . . . . . . . . . 6
I Kỹ Thuật Lấy Mẫu Nén 7
2 Lý thuyết về lấy mẫu nén 7
2.1 Phương pháp lấy mẫu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Điều kiện để khôi phục được tín hiệu . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Phương pháp khôi phục tín hiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Thuật toán khôi phục L1-minimization . . . . . . . . . . . . . . . . . . . 10
2.3.2 Thuật toán khôi phục OMP . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Ứng dụng của lý thuyết lấy mẫu nén 15
3.1 Trong nén dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Trong truyền Thông . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 Mô phỏng lấy mẫu nén 19
4.1 Nén tín hiệu thưa trong miền thời gian . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Nén ảnh sử dụng CS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 Nén tín hiệu thưa trong miền tần số . . . . . . . . . . . . . . . . . . . . . . . . 21
II Phát triển lý thuyết lấy mẫu nén trên cơ sở bộ lọc hỗn độn
(Chaos filter) 23
5 Giả ngẫu nhiên và hỗn độn 23
5.1 Giới thiệu ngắn gọn về lý thuyết hỗn độn . . . . . . . . . . . . . . . . . . . . . . 23
5.1.1 Hỗn độn là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1.2 Một số hàm hỗn độn thông thường . . . . . . . . . . . . . . . . . . . . . 24
5.2 Kỹ thuật sử dụng bộ lọc ngẫu nhiên(random filter) trong lấy mẫu nén và sự cần
thiết để phát triển bộ lọc hỗn độn(chaos filter) . . . . . . . . . . . . . . . . . . . 25
6 Thiết kế bộ lọc hỗn độn 28
6.1 Thiết kế bộ lọc hỗn độn và khôi phục tín hiệu dùng L1 minimization . . . . . . 28
6.1.1 Phương pháp lấy mẫu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.1.2 Phương pháp khôi phục tín hiệu . . . . . . . . . . . . . . . . . . . . . . . 30
6.2 Thiết kế bộ lọc hỗn độn và khôi phục tín hiệu dùng OMP . . . . . . . . . . . . 31
2
7 Mô phỏng 34
7.1 Mô phỏng kỹ thuật lấy mẫu nén sử dụng bộ lọc ngẫu nhiên . . . . . . . . . . . 35
7.2 Mô phỏng sử dụng bộ lọc hỗn độn với phương pháp khôi phục L1 minimization 35
7.3 Mô phỏng sử dụng bộ lọc hôn độn với phương pháp khôi phục OMP . . . . . . . 36
8 Kết Luận 37
3
1 Giới Thiệu
Định lý lấy mẫu của Shannon/Nyquist nói rằng để không mất thông tin và có thể khôi phục
lại hoàn toàn tín hiệu thì phải lấy mẫu tín hiệu với tần số lấy mẫu cao hơn ít nhất 2 lần băng
tần của tín hiệu. Trong nhiều ứng dụng như trong ảnh số và camera số, tốc độ lấy mẫu Nyquist
là cao và thu quá nhiều mẫu cần thiết, do đó việc nén tín hiệu là cần thiết cho việc lưu trữ
hoặc truyền đi xa. Hay trong các ứng dụng khác như: hệ thống ảnh số với tốc độ cao, kỹ thuật
siêu cao tần, thu thập dữ liệu từ rada.....Đòi hỏi lấy mẫu ở tần số rất cao nếu tuân theo định
luật Nyquist, điều đó dẫn đến việc đòi hỏi các bộ chuyển đổi ADC tốc độ cao gây ra nhiều khó
khăn trong chế tạo, và giá thành trở nên rất đắt.
Nghiên cứu này trình bày một phương pháp mới để thu các tín hiệu với tốc độ lấy mẫu nhỏ
hơn tốc độ Nyquist. Phương pháp này gọi là lấy mẫu nén (compressed sampling), sử dụng các
ánh xạ (projections) tuyến tính không thích nghi lưu trữ cấu trúc của tín hiệu, tín hiệu sau
đó được tái tạo lại sử dụng các phương pháp của lý thuyết tối ưu như L1-minimization hoặc
OMP.
1.1 Các Phương pháp nén cổ điển và nhược điểm của chúng
1.1.1 Tín hiệu thưa và có thể nén
Cho một tín hiệu rời rạc x chiều dài hữu hạn, x có thể được biểu diễn như một vectơ cột
N × 1 trong RN với các thành phần x[n], n = 1, 2, ....N . Bất kỳ tín hiệu trong RN nào đều có
thể biểu diễn thông qua một hệ các vectơ cơ sở trực chuẩn N × 1 : {ψi}Ni=1. Sử dụng ma trận
cơ sở N × N : Ψ = [ψ1ψ2...ψN ] với các vectơ {ψi} là các vectơ cột, thì một tín hiệu x có thể
biểu diễn như sau:
x =
N∑
i=1
siψi
hoặc
x = Ψ.s
Ở đây s là vectơ cột N × 1 của các trọng số si == ψTi x và .T là ký hiệu ma trận
chuyển vị. Nói cách khác thì x và s là sự biểu diễn của cùng một tín hiệu, x trong miền thời
gian (hoặc không gian) và s trong miền ψ.
Tín hiệu x chiều dài N được gọi là thưa K (K-sparse) nếu x là một sự kết hợp tuyến tính
của duy nhất K vectơ cơ sở, do đó chỉ có duy nhất K trọng số si là khác không và (N-K) trọng
số là bằng không. Trong trường hợp mà K N thì tín hiệu x gọi là thưa và có thể nén tức là
nó có thể được biểu diễn chỉ với K trọng số lớn và nhiều trọng số nhỏ.
4
1.1.2 Các phương pháp nén cổ điển và nhược điểm
Các kỹ thuật nén cổ điển (điển hình như DCT rời rạc, hay wavelet) sử dụng 1 phép biến đổi
thuận nghịch (transform coding) để xấp xỉ tín hiệu có thể nén bằng K trọng số lớn.Cho một
tín hiệu x dài N mẫu và là tín hiệu thưa K, sử dụng phép biến đổi thông qua :
s = ΨTx
ΨT ở đây đại diện cho một phép chuyển đổi nào đó (DCT rời rạc hoặc wavelet) chúng ta sẽ
thu được một tập hợp các trọng số si trong đó K trọng số lớn nhất sẽ được lấy và mã hóa, còn
lại (N-K) trọng số nhỏ sẽ được loại bỏ.
Tuy nhiên chính cách làm này xuất hiện những nhược điểm của phương pháp:
• Số lượng N các mẫu thu là lớn trong khi K lại là nhỏ K N
• Tất cả N mẫu đều phải được tính toán trong khi chúng ta chỉ giữ lại K giá trị còn lại
(N-K) giá trị bị loại bỏ.
• Việc mã hóa K giá trị sau khi giữ lại (với mục đích lưu trữ hoặc truyền đi) chúng ta lại
phải thêm vào các bit tiêu đề, các bít sửa lỗi......
Tất cả các nhược điểm đó làm chậm tốc độ xử lý dữ liệu. Và điều này càng thể hiện rõ hơn
trong trường hợp tín hiệu x với băng tần cao lại đòi hỏi tốc độ lấy mẫu phải rất lớn mới đảm
bảo khôi phục lại dữ liệu (theo tiêu chuẩn Nyquist).
1.2 Phương pháp lấy mẫu nén
Được đề xướng như một lý thuyết lẫy mẫu mới vào năm 2006 bởi Emmanuel Candès, Justin
Romberg, và Terence Tao, phương pháp lấy mẫu nén cho phép thu trực tiếp tín hiệu dưới dạng
nén mà không thông qua việc thu N mẫu tín hiệu rồi mới sử dụng các phương pháp nén như
phương pháp thông thường.
Với tín hiệu x chiều dài N, phương pháp lấy mẫu nén sử dụng M quá trình đo tuyến tính
(M N) được biểu diễn bởi phép nhân giữa x và một tập hợp các vectơ {φj}Mj=1:
yj =
Tập hợp các phép đo yj được sắp xếp trong một vectơ Y chiều dài M × 1 và các vectơ φTj được
sắp xếp như một hàng trong ma trận Φ kích thước M ×N và do đó có thể được viết như sau:
Y = ΦX = ΦΨs = Θs
Quá trình đo ở đây là không thích nghi, tức là Φ là cố định và không phụ thuộc vào tín hiệu x.
5
1.3 Hai vấn đề chính trong lấy mẫu nén
Mục tiêu của phương pháp lấy mẫu nén bây giờ là việc thiết kế và xây dựng:
• Ma trận đo Φ ổn định có thể thu và lưu trữ các thông tin về tín hiệu ( tín hiệu thưa K
hay tín hiệu có thể nén ) trong M phép đo (M N) mà vẫn đảm bảo khôi phục lại tín
hiệu.
• Thuật toán khôi phục tín hiệu có thể tái tạo tín hiệu x từ M phép đo y
6
Phần I
Kỹ Thuật Lấy Mẫu Nén
2 Lý thuyết về lấy mẫu nén
2.1 Phương pháp lấy mẫu
Phương pháp lấy mẫu truyền thống thường được biểu diễn bởi sơ đồ sau
Hình 1: Phương pháp lẫy mẫu truyền thống
Tín hiệu đầu vào x là một tín hiêu chiều dài N và thưa K (tín hiệu có thể nén) có thể được
biểu diễn qua một tập hợp các vectơ cơ sở ψi:
x =
N∑
i=1
siψi
Do x là thưa K nên x có thể được biểu diễn bằng xấp xỉ của K trọng số lớn nhất:
x ≈
∑
K
siψi
Việc thực hiện nén trong khối compress có thể thực hiện bằng một phương pháp nào đó như
DCT rời rạc, Wavelet...Tín hiệu sau đó gồm K trọng số lớn nhất được mã hóa và truyền đi. Ở
nơi thu từ K trọng số lớn nhất thu được người ta tái tạo lại tín hiệu sử dụng các phép biến đổi
DCT ngược hoặc Wavelet ngược (do các phép biến đổi này là hoàn toàn thuận nghịch)
Tuy nhiên do những nhược điểm như đã trình bày của nó, mà lý thuyết lấy mẫu nén được phát
triển.
7
Hình 2: Phương pháp lẫy mẫu nén
Phương pháp này sử dụng M các phép đo tuyến tính không thích nghi:
Y = ΦX = ΦΨs = Θs
Hình 3: Quá trình thu tín hiệu Y bằng M phép đo tuyến tính không thích nghi
Trong đó Φ là ma trận kích thước M × N . Từ "không thích nghi" ở đây có nghĩa là ma
trận Φ là cố định và không phụ thuộc tín hiệu đầu vào x.
8
2.2 Điều kiện để khôi phục được tín hiệu
Vấn đề là chọn ma trận đo Φ thế nào để cho phép tái tạo lại tín hiệu x từ M phép đo (M<N)
- tức là khôi phục x từ vectơ y. Do M<N cho nên bài toán sẽ không thể có duy nhất nghiệm.
Tuy nhiên nếu x là tín hiệu thưa K và vị trí của K hệ số khác 0 này được biết trước thì bài
toán trở thành giải hệ phương trình K ẩn với M phương trình (M ≥ K) và bài toán sẽ có duy
nhất nghiệm. Một điều kiện cần và đủ cho vấn đề này là, cho vectơ v bất kỳ có K hệ số khác
0, với > 0 thì Θ cần thỏa mãn điều kiện sau đây:
1− ≤ ‖Θv‖2‖v‖2 ≤ 1 +
Điều kiện này được gọi là điều kiện RIP (Restricted isometry property).
Một điều kiện khác yêu cầu các hàng của ma trận Φ không được xuất hiện thưa thớt trong
các cột của ma trận Ψ. Điều kiện này gọi là điều kiện tách biệt (Incoherence).
Trong nghiên cứu của Emmanuel Candès, Justin Romberg, và Terence Tao đã chứng minh
rằng:
Với việc sử dụng ma trận Φ là ma trận ngẫu nhiên, phân bố Gaussian, thì cả điều
kiện RIP và điều kiện tách biệt (incoherence) đều được thỏa mãn. Và với việc sử
dụng số các phép đo tiến hành M ≥ cKlog(N/K) với c là một hằng số nhỏ thì hoàn
toàn có thể tái tạo được tín hiệu x thưa K và có chiều dài N ban đầu
Hình 4: Sử dụng ma trận ngẫu nhiên trong việc thu tín hiệu
2.3 Phương pháp khôi phục tín hiệu
Với phương pháp lấy mẫu nén chúng ta đã thu được tín hiệu:
Y = ΦX
Bài toán ngược đặt ra là tìm lại tín hiệu X từ các giá trị Y. Dưới đây là 2 phương pháp phổ
biến được dùng cho việc khôi phục tín hiệu cho lấy mẫu nén
9
2.3.1 Thuật toán khôi phục L1-minimization
Chúng ta cần khôi phục lại X, tức là tìm lại chính xác các giá trị x[n], n = 1, 2....N , khi mà
chúng ta có M phép đo Y . Tuy nhiên do M < N tức là số phương trình thiết lập được là nhỏ
hơn số ẩn cần tìm, do đó sẽ có vô số các nghiệm thỏa mãn, và hiển nhiên nếu không cho thêm
bất kỳ thông tin gì về nghiêm cần tìm chúng ta không thể biết nghiệm nào là đúng.
Tuy nhiên trong trường hợp này, tín hiệu mà chúng ta cần khôi phục là đã biết về mặt cấu
trúc tức nó là tín hiệu thưa K hay tín hiệu có thể nén.
Về mặt toán học, dưới giả thiết tín hiệu X là thưa, chúng ta có thể khôi phục lại tín hiệu X
bằng các phương pháp minimization.
• Sử dụng L0:
x̂ = min
x∈RN
‖x‖l0
Với điều kiện:
Y = ΦX
Ở đây ‖x‖l0 = |{i : xi 6= 0}|. Phương pháp này có thể cho phép khôi phục chính xác dữ
liệu bằng cách kiểm tra từng dữ liệu để thỏa mãn 2 phương trình trên, tuy nhiên tốc độ
tính toán của phương pháp là chậm. Nên thuật toán này ít được sử dụng trong thực tế
và không sử dụng trong lấy mẫu nén.
• Sử dụng L2:
x̂ = min
x∈RN
‖x‖l2 = min
x∈RN
N∑
i=1
|xi|2
Với điều kiện:
Y = ΦX
Phương pháp này không khôi phục đúng dữ liệu.
• Sử dụng L1:
x̂ = min
x∈RN
‖x‖l1 = min
x∈RN
N∑
i=1
|xi|
Với điều kiện:
Y = ΦX
Thuật toán này có thể khôi phục chính xác tín hiệu thưa K sử dụng M phép đo tuyến
tính không thích nghi với M ≥ cKlog(N/K). Phương pháp này sử dụng trong lấy mẫu
nén cho việc khôi phục dữ liệu.
Nghiên cứu mới đây (tháng 9 năm 2007) của Emmanuel J.candès, Michael B.Walkin và
Stephen P.Boyd đã cải tiến phương pháp này cho phép khôi phục tín hiệu chính xác hơn gọi là
10
phương pháp L1 minimization được trọng số hóa (Reweighted l1 minimization). Phương pháp
này khôi phục tín hiệu bằng phương trình sau:
x̂ = min
x∈RN
‖Wx‖l1 = min
x∈RN
N∑
i=1
wi|xi|
Với điều kiện:
Y = Φx
Ở đây ma trận W là ma trận chéo với w1, w2...wn là các trọng số dương nằm trên đường chéo,
các trọng số còn lại bằng 0.
Các trọng số dương của ma trận W này được tính toán sử dụng các bước trong thuật toán sau
đây:
• 1. Thiết đặt l=0 và w(0)i , i = 1, ...., N
• 2. Tính:
x(l) = min‖W (l)x‖l1
với
Y = Φx
• 3. Cập nhật các giá trị trọng số: với i=1,......,n :
w
(l+1)
i =
1
|x(l)i
|+
• 4. Kết thúc thuật toán nếu w hội tụ hoặc khi l đạt tới một số cực đại, ngược lại tăng l
lên 1 đơn vị và quay trở lại bước 2.
Phương pháp này khôi phục tín hiệu chính xác hơn, để minh họa điều này ta xét ví dụ sau,
cho x = 0 1 0
T
(sơ đồ 1(a) thể hiện tín hiệu gốc x) và :
Φ =
2 1 1
1 1 2
Ta có tín hiệu thu được:
Y = Φx = 1 1
T
Nhìn vào sơ đồ bên dưới, với phương pháp L1 minimization, l1 biểu thị như một quả bóng giao
với đường biểu diễn Y = Φx tại vị trí x̂ = 1
3
0 1
3
T 6= x giá trị này cho chúng ta kết quả
không chính xác. Sơ đồ 1(b)
Bây giờ nếu chúng ta đưa vào ma trận trọng số W = diag( 3 1 3
T
) sơ đồ 1(c)thể hiện quả
bóng "weighted l1 " hội tụ tới điểm tín hiệu nguồn một cách chính xác.
11
Hình 5: So sánh phương pháp sử dụng l1 minimization và weighted l1 minimization
2.3.2 Thuật toán khôi phục OMP
a) Thuật toán đuổi khớp (Matching pursuit)
Nhiều phương pháp phân tích tín hiệu tìm cách biểu diễn 1 tín hiệu không biết x bằng một tổ
hợp tuyến tính của các hàm số gn nào đó:
x =
N∑
n=0
angn
Chúng ta có thể nói rằng việc biểu diễn tín hiệu x tương tự như việc chọn các từ trong một
quyển từ điển để tạo ra một câu văn có nghĩa nào đó. Trong trường hợp này là chúng ta chọn
các hàm gn trong một tập hợp các hàm số để biểu diễn tín hiệu x.
Các hệ số an được tính bởi:
an =
Chúng ta phải biểu diễn tín hiệu không biết x một cách chính xác nhất có thể bằng cách
chọn các hàm gn một cách tối ưu từ một thư viện dư thừa các hàm D. Trong thực tế chúng ta
chỉ có thể biểu diễn tín hiệu x một cách gần đúng:
x ≈
N∑
n=1
angn
Điều kiện để phép biểu diễn của chúng ta tối ưu là sai số giữa tín hiệu x thật và tín hiệu x biểu
diễn gần đúng bằng các hàm gn là nhỏ nhất:
= ‖x−
N∑
n=0
angn‖ = min
12
Để tìm được một sự kết hợp tuyến tính có thể của N hàm gn sao cho sai số là nhỏ nhất,
chúng ta sử dụng thuật toán đuổi khớp (matching pursuit).
R0x = x
Rnx = gγn +R
n+1x
gγn = argmaxgγn∈D| |
Bước đầu tiên thuật toán sẽ chọn gγ0 lớn nhất được cho bởi phép nhân trong (inner product)
với tín hiệu x, trong mỗi bước gγn được khớp với tín hiệu R
nx. Cứ như vậy N hàm gn sẽ được
tìm kiếm bằng thuật toán trên.
b)Phương pháp khôi phục tín hiệu OMP trong lấy mẫu nén
OMP là chữ viết tắt của phương pháp orthogonal matching pursuit, hay phương pháp "đuổi
khớp trực giao".
Nhắc lại rằng, chúng ta có tín hiệu X thưa K có chiều dài N , và M phép đo yi, i = 1, 2......M
trong vectơ cột Y:
Y = ΦX
Với Φ là ma trận đo kích thước M ×N .
Do tín hiệu X là thưa K, tức là chỉ có K thành phần khác 0, các thành phần còn lại bằng 0.
Như vậy, mỗi thành phần yi là sự kết hợp tuyến tính của K thành phần từ K cột của ma trận
Φ. Do đó để khôi phục tín hiệu X dài N từ M thành phần của vectơ Y chúng ta cần tìm ra
được 1 tổ hợp K cột trong ma trận Φ(có số cột là N) (N>M>K) để thỏa mãn:
Y = ΦX
Bài toán lại trở về giống như tìm các từ trong 1 quyển từ điển để ghép thành câu có nghĩa nào
đó. Và chúng ta sử dụng thuật toán OMP (Orthogonal matching pursuit) để thực hiện điều
này:
ĐẦU VÀO:
• Ma trận Φ
• Vectơ dữ liệu nén Y
• Độ thưa K của tín hiệu đầu vào x
1. Khởi tạo:
r0 = y, t = 1
2. Tính toán cột it của ma trận Φ:
it = argmaxi| |
13
3. Tính:
rt = y − Pty
Trong đó :
Pty =
N∑
k=1
θ̂ikΦik
θ̂ik là các trọng số được ước lượng của tín hiệu X.
4. Nếu t<N tăng t lên 1 đơn vị và lặp lại bước 2, ngược lại kết thúc thuật toán.
ĐẦU RA:
• Tín hiệu khôi phục X̂
14
3 Ứng dụng của lý thuyết lấy mẫu nén
3.1 Trong nén dữ liệu
Thành tựu điển hình của lấy mẫu nén là việc thu các bức ảnh số với tốc độ lấy mẫu nhỏ
trong một camera có duy nhất 1 sensor thu được gọi là CAMERA 1 ĐIỂM ẢNH (single pixel
camera).
Sơ đồ khối của Camera được cho như trong hình bên:
Ở đây việc tạo ra một ma trận DMD bao gồm N mảnh gương rất nhỏ với hệ số phản xạ trên
Hình 6: Camera số 1 điểm ảnh
mỗi gương là ngẫu nhiên được điều khiển bởi bộ phát số ngẫu nhiên RNG (Random number
generator) thay thế cho việc tạo ra ma trận Φ trong lý thuyết lấy mẫu nén mà Candès, Romberg
và Tao đã đề cập.
Toàn bộ bức ảnh đi qua một thấu kính thứ nhất và rơi vào ma trận gương DMD với hệ số
phản xạ ngẫu nhiên, sau đó được hội tụ tại một điểm khi đi qua thấu kính thứ hai, tại điểm
đó một photodiode được đặt thu nhận và lấy mẫu, do đó chỉ cần một photodiode và thực hiện
M phép đo cần thiết chúng ta có thể khôi phục lại bức ảnh.
Hình 7: Thực hiện M phép đo
15
Sơ đồ bố trí của Camera như trong hình:
Hình 8: Sơ đồ bố trí Camera
Và kết quả của nó:
Hình 9: So sánh kết quả giữa ảnh nguồn và ảnh gốc
16
3.2 Trong truyền Thông
Trong các ứng dụng truyền thông không dây ngày nay, việc tiết kiệm băng tần là một vấn đề
rất quan trọng, đem lại hiệu quả về mặt kinh tế. Các hệ thống cảm nhận thông minh hiện nay
cho phép cảm nhận môi trường phổ tần vô tuyến để phát hiện các khoảng phổ trống (Việc làm
này dựa trên các mô hình ước lượng và nhận biết phổ), từ đó có thể nhanh chóng điều chỉnh
các thông số truyền và nhận để có thể gửi tín hiệu vào trong các khoảng phổ trống đó. Cách
làm này cho phép các nhà cung cấp dịch vụ tận dụng tối đa băng thông cho phép, phục vụ
hiệu quả người sử dụng mà vẫn đảm bảo tránh gây nhiễu cho những người sử dụng ưu tiên.
Đối với truyền thông băng thông rộng, thách thức lớn nhất đối với các mô hình ước lượng
và nhận biết phổ là tần số lấy mẫu là quá lớn, nếu lấy mẫu không đủ sẽ không cung cấp đầy
đủ thông tin về mặt thống kê cho các thuật toán khôi phục tín hiệu tuyến tính truyền thống.
Tuy nhiên, do tính chất điển hình của các tín hiệu trong truyền thông không dây là thưa
về mặt tần số. Nguyên nhân của tính chất này là do trong thực tế các kênh radio được sử
dụng chiếm dụng phổ rất ít. Đây chính là tiền đề để có thể áp dụng kỹ thuật lấy mẫu nén
(Compressed Sensing) trong mô hình nhận biết vô tuyến để có thể giảm tốc độ lấy mẫu xuống
trong khi vẫn đảm bảo tính chính xác trong việc ước lượng các khoảng phổ trống.
Một nghiên cứu của các tác giả Z.Tian, G.B.Giannakis cho thấy kết quả tốt khi áp dụng
phương pháp lấy mẫu nén cho việc nhận biết phổ vô tuyến. Trong bài báo này, kỹ thuật lấy
mẫu nén được sử dụng để khôi phục dải phổ từ mô hình lấy mẫu ngẫu nhiên - với số mẫu ít
hơn so với tiêu chuẩn Nyquist - từ đó xác định vị trí của các dải tần bằng phương pháp xác
định biên dựa trên kỹ thuật wavelet (wavelet based edge detector). Chúng ta có thể tóm lược
phương pháp sử dụng lấy mẫu nén mà các tác giả đã trình bày trong việc ứng dụng cho nhận
biết phổ vô tuyến như sau:
Giả sử một mạng không dây băng rộng có dải tần tổng cộng là B Hz (từ f0 đến fN). Hàm
mật độ phổ công suất (PSD) trên dải tần này được thể hiện trong hình:
Hình 10: Mật độ phổ công suất trên dải tần tín hiệu
Dải phổ này được thể hiện bằng tín hiệu liên tục r(t) (đây cũng chính là tín hiệu mà bộ
17
cảm nhận phổ vô tuyến (CR) phải cảm nhận). Giả sử khoảng thời gian cần thiết để CR cảm
nhận là t ∈ [0,MT0]. Trong đó T0 là chu kỳ lấy mẫu theo Nyquist ⇒ cần tối thiểu M mẫu
để khôi phục r(t) tức là chúng ta phải có một vectơ Γt kích thước M × 1 với các thành phần
rt(n) = r(t)|t=nT0 . Đặt biến đổi Fourier M điểm của Γt là Γf : Γf = FMΓt, trong đó FM là ma
trận biểu diễn biến đổi Fourier rời rạc M điểm. Nhiệm vụ của bài toán CR là xác định được
Γf để từ đó xác định được các khoảng phổ trống, rồi điều chỉnh thông số và gửi tín hiệu vào
trong khoảng phổ đó.
Gọi F là tập hợp các khoảng phổ làm cho r(t) khác 0 trong miền tần số (trong trường hợp
không có nhiễu). Do r(t) là thưa trong miền tần số nên |F | B hay một cách tương đương
khi rời rạc hóa, vectơ Γt có trung bình khoảng Kb = d|F |M/Be hệ số khác 0 và Kb M .
Kỹ thuật lấy mẫu nén cho phép khôi phục chính xác vectơ Γt từ một vectơ Υt có kích thước
K × 1(Kb ≤ K ≤ M) : Υt = STc Γt, trong đó Sc là một ma trận đo có kích thước M × K
(trường hợp đơn giản có thể lấy Sc là một ma trận lấy ngẫu nhiên K cột từ ma trận đơn vị).
Như vậy, chúng ta có thể biểu diễn: Υt = (S
T
c FM)rf , và chúng ta có thể ước lượng rf dựa trên
các phương pháp l1 minimization hoặc OMP:
r̂t = argmin
rf
‖rf‖1 , STc Γt = Υt
18
4 Mô phỏng lấy mẫu nén
4.1 Nén tín hiệu thưa trong miền thời gian
Xét tín hiệu thưa x trong miền thời gian, chiều dài N = 512 thưa K = 20. Số các phép đo sử
dụng M = 100. Sử dụng phương pháp L1 minimization cho việc khôi phục tín hiệu.
Sơ đồ bên dưới trình bày kết quả mô phỏng:
Hình 11: Kết quả mô phỏng
4.2 Nén ảnh sử dụng CS
Như chúng ta đã biết, JPEG là một trong những chuẩn nén tốt sử dụng trong nén ảnh, tuy
nhiên nếu bức ảnh JPEG là thưa, việc sử dụng phương pháp lấy mẫu nén vẫn có thể cho phép
nén bức ảnh xuống nhiều lần.
Xét bức ảnh:
Hình 12: Ví dụ về bức ảnh JPEG thưa gồm 189280 điểm ảnh
19
Bức ảnh này phần lớn các điểm ảnh là màu đen, chỉ có số ít các điểm ảnh màu trắng biểu
thị vòng tròn màu trắng. Nếu coi các điểm màu đen có giá trị là 0 và các điểm màu trắng có
giá trị là 1, thì mỗi dòng trong bức ảnh gốc sẽ được coi như một tín hiệu thưa x(n), sử dụng
phương pháp lấy mẫu nén áp dụng cho tất cả các dòng thưa này, chúng ta sẽ nén được toàn
bộ bức ảnh xuống chỉ còn 33280 điểm ảnh. Tức là bức ảnh JPG giảm xuống chỉ còn 17.5% so
với bức ảnh ban đầu. Việc khôi phục lại bức ảnh sử dụng thuật toán L1 minimization.
Kết quả được thể hiện trong hình dưới:
Hình 13: Kết quả mô phỏng việc nén ảnh JPEG bằng lấy mẫu nén
20
4.3 Nén tín hiệu thưa trong miền tần số
Như trong lý thuyết xử lý tín hiệu mà chúng ta đã biết, một tín hiệu dạng sin/cos vô hạn về
mặt thời gian thì nó được biểu diễn bởi 1 vạch phổ trong miền tần số. Vì vậy, để tạo ra một
tín hiệu thưa trong miền tần số, chúng ta sử dụng kỹ thuật cộng gộp 5 tín hiệu dạng sin tại 5
tần số khác nhau trong miền thời gian, khi đó trong miền tần số tín hiệu được biểu diễn chỉ
với 5 vạch phổ, khi đó tín hiệu gọi là thưa trong miền tần số.
Dạng của tín hiệu trong miền thời gian và tần số được thể hiện trong sơ đồ bên dưới(trong
mô phỏng sử dụng chiều dài là 512):
(a) Dạng tín hiệu trong miền thời gian
(b) Dạng tín hiệu trong miền tần số
Hình 14: Tạo tín hiệu thưa trong miền tần số
Sử dụng phương pháp lấy mẫu nén, chúng ta nhận được kết quả:
21
Hình 15: Nén tín hiệu thưa trong miền tần số
Do trong mô phỏng sử dụng chiều dài tín hiệu là 512 chứ không phải ∞ nên tín hiệu trong
miền tần số có dạng không hoàn hảo là các vạch như mong muốn, do đó kết quả tín hiệu khôi
phục trong miền thời gian chỉ gần giống với tín hiệu gốc. Để hạn chế điều này chúng ta có thể
tăng chiều dài của tín hiệu trong miền thời gian, nhưng việc làm này không thực sự quan trọng
nên chúng ta vẫn sử dụng chiều dài 512 trong mô phỏng của mình.
22
Phần II
Phát triển lý thuyết lấy mẫu nén trên
cơ sở bộ lọc hỗn độn (Chaos filter)
5 Giả ngẫu nhiên và hỗn độn
5.1 Giới thiệu ngắn gọn về lý thuyết hỗn độn
5.1.1 Hỗn độn là gì?
Ngay từ thời cổ xưa, các nhà thiên văn cổ đại đã cố gắng dự đoán sự di chuyển của mặt
trăng xung quanh trái đất, và sự di chuyển của các hành tinh trong hệ mặt trời, chúng là các
hệ thống động. Việc hiểu biết về điều này là rất quan trọng trong việc xác định tọa độ cho
các con thuyền khi chúng di chuyển trên biển. Bảng Kepler và 3 định luật kepler ra đời là một
phát kiến lớn cho vấn đề này.
Các hệ thống động tồn tại rất phổ biến trong tự nhiên, và khác với một hệ thống ngẫu
nhiên, hệ thống động có trạng thái hoàn toàn xác định được với các điều kiện khởi tạo ban đầu
thích hợp, bởi vì một hệ thống động sẽ được đặc trưng bởi một hàm số biết trước nào đó.
Một hệ thống động với các điều kiện khởi tạo ban đầu thích hợp sẽ dễ dàng đánh lừa chúng ta
rằng nó là hệ thống ngẫu nhiên khi kết quả của nó rất giống ngẫu nhiên. Đó chính là Chaos
(hỗn độn).
Vậy một hệ thống gọi là hệ thống hỗn độn(hay hệ thống động) nếu thỏa mãn cả 2 điều kiện
sau:
• Hàm số đặc trưng cho hệ thống là hoàn toàn xác định.
• Gía trị theo thời gian (hoặc không gian) của hệ thống phải rất gần với ngẫu
nhiên.
Chúng ta xét một ví dụ đơn giản sau để có thể so sánh, cho chuỗi x được tạo bởi lệnh tạo số
ngẫu nhiên: x = rand(1, 30).
Và một chuỗi y được tạo bởi hàm số sau:
y(n+ 1) = cy(n)(1− y(n)) + y(n)
Với các giá trị khởi tạo : c=3, y(0)=0.5. Hình 6 biểu diễn kết quả của hai chuỗi số, chúng
ta thấy được với các điều kiện khởi đầu như trên chuỗi tạo bởi phương trình trên cho kết quả
giống như ngẫu nhiên.
23
Hình 16: Sự giống nhau giữa giá trị tạo bởi hàm chaos và giá trị ngẫu nhiên
Thực tế, trong truyền thông chúng ta cũng gặp một ứng dụng của chaos dưới một cái tên
khác là chuỗi giả ngẫu nhiên (Preudorandom). Để gửi một bản tin qua một đường truyền viễn
thông, bản tin được chuyển đổi thành tín hiệu số (được biểu diễn bởi hai bit 0 và 1). Để bảo
mật cho bản tin, người ta cộng nhị phân bản tin ở dạng số với một chuỗi giả ngẫu nhiên được
tạo bởi một hàm hỗn độn thông qua phép XOR:
0⊕ 0 = 0 0⊕ 1 = 1 1⊕ 0 = 1 1⊕ 1 = 0
Ở nơi thu đã biết chuỗi giả ngẫu nhiên thông qua hàm hỗn độn, do đó chỉ cần đồng bộ lại
và thực hiện phép XOR lại với chuỗi giả ngẫu nhiên tạo bởi hàm hỗn độn, toàn bộ bản tin sẽ
được khôi phục.
5.1.2 Một số hàm hỗn độn thông thường
Hiện nay số lượng các hàm hỗn độn ứng dụng trong các lĩnh vực khoa học là rất nhiều, ở đây
tôi chỉ nêu ra một số hàm hỗn độn tôi sử dụng trong nghiên cứu này:
1)
xn+1 = axn(1− xn) a = 4, x0 = 0.5
2) {
xn+1 = 1− ax2n + byn
yn+1 = xn
24
5.2 Kỹ thuật sử dụng bộ lọc ngẫu nhiên(random filter) trong lấy
mẫu nén và sự cần thiết để phát triển bộ lọc hỗn độn(chaos
filter)
Trong kết quả bài báo của Candès, Romberg, Tao and Donoho phép đo tuyến tính ngẫu nhiên
không thích nghi (Random linear projection) được sử dụng cho việc thu trực tiếp tín hiệu thưa
x, tuy nhiên nếu như vậy thì phương pháp lấy mẫu nén khó có thể triển khai các ứng dụng
thực tế bởi các phép đo như vậy yêu cầu thu toàn bộ tín hiệu tại một thời điểm, nếu tín hiệu
là dài thì điều này gây ra nhiều khó khăn. Hơn nữa, chỉ dừng lại ở phép nhân ma trận thì rất
khó có thể triển khai cụ thể ứng dụng lấy mẫu tín hiệu thời gian thực.
Sử dụng bộ lọc ngẫu nhiên là một kỹ thuật lấy mẫu tín hiệu trong phương pháp lấy mẫu
nén được công bố bởi Joel A.Tropp, Michael B.Wakin, Marco F.Duarte, Dror Baron và Richard
G.Baraniuk. Trong phương pháp này các tác giả đã thay thế việc sử dụng phép đo tuyến tính
ngẫu nhiên (dưới dạng một ma trận) bằng một bộ lọc FIR với hệ số ngẫu nhiên cho việc thu
tín hiệu.
Sơ đồ bên dưới trình bày kỹ thuật này:
Hình 17: Sử dụng bộ lọc ngẫu nhiên trong lấy mẫu nén
Trong kỹ thuật này tín hiệu s được nhân chập với một bộ lọc FIR hệ số ngẫu nhiên h và
sau đó hạ tốc tín hiệu sau bộ lọc để thu được tín hiệu y dưới dạng nén.
s là tín hiệu có chiều dài d, h là bộ lọc FIR hệ số ngẫu nhiên chiều dài B. Tín hiệu y được tính
toán:
y = Dowsample↓ d
N
(h ∗ s)
Phép nhân chập này có thể tiến hành trong miền thời gian:
y(n) =
B−1∑
j=0
s(n[
d
N
] + j)h(B − j) với n = 0, 1......N − 1
25
Hoặc tiến hành trong miền tần số:
y = Downsample↓ d
N
z−1{H(w)S(w)}
Do quá trình là tuyến tính nên việc chuyển từ tín hiệu thưa s sang thành tín hiệu nén y có
thể được mô tả bằng:
y = Φs
Ở đây Φ là ma trận N × d: mỗi hàng có B phần tử khác 0 và mỗi hàng của φ là một bản sao
của hàng phía trên nó được dịch sang bên phải d
N
vị trí. Việc tái tạo ma trận Φ là cần thiết
cho việc khôi phục tín hiệu, do kỹ thuật này sử dụng phương pháp khôi phục OMP(orthogonal
matching pursuit) để khôi phục tín hiệu. OMP yêu cầu hai tham số đầu vào cho thuật toán:
Ma trận đo Φ được tái dựng lại và dữ liệu nén y (trong Chaos filter chúng ta cũng sẽ dùng kỹ
thuật này do đó kỹ thuật này sẽ được mô tả kỹ hơn trong phần Chaos filter).
Tuy nhiên chúng ta phân tích sơ đồ sau đây:
Hình 18: Nén và giải nén Compressive Sensing giữa nơi phát và nơi thu
Gỉa thiết khối project ở nơi phát được thay bằng bộ lọc ngẫu nhiên, khối reconstruct ở nơi
thu sử dụng thuật toán OMP cho việc khôi phục tín hiệu và như vậy nó yêu cầu việc tái tạo
lại ma trận đo Φ. Không may thay, bộ lọc ngẫu nhiên được tạo ra ở khối project với các hệ số
là ngẫu nhiên, do đó nơi thu không thể xác định được các hệ số đó cho việc tái tạo lại ma trận
đo Φ.
Vì vậy vấn đề đặt ra ở đây là thiết kế khối project bằng một bộ lọc sao cho thỏa mãn
yêu cầu: hệ số của bộ lọc hoàn toàn xác định được, thống nhất giữa nơi phát và
nơi thu và các hệ số phải là ngẫu nhiên (tuân theo lý thuyết của Candès, Romberg và
Baraniuk)
Và do đó, chúng ta lựa chọn bộ lọc hỗn độn(Chaos filter) cho việc giải quyết các vấn đề
trên. Với đặc điểm của Chaos fitler: Hệ số của bộ lọc hoàn toàn xác định được và những
hệ số đó gần giống ngẫu nhiên là một giải pháp hiệu quả trong lấy mẫu nén.
26
Trong nghiên cứu của mình, tôi thực hiện việc triển khai bộ lọc hỗn độn theo hai hướng
khác nhau sử dụng hai phương pháp khôi phục dữ liệu khác nhau là L1 minimization và
OMP(Orthogonal Maching Pursuit).
27
6 Thiết kế bộ lọc hỗn độn
6.1 Thiết kế bộ lọc hỗn độn và khôi phục tín hiệu dùng L1 mini-
mization
6.1.1 Phương pháp lấy mẫu
Giả Thiết
• Cho tín hiệu x(n) thưa K, chiều dài N
• Số các phép đo ngẫu nhiên cần thiết là M ≥ K log(N
K
)
• Ma trận đo ΦMN kích thước M ×N
• Tín hiệu đầu ra y(n) có chiều dài M
Sơ đồ của các phép đo tuyến tính ngẫu nhiên không thích nghi trong lấy mẫu nén: Dạng của
Hình 19: Các phép đo tuyến tính ngẫu nhiên
ma trận Φ được cho như sau:
Φ =
a11 a12 . . . a1N
a21 a22 . . . a2N
...
...
...
...
aM1 aM2 . . . aMN
Chúng ta sắp xếp M hàng của ma trận ΦMN thành một chuỗi có chiều dài M ×N :
28
Hình 20: Chuyển ma trận ΦMN thành 1 chuỗi
Khi đó phép nhân ma trận trong Hình 9 có thể được biểu diễn lại như sau:
Để tính y(1) chúng ta nhân các cột tương ứng rồi cộng các kết quả lại.
Để tính y(2), y(3), ....y(M) chúng ta làm tương tự như hình dưới:
(a) Tính y(1)
(b) Tính y(2)
(c) Tính y(3)
(d) Tính y(M)
Hình 21: Các phép tính toán trên chuỗi thay cho phép nhân ma trận
Nếu chúng ta coi chuỗi được tạo thành là chuỗi các hệ số của bộ lọc hàm truyền h(n), thì
toàn bộ quá trình trên hoàn toàn được thay thế bằng sơ đồ:
Hình 22: Các phép tính trên chuỗi được đưa về phép nhân chập với bộ lọc
Với tín hiệu x(n) chiều dài N, hàm truyền h(n) có chiều dài M ×N , đầu ra p(n) của bộ lọc
có chiều dài M × N + N − 1, để thu được chuỗi dữ liệu nén y(n) chiều dài M, chúng ta phải
hạ tốc tín hiệu p(n) ra khỏi bộ lọc với hệ số hạ tốc là (M ×N +N − 1)/M .
29
Như vậy các phép đo ngẫu nhiên tuyến tính mà các tác giả Candès, Romberg, Tao mô tả
dưới dạng một phép nhân ma trận ngẫu nhiên đã được chuyển đổi hoàn toàn thành phép nhân
chập với một bộ lọc và thực hiện Downsample (hạ tốc).
Do các hệ số của bộ lọc được tạo thành bởi sự "ghép nối" các hàng của ma trận ngẫu nhiên,
nên các hệ số của bộ lọc là ngẫu nhiên. Tuy nhiên, như đã trình bày trước, chúng ta sử dụng
các hàm hỗn độn cho việc tạo ra các hệ số này thay vì dùng phép tạo ngẫu nhiên. Trong nghiên
cứu của mình tôi sử dụng hàm:
h(n+ 1) = C.h(n)(1− h(n)) + h(n) với : C = 3, h(0) = 0.5
6.1.2 Phương pháp khôi phục tín hiệu
Chúng ta khôi phục tín hiệu bằng thuật toán L1-minimization. Thuật toán này yêu cầu:
Đầu vào:
• Ma trận đo Φ: ma trận này sẽ được tái tạo lại từ hàm truyền h(n) của bộ lọc.
• Tín hiệu nén y(n) chiều dài M.
Đầu ra: Tín hiệu ước lượng x̂(n)
Việc tái tạo ma trận đo Φ từ hàm truyền h(n) có độ dài M ×N bằng cách cắt h(n) thành
M đoạn có chiều dài N và sắp xếp lại thành ma trận kích thước M ×N . Minh họa như trong
hình:
Hình 23: Hàm truyền h(n) của bộ lọc
Hình 24: Ma trận đo Φ
30
Từ ma trận Φ tái tạo được, chúng ta dễ dàng khôi phục tín hiệu x̂(n) sử dụng thuật toán
L1 minimization như đã trình bày trong phần 2.3.1
Tuy nhiên phương pháp này có nhược điểm là chiều dài bộ lọc là lớn, lớn hơn rất nhiều lần
chiều dài của tín hiệu(Chiều dài của tín hiệu là N thì chiều dài của bộ lọc là M ×N tức là gấp
M lần).
6.2 Thiết kế bộ lọc hỗn độn và khôi phục tín hiệu dùng OMP
Chúng ta vẫn sử dụng bộ lọc hỗn độn như một phương pháp mới cho vấn đề lấy mẫu nén, với
sơ đồ như hình vẽ:
Hình 25: Sử dụng Chaos filter cho Compressive Sensing
Gỉa thiết:
• Cho tín hiệu vào x(n) chiều dài N , thưa K
• Bộ lọc hỗn độn với hàm truyền h(n) có chiều dài B < N .
• Tín hiệu lấy mẫu nén y(n) có chiều dài M.
Tín hiệu p(n) ra khỏi bộ lọc có chiều dài B+N − 1 được tạo bởi phép nhân chập giữa x(n)
và h(n):
p(n) =
∞∑
k=0
x(k)h(n− k)
Để tạo ra tín hiệu lấy mẫu nén y(n) chiều dài M, chúng ta thực hiện giảm tốc tín hiệu p(n)
với hệ số giảm tốc là B+N−1
M
:
y(n) = Downsample↓B+N−1
M
{p(n)}
Việc thực hiện toàn bộ quá trình trên có thể phân tích chi tiết bằng sơ đồ:
Phép nhân chập:
31
(a) Tính p(0)
(b) Tính p(1)
(c) Tính p(2)
(d) Tính p(3)
(e) Tính p(4)
(f) Tính p(5)
(g) Tính p(M + N − 1)
Hình 26: Quá trình thực hiện nhân chập với bộ lọc hỗn độn
Quá trình này lại có thể được thay thế bằng phép nhân giữa tín hiệu x(n) với một ma trận
A kích thước (B +N − 1)×N .
Ma trận A được tạo bởi hàm truyền h(n) của bộ lọc hỗn độn. Hàng đầu tiên của ma trận
A có phần tử đầu tiên là h(B), các phần tử còn lại bằng 0. Hàng thứ hai được tạo bằng cách
dịch hàm truyền h(n) của bộ lọc sang phải một vị trí so với hàng thứ nhất. Cứ như vậy các
hàng phía dưới được tạo bằng cách dịch h(n) sang phải một vị trí so với hàng liền kề phía trên
nó. Khi đó phép nhân chập sẽ hoàn toàn tương đương với việc thay thế bởi phép nhân ma trận
A với tín hiệu x(n).
32
Hình 27: Phép nhân chập được chuyển đổi thành phép nhân ma trận
Tiếp tục thực hiện giảm tốc tín hiệu p(n) thu được với hệ số giảm tốc λ = B+N−1
M
để thu
được tín hiệu nén y(n) có chiều dài M:
y(n) = Downsample↓λ{p(n)} = p(nλ) với n = 0, 1....M
Hình 28: Kết quả tạo thành từ việc giảm tốc tín hiệu p(n)
Tương đương với việc tạo thành tín hiệu y(n) từ việc giảm tốc, M hàng tương ứng của ma
trận A cũng được tách ra tạo thành ma trận Φ. Do đó có thể viết được:
Y = ΦX
33
Kết quả chúng ta lại thu được vectơ đo Y và tái tạo được ma trận đo Φ từ hàm truyền h(n)
của bộ lọc hỗn độn.
Do đó sử dụng 2 tham số đầu vào này ( vectơ Y và ma trận Φ ) cho thuật toán khôi phục
tín hiệu OMP chúng ta sẽ khôi phục được tín hiệu x̂(n). Xét trong một hệ thống truyền tin
giữa nơi gửi và nơi nhân, do hàm truyền của bộ lọc hỗn độn là hoàn toàn biết trước nên nơi
dễ dàng khôi phục lại Φ, do đó việc truyền tín hiệu giữa nơi phát và nơi thu chỉ cần gửi duy
nhất vectơ Y .
7 Mô phỏng
Trong tất cả các phương pháp mô phỏng, chúng ta sử dụng một tín hiệu x(n) chiều dài 512 độ
thưa 20 được tạo ra một cách ngẫu nhiên.
N = 512;
T = 20;
K = 90;
x = zeros(N,1);
q = randperm(N);
x(q(1:T)) = sign(randn(T,1));
Hình 29: Tín hiệu thưa x(n)
34
7.1 Mô phỏng kỹ thuật lấy mẫu nén sử dụng bộ lọc ngẫu nhiên
Với phương pháp sử dụng bộ lọc ngẫu nhiên của Joel A.Tropp, Michael B.Wakin. Hàm truyền
của bộ lọc được tạo ra ngẫu nhiên.
H=rand(1,M); với M là chiều dài của bộ lọc.
Sau khi thực hiện nhân chập tín hiệu x(n) với hàm truyền h(n) chúng ta thực hiện việc
giảm tốc và khôi phục tín hiệu sử dụng phương pháp OMP. Sơ đồ bên dưới cho thấy kết quả
mô phỏng với hàm truyền h(n) chiều dài M = 100
Hình 30: Kết quả mô phỏng với random filter
7.2 Mô phỏng sử dụng bộ lọc hỗn độn với phương pháp khôi phục
L1 minimization
Phương pháp này chúng ta sử dụng hàm Chaos:
h(n+ 1) = C.h(n)(1− h(n) + h(n) với C = 3, h(0) = 0.5
Để tạo ra hàm truyền h(n) có chiều dài M ∗N , do đó 2 tham số đầu vào cho hàm Chaos là M
và N .
h=chaos(M,N);
Nhân chập tín hiệu x(n) với hàm truyền h(n),sau đó giảm tốc. Việc khôi phục tín hiệu được
thực hiện bởi L1-minimization, bước đầu tiên của quá trình này là tái tạo lại ma trận đo Φ
bằng cách cắt hàm truyền h(n) thành M đoạn chiều dài N sau đó ghép lại tạo thành ma trận
đo Φ, bước thứ 2 đưa các tham số đầu vào vào thuật toán L1-minimization để khôi phục lại
tín hiệu. Kết quả mô phỏng trong sơ đồ bên dưới.
35
Hình 31: Kết quả mô phỏng sử dụng bộ lọc hỗn độn và khôi phục bằng L1-minimization
7.3 Mô phỏng sử dụng bộ lọc hôn độn với phương pháp khôi phục
OMP
Với phương pháp khôi phục sử dụng OMP, hàm hỗn độn chúng ta cần duy nhất một tham số
đầu vào là chiều dài của bộ lọc.
h=chaos(M);
Và tiếp tục sử dụng hàm chaos:
h(n+ 1) = C.h(n)(1− h(n)) + h(n) với C = 3, h(0) = 0.5
Sau khi tiến hành nhân chập, giảm tốc đồng thời với việc tái tạo ma trận đo Φ làm đầu vào
cho thuật toán OMP. Chúng ta thu được kết quả mô phỏng.
Hình 32: Kết quả mô phỏng sử dụng bộ lọc hỗn độn và khôi phục bằng L1-minimization
36
8 Kết Luận
Lấy mẫu nén(Compressed Sensing), một lĩnh vực mới được phát triển trong 2 năm trở lại
đây nhưng đã thể hiện được những ưu điểm vượt trội của nó. Vượt qua tiêu chuẩn lấy mẫu
Nyquist/Shanon nó cho phép lấy mẫu ở tốc độ thấp hơn nhiều(tùy từng loại tín hiệu). Lấy mẫu
nénthực sự là một giải pháp hiệu quả trong thời đại ngày nay khi mà các tài nguyên như băng
tần (bandwidth) ngày càng hạn hẹp do được sử dụng cho nhiều mục đích khác nhau trong dân
sự, quốc phòng, an ninh. Với tốc độ lấy mẫu thấp nó còn cho phép giảm giá thành chế tạo đối
với các thiết bị như ADC/DAC, đơn giản hóa trong việc chế tạo các thiết bị thu tín hiệu.
Phần đầu của khóa luận đã trình bày tổng quan về phương pháp lấy mẫu nén và giới thiệu
một số ứng dụng của nó. Phần thứ hai triển khai nghiên cứu thiết kế bộ lọc hỗn độn (chaos
filters) nhằm thay thế bộ lọc ngẫu nhiên (random filters) trong phương pháp lấy mẫu nén. Kết
quả nghiên cứu này đã được gửi đăng trong tạp chí quốc tế sau đây:
Nguyen Linh-Trung, Dinh Van Phong, Zahir M. Hussain, and Huynh Huu Tue, “Compressed
sensing using chaos filters”, IET Electronics Letters, submitted May 26, 2008.
Lý thuyết lấy mẫu nén đang được tiếp tục phát triển và hoàn thiện trong các kỹ thuật lấy
mẫu mới. Việc áp dụng lấy mẫu nén trong các ứng dụng thực tế, nơi mà các tín hiệu thưa là
nhiều(do đó việc lấy mẫu với tốc độ Nyquist là dư thừa và không cân thiết) như MRI, xử lý
ảnh...cũng đang được tiếp tục phát triển hứa hẹn những kết quả khả quan trong tương lai.
37
Tài liệu
[1] J. A.TROPP and A. C.GILBERT, “signal recovery from random measurements via orthog-
onal matching pursuit,” 2006.
[2] S. P. Emmanuel J. Candès, Michael B.Wakin, “Enhancing sparsity by reweighted l1 mini-
mization,” Nov 2007.
[3] R. G.Baraniuk, “Compressive sensing,” IEEE signal processing magazine, pp. 118–124, July
2007.
[4] M. F. D. B. Joel A.Tropp, Michael B.Wakin and R. G.Braniuk, “Random filters for com-
pressive sampling and recontruction,” Proc.Int.Conf.Acoustics, Speech, Signal Processing,
May 2006.
[5] D. D. Michael Lustig and J. M.Pauly, “Sparse mri: The application of compressed sensing
for rapid mr imaging,” Magnetic Resonance in Medicine, vol. 58, pp. 1182–1195, 2007.
[6] D. NEEDELL and R. VERSHYNIN, “Uniform uncertainty principle and signal recovery via
regularized orthogonal matching pursuit,” July 23 2007.
[7] L. O.CHUA and T. LIN, “Chaos in digital filters,” IEEE transactions on circuit and systems,
vol. 35, pp. 648–658, June 1988.
[8] P. T.Boufounos and R. G.Baraniuk, “Recontructing sparse signals from their zero crossings,”
2007.
[9] Z. Tian and G. B. Giannakis, “Compressed sensing for wideband cognitive radios,” IEEE,
2007.
38
Các file đính kèm theo tài liệu này:
- Lay mau nenCompressed Sampling.pdf