Ước lượng phổ sử dụng phương pháp MUSIC và Periodogram. Dùng phương pháp Monte Carlo để đánh giá độ chính xác của phương pháp ước lượng phổ Periodogram và MUSIC. Ước lượng thông số của kênh truyền sử dụng bộ lọc thích nghi dùng giải thuật RLS. So sánh kết quả ước lượng thông số kênh truyền sử dụng bộ lọc thích nghi dùng giải thuật RLS so với bộ lọc Wiener. Dùng phương pháp Monte Carlo để đánh giá chất lượng của phương pháp ước lượng kênh truyền dùng bộ lọc thích nghi với giải thuật RLS so với dùng bộ lọc Wiener.
Trang 1BÁCH KHOA Chương trình kỹ sư chất lượng cao Việt Pháp
BÁO CÁO BÀI TẬP LỚN
XỬ LÝ THỐNG KÊ TÍN HIỆU NGẪU NHIÊN
SPECTRAL ESTIMATION AND ADAPTIVE FILTERS
GVHD: PGS TS Đỗ Hồng Tuấn
Nhóm 1 - Sinh viên thực hiện: Võ Nguyễn Gia Luật – 1611944
TP Hồ Chí Minh, ngày 25 tháng 12 năm 2020
Trang 2I PROBLEM 1: SPECTRAL ESTIMATION 2
1 Yêu cầu 2
2 Thực hiện 2
2.1 Ước lượng phổ tín hiệu sử dụng phương pháp Periodogram và MUSIC 2
2.2 Dùng phương pháp Monte Carlo để đánh giá độ chính xác của phương pháp ước lượng phổ Periodogram và MUSIC 9
II PROBLEM 2: ADAPTIVE FILTERS 12
1 Yêu cầu 12
2 Thực hiện 12
2.1 Ước lượng thông số của kênh truyền sử dụng bộ lọc thích nghi dùng giải thuật RLS 13
2.2 Ước lượng số lượng mẫu cần thiết để đạt được sự hội tụ 19
2.3 So sánh kết quả ước lượng thông số kênh truyền sử dụng bộ lọc thích nghi dùng giải thuật RLS so với bộ lọc Wiener 21
2.4 Dùng phương pháp Monte Carlo để đánh giá chất lượng của phương pháp ước lượng kênh truyền dùng bộ lọc thích nghi với giải thuật RLS so với dùng bộ lọc Wiener 22
Trang 3I PROBLEM 1: SPECTRAL ESTIMATION
1 Yêu cầu
Consider a sum of sinusoids in white Gaussian noise The sinusoids are with frequencies of Fs/2, Fs/2 and Fs/2 (𝜶 = 𝟎 𝟏, 𝜷 = 𝟎 𝟒, = 𝟎 𝟑𝟕 ) and with amplitudes of a, b and c (𝒂 = 𝟐, 𝒃 = 𝟓, 𝒄 = 𝟓), respectively The Fs is sampling frequency Number of signal samples is d (𝒅 = 𝟏𝟎𝟎), DFT size is e (𝒆 = 𝟐𝟎𝟒𝟖)
The white Gaussian noise is with variance of 1 and zero mean a) Plot the estimated spectrum of sum of sinusoids in white Gaussian noise using
Periodogram and MUSIC
b) Evaluate the accuracy of frequency estimation for different values of noise
variance from 0.5 to 5 (using Monte Carlo simulations)
2 Thực hiện
2.1 Ước lượng phổ tín hiệu sử dụng phương pháp Periodogram và MUSIC
- Sử dụng lý thuyết về ước lượng phổ dựa trên phương pháp Periodogram và MUSIC để thực hiện ước lượng phổ của tín hiệu gồm 3 thành phần hình sin có dạng:
𝑥[𝑛] = 2cos (0.1 Fs/2) + 5cos (0.4 Fs/2) + 5cos (0.37 Fs/2) Nhiễu cộng vào là AWGN với 𝑚𝑒 = 0, 𝜎𝑛2 = 1, số mẫu lấy vào là 100 mẫu, số điểm DFT là 2048 điểm Thực hiện mô phỏng với Matlab tìm được phổ ước lượng của tín hiệu:
Trang 4 Nhận xét: Phổ ước lượng khi sử dụng phương pháp Periodogram có thành phần
sidelobe nhiều nên nếu tín hiệu có biên độ nhỏ sẽ rất khó phân biệt do sẽ lẫn vào trong các sidelobe Tuy nhiên, thành phần mainlobe có độ rộng hẹp nên độ phân giải khá tốt, nhất là khi hai tín hiệu có tần số gần nhau như 0.37 Fs/2 và 0.4 Fs/2 Đối với phương pháp MUSIC, phổ nhận được là phổ giả nên thành phần sidelobe rất bé nên hầu như không ảnh hưởng đến việc nhận biết các tín hiệu có biên độ
bé, tuy nhiên do số lượng mẫu lấy vào chỉ là 100 mẫu nên phổ tại tần số mong muốn không tiến về vạch phổ được do đó việc nhận dạng các tín hiệu gần nhau không tốt như đối với phương pháp Periodogram
- Khảo sát lại phổ với a = 0.1 để thấy được sự giảm biên độ ảnh hưởng đến hai phương pháp như thế nào:
Trang 5Dựa vào kết quả mô phỏng ta thấy khi biên độ tín hiệu giảm, nếu dựa vào phương
pháp Periodogram thì kết quả nhận dạng không còn chính xác tín tần số của hiệu
ứng với biên độ a = 1 nữa do thành phần sidelobe có biên độ lớn nên rất khó để
phân biệt nó so với tín hiệu thực Phương pháp MUSIC mặc dù hơi khó nhìn
nhưng vẫn có thể tìm ra phổ chính xác ứng với biên độ lớn nhất, vì ảnh hưởng
của sidelobe là không nhiều
- Giả sử, số mẫu lấy vào tăng lên là d = 2000 mẫu, khảo sát lại phổ trên với a = 1:
Trang 6Rõ ràng, khi số mẫu tăng lên rất nhiều thì cả 2 phương pháp đều cho kết quả rất
chính xác dù tín hiệu có tần số khá gần nhau hay biên độ có giảm đáng kể
Trở lại với phổ của tín hiệu với các thông số ban đầu Dựa vào phổ tín hiệu, nếu
nhận biết bằng mắt ta sẽ tìm ra các tần số của tín hiệu vào tại các vị trí có đỉnh
phổ cao nhất Tuy nhiên do hai tín hiệu ở tần số 0.4 Fs/2 và 0.37 Fs/2 gần nhau
nên khi sử dụng phương pháp MUSIC giữa chúng có thể xuất hiện một đỉnh nhỏ
nhô cao hơn so với 2 đỉnh ứng với 2 tần số chính xác:
- Nếu dùng mắt để quan sát, ta có thể phỏng đoán được đỉnh cao nhất này không
ứng với tần số thực do phổ hẹp hơn nhiều so với hai đỉnh xung quanh Vì vậy,
vẫn có thể phỏng đoán được 3 tần số đầu vào từ việc quan sát phổ tín hiệu thu
được
- Để có thực hiện việc nhận biết phổ dựa trên code Matlab thì cần thêm một đoạn
chương trình để tìm các đỉnh của phổ Từ các đỉnh này, lựa ra 3 đỉnh có biên độ
lớn nhất:
Trang 7Nhận thấy rằng, nếu dựa vào đỉnh cao nhất để xác định sẽ có trường hợp chọn nhằm điểm nhô lên giữa hai tần số 0.4 Fs/2 và 0.37 Fs/2 khi sử dụng phương pháp MUSIC:
Để có loại bỏ đỉnh nhô lên này, cần thêm điều kiện ràng buộc trong chương trình về độ phân giải nhỏ nhất của tần số như sau :
Trang 8Đoạn chương trình này chỉ lấy những đỉnh mà khoảng cách giữa nó với hai đỉnh
lân cận lớn hơn 0.028 Fs/2, đồng nghĩa với nếu trong một đoạn tần số rộng 0.056
Fs/2 mà có chứa 3 đỉnh thì sẽ bỏ qua đỉnh ở giữa
Kết quả đạt được là xác định được khá chính xác tần số của tín hiệu ban đầu:
- Thực hiện ước lượng phổ tín hiệu sử dụng Periodogram và MUSIC 2000 lần và
lấy giá trị DFT trung bình tại mỗi điểm, ta được kết quả:
Trang 9Phổ trung bình của 2000 lần mô phỏng độc lập này rõ ràng hơn và dễ quan sát
hơn so với việc thực hiện riêng lẻ từng lần một
Trang 102.2 Dùng phương pháp Monte Carlo để đánh giá độ chính xác của phương pháp ước lượng phổ Periodogram và MUSIC
- Sau mỗi lần ước lượng phổ, xác định được 3 tần số cần ước lượng:
+ 𝛼̂𝑃, β̂𝑃,̂𝑃 khi dùng Periodogram
+ 𝛼̂𝑀𝑈, β̂𝑀𝑈,̂𝑀𝑈 khi dùng MUSIC
- Để đánh giá chất lượng của phương pháp ước lượng không thể chỉ dựa vào một lần thực nghiệm mà phải lặp đi lặp lại thí nghiệm nhiều lần để xác định sai số RMS (Root mean square error) của từng thông số ước lượng so với giá trị thực
tế Đây chính là phương pháp Monte Carlo:
𝑖=1
𝜀βP/𝑀𝑈 = √1
𝑀∑|β̂𝑃 − β𝑃|2𝑀
𝑖=1
𝜀
P /𝑀𝑈 = √1
𝑀∑|̂𝑃−𝑃|2𝑀
𝑖=1
- Dựa vào công thức trên, thực hiện lặp lại thí nghiệm 2000 lần với phương sai của nhiễu 𝜎𝑛2 = 1, ta được kết quả:
𝜀αP = 0.98%
Trang 11 Nhận xét: Kết quả trên cho thấy khi phương sai nhiễu là 1, phương pháp
Periodogram và MUSIC đều ước lượng phổ với độ chính xác cao Đối với tần
số của tín hiệu có biên độ thấp, phương pháp MUSIC cho sai số thấp hơn Đối với các tín hiệu có tần số gần nhau nhìn chung phương pháp Periodogram cho kết quả tốt hơn với số lượng mẫu hữu hạn 100
- Thay đổi phương sai trong khoảng 0.1 đến 5, bước 0.1 khảo sát kết quả đạt được:
Trang 13 Nhận xét: Khi phương sai của nhiễu nhỏ hơn 1, sai số RMS của cả hai phương
pháp rất nhỏ cho thấy độ chính xác của cả 2 phương pháp rất tốt Tuy nhiên khi phương sai của nhiễu tăng lên, sai số của cả 2 phương pháp cũng tăng lên nhanh Đặc biệt khi phương sai của nhiễu lớn hơn 2, sai số trong việc ước lượng phổ trở nên lớn hơn, dẫn đến chất lượng của việc ước lượng giảm Nhìn chung thì đối với tín hiệu có biên độ nhỏ, phương pháp MUSIC cho sai số nhỏ hơn tức là khả năng nhận biết tốt hơn do đặc tính chứa sidelobe nhỏ của MUSIC so với Periodogram Với các tín hiệu có tần số gần nhau thì Periodogram cho kết quả nhận dạng tốt hơn với một lượng mẫu quan sát hữu hạn
II PROBLEM 2: ADAPTIVE FILTERS
a) Estimate the weight vector w of Adaptive FIR filter
b) Estimate the number of samples for the convergence
c) Compare the estimated weight vector w with the optimum weight vector using
Wiener FIR filter
d) Evaluate the root mean squared error (RMSE) between the estimated weight
vector w and the optimum weight vector for different values of 𝜎𝑛2 using Monte Carlo simulations
Trang 14𝑤0 = 0 𝑃(0) = 𝛿−1𝐼 Thực hiện vòng lặp đệ quy với 𝑛 = 1,2, … , 𝑁 để cập nhật trọng số của bộ lọc dựa trên các giá trị trọng số và sai số trước đó
𝑧(𝑛) = 𝑃(𝑛 − 1)𝑥∗(𝑛)
λ + 𝑥𝑇(𝑛)𝑧(𝑛)𝑧(𝑛) 𝛼(𝑛) = 𝑑(𝑛) − 𝑤𝑛−1𝑇 𝑥(𝑛)
𝑤𝑛 = 𝑤𝑛−1+ 𝛼(𝑛)𝑔(𝑛) 𝑃(𝑛) = 1
λ[𝑃(𝑛 − 1) − 𝑔(𝑛)𝑧𝐻(𝑛)]
Trong đó hệ số λ được gọi là hệ số quên (0 ≤ λ ≤ 1) Giá trị λ thể hiện sự ảnh hưởng của mẫu trước đó đến giá trị của ma trận hiệp phương sai Giá trị λ gây ảnh hưởng lên khả năng bám theo của thuật toán thích ứng Khi λ càng bé thì
Trang 15cập nhật các thông số càng nhanh, tuy nhiên thuật toán lại nhạy cảm với nhiễu
Trong thực tế λ thường được chọn trong khoảng từ 0,98 đến 1
- Giải thuật RLS trong Matlab:
function [W, alpha] = rls(x,d,nord,lambda)
- Sử dụng giải thuật RLS đã nêu ở trên để thực hiện chương trình ước lượng kênh
truyền với số mẫu là 1000, hệ số quên chọn là 1, giả sử kênh truyền FIR thực tế
có dạng:
𝐻(𝑧) = 1 + 2𝑧−1+ 5𝑧−2
Trang 16So sánh với việc thực hiện giải thuật LMS:
Nhận xét: Phương pháp sử dụng bộ lọc thích nghi với giải thuật RLS cho kết quả
ước lượng kênh truyền tốt, kết quả đạt được sau 1000 mẫu là [1.0233 1.9965 5.0126]
hầu như đúng với giá trị thực So với sử dụng giải thuật LMS, giải thuật RLS cho kết quả chính xác hơn, tốc độ hội tụ cao hơn nhiều mặc dù thuật toán có phức tạp hơn sơ với LMS
- Quan sát sai số giữa tín hiệu đầu ra khi đi qua kênh truyền thực tế và đầu ra của
bộ lọc thích nghi Thực hiện phép thử 200 lần để tìm trung bình bình phương của sai số, kết quả cho thấy sai số trung bình bình phương của tín hiệu đầu ra giữa bộ lọc thích nghi và kênh truyền thực tế là hằng số và bằng 0.59822 (gần
về 0) cho thấy phương pháp ước lượng dựa trên AF RMS này là phù hợp để ước lượng kênh truyền
Trang 17- Thực hiện lại bộ lọc AF RLS với kênh truyền FIR thực tế có dạng:
𝐻(𝑧) = 1 + 1.4𝑧−1+ 5.6𝑧−2+ 2.5𝑧−3+ 4.7𝑧−4
Trang 18- Thực hiện lại với kênh truyền FIR thực tế có dạng:
𝐻(𝑧) = 1 + 3𝑧−1+ 2 8𝑧−2+ 1.5𝑧−3+ 2.3𝑧−4+ 5.6𝑧−5
Trang 19Nhận xét: Sau khi khảo sát nhận dạng các kênh truyền có bậc khác nhau cho thấy
phương pháp sử dụng bộ lọc thích nghi với giải thuật RLS cho kết quả ước lượng
kênh truyền có độ chính xác cao và tốc độ hội tụ nhanh Tín hiệu ngõ ra của bộ lọc
AF và tín hiệu ngõ ra thực tế của kênh truyền chưa biết khi có nhiễu là giống nhau,
cho thấy bộ lọc đã ước lượng được một cách chính xác kênh truyền chưa biết Đây
chính là những ưu điểm vượt trội của RLS so với các giải thuật đơn giản như LMS
- Thực hiện lại bộ lọc AF RLS có phương sai nhiễu tăng lên 𝜎𝑛2 = 0.5 với kênh
truyền FIR thực tế có dạng:
𝐻(𝑧) = 1 + 1.4𝑧−1+ 5.6𝑧−2+ 2.5𝑧−3+ 4.7𝑧−4
Trang 20Nhận xét: Kết quả đạt được cho thấy sai số MMSE của bộ lọc AF RLS là 0.70589
lớn hơn so với trường hợp khảo sát với 𝜎𝑛2 = 0.35 ở trên (MMSE đạt 0.62701) Điều
này cho thấy khi phương sai nhiễu tăng lên, khả năng ước lượng của bộ lọc AF cho
chất lượng ước lượng giảm xuống với cùng một lượng mẫu hữu hạn đã chọn
- Thực hiện lại bộ lọc AF RLS có hệ số quên λ = 0.98 với kênh truyền FIR thực
tế có dạng:
𝐻(𝑧) = 1 + 1.4𝑧−1+ 5.6𝑧−2+ 2.5𝑧−3+ 4.7𝑧−4
Nhận xét: Hệ số quên có ảnh hưởng đến quá trình ước lượng RLS Khi hệ số quên
càng giảm, sai số của phép ước lượng càng lớn, do bộ lọc AF lúc này nhạy cảm hơn
với nhiễu của kênh truyền
2.2 Ước lượng số lượng mẫu cần thiết để đạt được sự hội tụ
- Ở câu a đã tiến hành thực hiện ước lượng kênh truyền với số mẫu cố định là
1000 Tuy nhiên, số mẫu thực tế tùy thuộc vào nhiễu kênh truyền , số tham số
ước lượng và sai số mục tiêu đặt ra để đạt được sự hội tụ Giả sử, sai số lớn nhất
có thể giữa các giá trị 𝑤̂𝑘 ước lượng và các giá trị thực tế của hàm truyền yêu
cầu cho sự hội tụ là 10−3:
𝑚𝑎𝑥{𝑎𝑏𝑠(𝑤̂𝑘 − 𝑤𝑘)/𝑤𝑘} ≤ 10−3
Trang 21Thực hiện vòng lặp while… for đến khi đạt được sai số bé hơn sai số hội tụ đã
chọn thì dừng Giả sử kênh truyền FIR thực tế có dạng:
𝐻(𝑧) = 1 + 1.4𝑧−1+ 5.6𝑧−2+ 2.5𝑧−3+ 4.7𝑧−4
Nhận xét: Khi chọn điều kiện hội tụ nhỏ, thời gian hội tụ sẽ lâu nhưng bù lại được
độ chính xác cao hơn Do đó tùy vào mục đích bài toán mà chọn điều kiện hội tụ
phù hợp
Trang 222.3 So sánh kết quả ước lượng thông số kênh truyền sử dụng bộ lọc thích nghi
dùng giải thuật RLS so với bộ lọc Wiener
- Thực hiện ước lượng kênh truyền dùng bộ lọc Wiener, với bộ lọc thực tế có
dạng:
𝐻(𝑧) = 1 + 1.4𝑧−1+ 5.6𝑧−2+ 2.5𝑧−3+ 4.7𝑧−4
- So sánh kết quả của bộ lọc thực tế với bộ lọc Winer, với giá trị mẫu N = 3005
tìm được ở câu b:
Trang 23Nhận xét: Kết quả so sánh cho thấy phương pháp ước lượng sử dụng bộ lọc thích
nghi RLS sau khi hội tụ cho kết quả bám rất tốt so với giá trị ước lượng từ bộ lọc Wiener Có thể kết luận phương pháp ước lượng dùng bộ lọc thích nghi RLS vừa cho kết quả tiệm cận giá trị tối ưu của bộ lọc Wiener, vừa có thể cập nhật thông số một cách thích nghi tùy thuộc vào sự thay đổi đặc tính thống kê của tín hiệu
2.4 Dùng phương pháp Monte Carlo để đánh giá chất lượng của phương pháp ước lượng kênh truyền dùng bộ lọc thích nghi với giải thuật RLS so với dùng
là giá trị có được từ bộ lọc Winer Đây chính là phương pháp Monte Carlo:
Trang 24- Nếu số lần thực hiện phép lặp đủ lớn, có thể xấp xỉ trung bình thống kê bởi trung bình như sau:
𝜀W1 = √1
𝑀∑|𝑤̂1− 𝑤̂1𝑜𝑝𝑡|2𝑀
𝑖=1
𝜀W2 = √1
𝑀∑|𝑤̂2− 𝑤̂2𝑜𝑝𝑡|2𝑀
𝑖=1
𝜀W3 = √1
𝑀∑|𝑤̂3− 𝑤̂3𝑜𝑝𝑡|2𝑀
𝑖=1
𝜀W4 = √1
𝑀∑|𝑤̂4− 𝑤̂4𝑜𝑝𝑡|2𝑀
𝑖=1
𝜀W5 = √1
𝑀∑|𝑤̂5− 𝑤̂5𝑜𝑝𝑡|2𝑀
Trang 25 Nhận xét: Khi phương sai của nhiễu là 0.35, sai số RMS của phép ước lượng so
với giá trị tối ưu của bộ lọc Wiener là rất nhỏ, cho thấy phương pháp sử dụng bộ
lọc thích nghi RLS ước lượng trọng số kênh truyền với độ chính xác cao
- Thay đổi phương sai trong khoảng 0.05 đến 5, bước 0.05 khảo sát kết quả đạt
được:
Nhận xét: Khi nhiễu AWGN tăng phương sai, sai số của bộ lọc thích nghi tăng
lên nhưng giá trị sai số vẫn nhỏ trong tầm phương sai nhiễu từ 0.05 đến 5 Điều
đó cho thấy khả năng hoạt động tốt của bộ lọc thích nghi khi điều kiện môi
trường thay đổi