Báo cáo thực hành Matlab
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HỒ CHÍ MINH CHƯƠNG TRÌNH KĨ SƯ CHẤT LƯỢNG CAO VIỆT PHÁP – PFIEV
BÁO CÁO THỰC HÀNH MATLAB CÁC TÍNH CHẤT PHỔ
GVHD: PGS.TS DƯƠNG HOÀI NGHĨA
SINH VIÊN: TRẦN NHẬT HOÀI BẢO
MSSV: 41100249 STT: 03
Tp.Hồ Chí Minh, tháng 4 năm 2015
Trang 3𝑃𝑐𝑜𝑟(𝑓) = 𝑇 ∑ 𝑟𝑥(𝑚𝑇)𝑒−𝑗2𝜋𝑓(𝑚𝑇)
𝑀
𝑚=−𝑀Theo công thức trên, nếu có T trong số mũ e, tần số f là tần số thực; ngược lại, nếu không có T trong số mũ e, tần số f là tần số chuẩn hóa
Thường chọn 𝑀 = 𝑁
10Ước lượng hàm tự tương quan
Ta có:
𝑟𝑥(𝜏) = 𝐸{𝑥(𝑡)𝑥∗(𝑡 − 𝜏)} = lim
𝑇→∞
12𝑇∫ 𝑥(𝑡)𝑥
∗(𝑡 − 𝜏)𝑑𝑡𝑇
−𝑇
≈ 1
𝑁∑ 𝑥(𝑘𝑇)𝑥
∗(𝑘𝑇 − 𝑚𝑇)𝑁−1
𝑘=𝑚
trong biểu thức trên ta có thể bỏ T cho gọn
Dữ liệu x(0), x(1), …., x(N-1)
Bộ ước lượng của hàm tương quan
Với bộ ước lượng không lệch ( Unbiased)
Và bộ ước lượng lệch ( Biased)
Trang 4Ước lượng mật độ phổ công suất
a Ước lượng bằng phương pháp bình phương tối thiểu
Ước lượng a a a1, 2, 3, ,a b n, 0từ dữ liệu x(0), , (x N1)
1 2
Trang 6Tại thời điểm k
Với cách đặt các kí hiệu như sau:
1 2
Trang 7
Và
Tại thời điểm k+1
[ 𝑥̃𝑘𝑥(𝑘 + 1)] = [
𝑅𝑘
∅𝑘𝑇] 𝜃 + [
𝑒̃𝑘𝑒(𝑘 + 1)] 𝑏0Với ∅𝑘 = −[𝑥(𝑘) 𝑥(𝑘 + 1) … 𝑥(𝑘 − 𝑛 + 1)]𝑇
𝜃𝑘+1= 𝜃𝑘+𝐺𝑘∅𝑘(𝑥𝑘+1− ∅𝑘
𝑇𝜃𝑘)
1 + ∅𝑘𝑇𝐺𝑘∅𝑘Đặt tiếp 𝐾𝑘+1 = 𝐺𝑘 ∅𝑘
.
k
e n
e n e
.
n
a a
Trang 8c Ước lượng bằng phương pháp bình phương Jule Walker
x(k)
Trang 9, , , ( 1) ( 2) ( ) (0)
Trang 10Với các thông số
𝑎1 = 0.5 𝑎4 = 0.6
𝑎2 = 0.4 𝑏0 = 0.4
𝑎3 = 0.5e(k) là ồn trắng với me=0 Tạo 1000 dữ liệu
Yêu cầu :
- Ước lượng và vẽ P e x( j2f) dùng Periodogram và correlogram
- Ước lượng mô hình AR dung phương pháp:
+ Bình phương tối thiểu
+ Bình phương tối thiểu đệ quy
+ Phương pháp Jule-Walker
- Vẽ P e x( j2f)
Trang 11SƠ ĐỒ KHỐI ĐƯỢCTHỰC HIỆN
Tín hiệu vào là nhiễu trắng với 𝑚𝑒 = 0 và variance 𝜎𝑒2 = 1
Trang 12Thay thế các giá trị vào trong H(z) ta được hàm:
Trang 13Kết quả ước lượng Periodogram với các cửa sổ
Kết luận: Với các của sổ giống nhau, vì vậy P e x( j2f) thu được cũng không giống nhau hoàn toàn
% Xac dinh P[exp(j2*Pi*f)] voi cua so Hanning
Trang 15Kết luận: P e x( j2f) thu được khi dùng Correlogram có dạng giống với P e x( j2f) khi sử dụng Periodogram
2 Ước lượng mô hình AR bằng 3 phương pháp
Phương pháp bình phương tối thiểu
Code Least squares
Trang 16Kết quả
Kết luận: Các hệ số được ước lượng tiến gần các hệ số được chỉ ra ở đầu bài Một số hệ số có
ước lượng sai số đáng kể
Phương pháp bình phương tối thiểu đệ quy
Code Recursive Least Squares
Trang 17Kết luận: Các hệ số được ước lượng khá giống với phương pháp bình phương tối thiểu ( Least
Squares)
Phương pháp bình phương Jule Walker
Code Jule Walker ( dùng hàm Matlab và dựa vào lí thuyết)
Trang 18Sử dụng 2 phương pháp tính Jule Walker để ra cùng 1 kết quả
Kết luận
Phương pháp Jule Walker cho ra các hệ số được ước lượng chính xác hơn 2 phương pháp bình phương tối thiểu và bình phương tối thiểu đệ quy Các hệ số có sai số đáng kể ở 2 phương pháp trên, trong phương pháp Jule Walker cho ra gần với hệ số đá cho hơn
Vẽ P e x( j2f) với các hệ số đã ước lượng ở trên ( làm với Periodogram dùng cửa sổ chữ nhật)
Trang 19Ước lượng Periodogram với phương pháp bình phương tối thiểu cho ta phổ 2
Trang 20Ước lượng Periodogram với phương pháp bình phương tối thiểu đệ quy cho ta phổ 2
Trang 21PHỤ LỤC
Hình trên là tín hiệu ngõ ra được vẽ từ các số liệu thu nhận được tại Project.mat
Hình hiện thị được từ Scope, trong đó phía trên là tín hiệu ngõ ra x(k), hình dưới là tín hiệu
nhiễu e(k)
Trang 22Các mẫu dữ liệu trong file Project.mat
Code Matlab vẽ P e x( j2f) dùng Periodogram với các phương pháp bình phương tối thiểu
Trang 23Phương pháp bình phương tối thiểu đệ quy
Và phương pháp bình phương Jule Walker
Các file chưa dữ liệu 1000 mẫu được lưu trong các file Project.mat (với câu 1, 2); ProjectLS.mat, ProjectRLS.mat, ProjectJW.mat (với các câu vẽ P e x( j2f)) của các tín hiệu đã được ước lượng
hệ số
Các file Project.mdl ( dùng cho câu 1,2) ; các file ProjectLS.mdl, ProjectRLS.mdl,
ProjectJW.mdl dùng để lấy dữ liệu cho các câu vẽ phổ phía sau
File ARmodel.m chứa code matlab các câu ước lượng bằng 3 phương pháp khác nhau
File Correlogram.m chứa code matlab cho vẽ phổ công suất bằng Correlogram
File Periodogram.m chứa code matlab cho vẽ phổ công suất bằng Periodogram
Các file PeriodogramLS.m, PeriodogramRLS.m và PeriodogramJW.m chứa code matlab cho vẽ phổ công suất bằng Periodogram cho các tín hiệu đã ước lượng hệ số