MATLAB ỨNG DỤNG TRONG VIỄN THÔNG - Trang 324

Các bộ cân bằng

293

o Sử dụng cùng một bộ cân bằng trong các vòng lặp:

1) Trước khi bắt đầu các vòng lặp, khởi tạo bộ cân bằng mà ta cần sử dụng.

2) Thiết lập thuộc tính

ResetBeforeFiltering = 0

để bảo đảm tính liên tục giữa các

lần lặp.

3) Trong mỗi vòng lặp, sử dụng hàm equalize để thực hiện cân bằng.

o Thay đổi bộ cân bằng trong các vòng lặp:

1) Trước khi bắt đầu các vòng lặp, khởi tạo các đối tượng mô tả các bộ cân bằng khác

nhau mà ta sẽ sử dụng trong các vòng lặp. Ví dụ: tạo đối tượng

eqcma

mô tả bộ cân

bằng dùng giải thuật CMA và một đối tượng

eqlms

mô tả bộ cân bằng dùng giải thuật

LMS.

2) Với mỗi đối tượng được tạo ra ở bước 1, thiết lập thuộc tính

ResetBeforeFiltering

bằng 0.

3) Tạo một đối tượng mô tả bộ cân bằng eq_current để chỉ bộ cân bằng được sử dụng

trong các vòng lặp và gán cho nó giá trị là đối tượng mô tả bộ cân bằng cần sử dụng
trong vòng lặp đang xét. Ví dụ: trong vòng lặp đầu tiên, gán

eq_current = eqcma

,

trong vòng lặp thứ hai, gán

eq_current = eqlms

, ...

4) Trong mỗi vòng lặp, thực hiện các bước sau:

a) Sử dụng hàm equalize với đối tượng

eq_current

để thực hiện quá trình cân bằng

b) Copy giá trị của các thuộc tính

WeightInputs

Weights

từ đối tượng

eq_current

sang đối tượng mà chúng ta sẽ sử dụng trong vòng lặp kế. Ví dụ:

eqlms.WeightInputs = eq_current.WeightInputs;

eqlms.Weights = eq_current.Weights;

c) Định nghĩa lại đối tượng

eq_current

để chỉ đến đối tượng mô tả bộ cân bằng sẽ sử

dụng trong vòng lặp kế tiếp. Như vậy,

eq_current

sẽ mô tả một bộ cân bằng mới

nhưng vẫn duy trì các trạng thái cũ và các trọng số cũ.

Ví dụ 18-3. Sử dụng bộ cân bằng tuyến tính để cân bằng một tín hiệu 16QAM, tín hiệu vào
được tách thành ba chuỗi dữ liệu nối tiếp nhau. Đầu tiên, sử dụng giải thuật RLS, sau lần lặp
thứ hai, chuyển sang giải thuật LMS.

% Thiết lập các thông sồ.

M = 16; % Tập ký hiệu của pp điều chế

sigconst = qammod(0:M-1,M); % Dạng phân bố của tín hiệu 16-QAM

chan = [1 0.45 0.3+0.2i]; % Các hệ số của kênh truyền

% Thiết lập các bộ cân bằng.

eqrls = lineareq(6, rls(0.99,0.1));% Khởi tạo một đối tượng mô tả bộ cân bằng

RLS.

eqrls.SigConst = sigconst; % Mô tả tín hiệu.

eqrls.ResetBeforeFiltering = 0; % Duy trì sự liên tục giữa các lần lặp.

eqlms = lineareq(6, lms(0.003)); % Khởi tạo một đối tượng mô tả bộ cân bằng

LMS.

eqlms.SigConst = sigconst; % Mô tả tín hiệu.

eqlms.ResetBeforeFiltering = 0; % Duy trì sự liên tục giữa các lần lặp.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.