Mô phỏng, đánh giá chất lượng hệ thống truyền tin số sử dụng mã hamming với các phương thức điều chế khác nhau - Pdf 32

Lời mở đầu
Ngày nay, sự phát triển của công nghệ diễn ra rất năng động nên nhu cầu truyền
tin trong cuộc sống ngày càng trở nên được chú ý đến nhiều hơn. Thông tin đóng vai
trò rất quan trọng trong đời sống, quân sự, ngoại giao….vì vậy việc truyền dẫn thông
tin càng phải đặt lên hàng đầu. Đảm bảo an toàn về truyền tin giúp chúng ta thu và
nhận thông tin một cách chính xác hơn. Tuy nhiên trong quá trình truyền dẫn sẽ không
tránh khỏi lỗi và nhiễu. Do vậy việc sửa lỗi là rất cần thiết. Từ đó có rất nhiều phương
pháp sửa lỗi ra đời: Mã chập, mã vòng, mã BCH nhị phân, mã Hamming. Mỗi phương
pháp sửa lỗi đều mang những ưu điểm và nhược điểm riêng biệt, vì vậy việc lựa chọn
phương pháp sửa lỗi phải phù hợp để hệ thống hoạt động ổn định.
Sau đây chúng em xin trình bày về đề tài: “Mô phỏng, đánh giá chất lượng hệ
thống truyền tin số sử dụng mã Hamming với các phương thức điều chế khác
nhau”. Với sự hướng dẫn của giảng viên: ThS. Phạm Mạnh Toàn.
Trong quá trình xây dựng đồ án này khó có thể tránh những sai sót, rất mong
quý thầy cô và các bạn chỉ dẫn, đóng góp ý kiến để đề tài hoàn thiện hơn. Xin trân
trọng cảm ơn.
Sinh viên thực hiện
Nguyễn Việt Thắng

1


Phần 1: MÃ HÓA HAMMING SỬ DỤNG TRONG TRUYỀN TIN SỐ
1.1. Tổng quan về mã hóa kênh
1.1.1. Khái niệm chung
Mã hóa kênh là việc đưa thêm các bit dư vào tín hiệu số theo một quy luật nào
đấy, nhằm giúp cho bên thu có thể phát hiện và thậm chí sửa được cả lỗi xảy ra trên
kênh truyền.
Tín hiệu truyền qua kênh truyền sẽ bị ảnh hưởng bởi nhiễu, can nhiễu, fading…
là tín hiệu đầu thu bị sai. Mã hóa kênh dùng để bảo vệ dữ liệu không bị sai bằng cách
thêm vào các bit dư thừa.

Mã Hamming thuộc mã khối. Mã khối được hình thành như sau: Từ chuỗi bit X
của tin tức (ở dạng nhị phân) có độ dài bất kỳ (như hữu hạn), được chia thành các khối
mỗi khối bao gồm k bit (ký hiệu) thông tin, ở khối cuối cùng nếu không đủ k bit thông
tin nó sẽ được bổ sung thêm một số ký hiệu dạng 100…, để đủ trở thành khối có k ký
hiệu, sau khi giải mã các ký hiệu này bị loại bỏ đi.
Mỗi khối có k bit thông tin dài n ký hiệu, bao gồm 2 k từ mã, được gọi là mã khối
tuyến tính M(n,k), với điều kiện là tất cả 2 k từ mã hình thành nên không gian con bậc k
của không gian con vector bậc n trong trường nhị phân GF(2).
Tập hợp 2 phần tử 0 và 1, với phép cộng và phép nhân mod2, được gọi là trường
nhị phân và ký hiệu là GF(2). Đối với trường GF(2) có thể áp dụng mọi toán tử đại số
tuyến tính, trong đó có toán tử ma trận.
Nói một cách đơn giản là mã nhị phân được gọi là tuyến tính, nếu tổng theo
modul 2 (mod2) của hai từ mã bất kỳ cũng là từ mã của mã đó.
0⊕0 = 0
0 ⊕1 = 1
1⊕ 0 = 1
1 ⊕1 = 0

0.0 = 0
0.1 = 0
1.0 = 0
1.1 = 1

Mọi mã khối tuyến tính đều là mã hệ thống. Mã khối hệ thống là mã khối mà mỗi
khối bao gồm k bit thông tin và r ký hiệu dư thừa, tạo thành 2 khối con tách biệt nhau.

Hình 1.2 Một khối mã(từ mã) của mã khối hệ thống
Trên cơ sở toán học, mã khối tuyến tính hệ thống M(n,k) hoàn toàn được xác
định nhờ ma trận sinh G(n,k).
G( n , k ) =  E( k , k ) ; R( r ,k) 

H (X)


n

= 1−

log 2 2k
k
= 1−
> 0 ), nếu r=0 thì gC=0).
n
k+r

− Số lỗi có thể sửa được

 d0 − 1
,
 2 

Số lỗi có thể sửa được khi giải mã, ký hiệu là t và được xác định t ≤ 

trong đó ký hiệu [x] để chỉ phép lấy phần nguyên của x. Từ công thức này ta xác định
được một bộ mã muốn sửa lỗi cần d0≥2t+1. Chẳng hạn, bộ mã muốn sửa lỗi, t=1, cần
d0≥3 (trong trường hợp này có thể phát hiện được 2 lỗi).
Trong các loại mã khối có thể là mã khối trong trường nhị phân GF(2), cũng có
thể là mã khối trong trường GF(2m).
Mã Hamming là một mã sửa lỗi tuyến tính, mã này có thể phát hiện một bit hoặc
hai bit bị lỗi. Mã Hamming còn có thể sửa các lỗi do một bit bị sai gây ra.
Các mã có tham số với m≥3 được gọi là mã Hamming G( n, k ) =  E( k , k ) ; R( r ,k) 

(1.1)

T: chỉ phép chuyển vị ma trận
Với đặc tính trên ma trận kiểm tra H(n,k) được xác định theo ma trận sinh G(n,k) với
dạng biểu diễn như sau:
H ( n ,k ) = [R(Tr ,k ) , E( r ,r) ]

(1.2)

1.2.4. Thuật toán giải mã Hamming
Ma trận kiểm tra H(n,k) cho phép kiểm tra một từ mã nào đó có phải là từ mã của
bộ mã đang xét hay không. Đặc biệt khi thu được từ mã, ký hiệu P, có thể kiểm tra từ
T
mã này có mắc lỗi hay không bằng thuật toán S = P × H ( n ,k ) .

Trong công thức này S được gọi là vector Syndrome, có r ký hiệu. Nếu S=0, từ
mã P không có lỗi, còn ngược lại, nếu S ≠0, từ mã P có lỗi. Công thức trên gọi là thuật
toán giải mã phát hiện sai.
Ma trận
như sau :

H (Tn ,k )

có thể biểu diễn theo ma trận thành phần của ma trận sinh G(n,k)
 R( r , k ) 
H (Tn,k ) = 

 E( r ,r ) 

(1.3)

Nguyên tắc: Các tín hiệu nhị phân tác dụng lên sóng mang làm thay đổi pha của
sóng mang. Cụ thể là:
− Bit 1: pha của sóng mang là 00.
− Bit 0: pha của sóng mang là 1800.
Các giá trị này có thể ngược lại nhưng nguyên tắc chung là khi có sự đảo bit thì
pha của sóng mang lệch đi 1800.
Bảng chân lý của tín hiệu điều chế BPSK
Nhị phân đầu vào

Pha đầu ra

Logic 0

1800

Logic 1
00
Có thể thấy rõ ràng hơn trong cách biểu diễn trên đồ thị thời gian và trạng thái
của tín hiệu BPSK (Hình 2.2).
Điều chế khóa dịch pha nhị phân BPSK (Hình 2.3):
Với n=2, ∆Φ = π , thì ta có kiểu điều chế 2-PSK hay BPSK:
π
P(t ) = cos(ω0t + ϕ + s (t ) )
2

(1.7)

Sơ đồ tại tín hiệu BPSK dạng sin với hai giá trị tùy thuộc giá trị Data:
6


Khi tín hiệu BPSK là + sin(ωc t ) ứng với data bit = 1, sóng mang tái lập là sin(ωc t )

, sơ đồ nhân sẽ cho tín hiệu:
sin(ωc t )sin(ωct ) = sin 2 (ωc t ) = 1 (1 − cos(2ωc t ) = 1 − 1 cos(2ωc t )
2
2
2

(1.8)

Trong biểu thức trên thành phần thứ hai là xoay chiều, có tần số gấp đôi tần số
sóng mang. Khi sử dụng bộ lọc thông thấp với tần số cắt bằng tần số sóng mang, có
thể khử bỏ thành phần xoay chiều và thế dương của thành phần 1 chiều thứ nhất sẽ giữ
lại biểu diễn trạng thái “1” của Data bit.
Khi tín hiệu BPSK là − sin(ω ct ) ứng với data bit=0, sơ đồ nhân sẽ cho :
− sin(ωc t ) sin(ωct ) = − sin 2 (ωct ) = 1 (1 − cos(2ωct ) = − 1 + 1 cos(2ωct )
2
2
2

(1.9)

Trong biểu thức trên thành phần thứ 2 là xoay chiều, có tần số gấp đôi tần số
sóng mang. Khi sử dụng bộ lọc thông thấp với tần số cắt bằng tần số sóng mang, có
thể khử bỏ thành phần xoay chiều và thế âm của thành phần một chiều thứ nhất(-1/2)
được giữ lại sẽ biểu diễn trạng thái “0” của data bit.
Điều chế khóa dịch pha hiện nay được sử dụng rộng rãi trong các hệ thống thông
tin quân sự, thương mại, các hệ thống vi ba số. Phương thức điều chế này có thể xem
là một phương thức điều chế hiệu quả cho các ứng dụng truyền tin bằng vô tuyến vì nó
đảm bảo xác suất lỗi thấp nhất đối với một mức tín hiệu thu đã khẳng định do trên một

Tín hiệu ra từ mạch cân
bằng
sin ωc t

0

-

− sin ωc t

1

+

0

-

π
sin(ωc t + ) = cos ωc t
2
π
− sin(ωc t + ) = − cos ωct
2

Hình 1.7 Tín hiệu điều chế 4 pha

Hình 1.8 Mạch giải mã PSK – 4 pha

9

Ở kênh I mạch điều chế trên sóng mang ban đầu (không làm lệch pha) nên 4 giá
trị ngã ra là ± 0,821 cos ωc t và ± 0,34 cos ωc t trong khi ở ngã ra Q đó là các giá trị ±
10


0,821 sin ωct và ± 0,34 sin ωct . Mạch tổng sẽ tổng hợp tín hiệu ra của 2 kênh để cho ra
một tín hiệu duy nhất. Tùy theo các tín hiệu vào các tín hiệu ra sẽ có các pha khác
nhau (Hình 2.0). Trong hình này góc A xác định bởi

A = tan −1

0.34
= 22,50
0.821

Như vậy các tín hiệu điều chế của các tribit có pha khác nhau từng 45°

Hình 2.0 Góc pha của tín hiệu này xác định bởi dấu X
Nếu, các bit cba ở ngã vào là 101, ta có:






Mạch biến đổi ở kênh I cho: +0,821 V.
Mạch biến đổi ở kênh Q cho: -0,34 V.
Mạch điều chế ở kênh I cho: +0,821cosω ct.
Mạch điều chế ở kênh Q cho: -0,34 sinωct.
Tín hiệu ra sau cùng: 0,821 cosωct -0,34 sin ωct .

Nếu ta dùng phần mềm để mô phỏng hệ thống thì đơn giản hơn, ta chia thông tin
thành từng gới( frame) rồi truyền trên kênh. Sau khi truyền mỗi gói, ta thu thông tin,
giải mã... rồi so sánh nó với gói dữ liệu trước khi truyền và đếm số lỗi xảy ra khi
truyền gói tin đó. Giả sử rằng ta truyền N gói tin mỗi gói tin có độ dài K bits, tổng số
lỗi mà phần mềm đếm được sau khi truyền gói N đó là M thì BER là:
BER= M/(N*K)

12


Phần 2: MÔ PHỎNG, ĐÁNH GIÁ CHẤT LƯỢNG HỆ THỐNG TRUYỀN
TIN SỐ SỬ DỤNG MÃ HAMMING VỚI CÁC PHƯƠNG THỨC ĐIỀU CHẾ
KHÁC NHAU
Trong phần này, thực hiện mô phỏng đánh giá chất lượng hệ thống truyền tin số
trong trường hợp sử dụng và không sử dụng mã Hamming với các phương thức điều
chế. Mặt khác, đề tài cũng đánh giá hệ thống sử dụng mã Hamming với các phương
thức điều chế khác nhau BPSK, QPSK, 8 – PSK, 16 – PSK. Từ mối quan hệ giữa tỷ số
Eb/N0 và xác suất lỗi cho phép lựa chọn phương thức điều chế và mã hóa thích hợp.
2.1. Sử dụng mã Hamming M(7,4) cho quá trình mã hóa và giải mã
Đối với mã hamming M(7,4) ma trận sinh có dạng:

G(7,4)

1000110 
0100011

=
0010111



Với các bít thông tin I=(1000), sẽ xác định được từ mã V=(1000110).
Mạch điện mã hóa được xây dựng căn cứ vào thuật toán mã hóa ở trên(Hình 2.1).
Ô ghi dịch (phía trên), để ghi 4 bit thông tin. Các bit thông tin được dịch vào theo
trình tự: Bit m0 dịch vào đầu tiên, còn bit m3 dịch vào sau cùng.
Bộ cộng mod2(XOR), để tính 3 ký hiệu dư.
3 ô ghi dịch (vẽ dưới), để ghi ký hiệu dư.
Cổng AND1 mở từ nhịp 1 – 4 để đưa 4 bit thông tin ra ngoài, hình thành nên 4
bit thông tin của từ mã V.
Cổng AND2 mở từ nhịp 5 – 7 để đưa 3 ký hiệu dư ra ngoài, hình thành nên 3 ký
hiệu kiểm tra của từ mã V.
13


− Phần tử OR làm việc trong nhịp 7, để kết thúc một quá trình mã hóa, hình thành
nên từ mã V với 7 ký hiệu.

Hình 2.1 Mạch điện mã hóa của mã Hamming M(7,4)
Thuật toán giải mã:
Phía thu nhận được từ mã P. Xét hai trường hợp:
Trường hợp 1: Quá trình truyền không phát sinh lỗi, khi đó P ≡ V . Hay S=0 (với
giả thiết lỗi e ≤ 2 ).
Trường hợp 2: Quá trình truyền phát sinh lỗi, khi đó P ≠ V .
Với P=(r0,r1,r2,r3,r4,r5,r6), S=(s0,s1,s2). Ta có:

S =P ×H (Tn , k )

110 
011 



14


s0 = 1 ⊕ 0 ⊕ 0 ⊕ 1 = 0
s1 = 1 ⊕ 1 ⊕ 0 ⊕ 1 = 1
s2 = 1 ⊕ 0 ⊕ 0 ⊕ 0 = 1

(2.6)

Trường hợp này:
S = (011) ≠ 0 , dẫn đến kết luận P mắc lỗi.
− Vì s0=0 hơn nữa chúng ta giả thiết P chỉ mắc một lỗi, vậy nên khẳng định các ký
hiệu tham gia vào tổng này không mắc lỗi ; tức là r0,r2,r3,r4 không mắc lỗi.
− Vì s1=1 chúng ta giả thiết P chỉ mắc một lỗi, cho nên khẳng định các ký hiệu
tham gia vào tổng này mắc một lỗi. Kết hợp với kết luần ở trên, dẫn đến r 1 hoặc
r5 bị mắc lỗi.
− Vì s2=1 chúng ta giả thiết P chỉ mắc một lỗi, cho nên khẳng định các ký hiệu
tham gia vào tổng này mắc một lỗi. Kết hợp với kết luận ở trên, dẫn đến r 1 hoặc
r6 bị mắc lỗi.
− Kết hợp hai kết luận cuối, với giả thiết P chỉ mắc 1 lỗi, dẫn đến kết luận phần tử
mắc lỗi là r1, điều này hoàn toàn hợp lý với giả thiết ban đầu.
Khi thu có lỗi người ta thường sử dụng ký hiệu :
P =V +e
(2.7)
Trong đó e là vector lỗi. ở trên e=(0100000).
Bảng 2.1 Mối quan hệ giữa S và e
Vector lỗi e
1000000
0100000
0010000

− Mạch tính Syndrome, gồm 3 bộ cộng mod2, để tính (s 0,s1,s2). Các đầu vào của
các XOR được vẽ dựa trên thuật toán giải mã.
− Mạch chuyển đổi (giải mã) vector S từ mã hệ 2 sang hệ 10, và đưa ra mức logic
cao “1” ở đầu ra tương ứng với con số của hệ 10; các đầu ra còn lại có mức logic
0. Mạch điện này được gọi là mạch tạo ký hiệu sửa sai.
− Mạch điện chứa dấu sửa sai (được đánh số từ 0 đến 3). Phần tử r i nào mắc lỗi, ô
ghi dịch có ghi số tương ứng được nạp mức logic 1, các ô còn lại nạp mức logic
0.
15


− Mạch sửa lỗi là XOR, ký hiệu M. Ký hiệu thu r i nào mắc lỗi, sẽ được sửa nhờ
phép cộng mod2: ri* ⊕ 1 = ri (ở đây ri để chỉ đã được sửa sai), ở nhịp tương ứng.
Các ký hiệu rj còn lại không mắc lỗi, không bị ảnh hưởng bởi phép cộng mod2
này: rj ⊕ 0 ≡ rj
− Mạch điện giải mã cần làm việc trong 11 nhịp, trong đó 7 nhịp đầu để đưa các ký
hiệu thu vào thanh ghi đệm, tính Syndrome, chuyển mã hệ 2 sang mã hệ 10, 4
nhịp tiếp theo để sữa lỗi. Ở đầu ra là vector P đã sữa lỗi.

Hình 2.2 Mạch điện giải mã của mã Hamming M(7,4)
2.2. Mô phỏng, đánh giá chất lượng thông tin số
2.2.1. So sánh chất lượng hệ thống sử dụng mã Hamming với các phương thức
điều chế khác nhau
Bài toán 1: Cho N=720000 bít truyền trên các kênh AWGN, sử dụng mã
Hamming (7,4). Đánh giá chất lượng hệ thống khi lần lượt thay đổi các phương thức
điều chế là BPSK, Q-PSK, 8-PSK, 16-PSK.
Xây dựng chương trình:
Bước 1: Tạo 720000 bit tin ngẫu nhiên.
Bước 2: Tạo ma trận sinh G(7,4), ma trận kiểm tra H, ma trận sửa lỗi E.
Bước 3: Chuyển các bit tin là mảng 1 chiều thành các từ mã có độ dài 4 bit, sau


Bài toán 2: Cho N=720000 bít truyền trên các kênh AWGN, không sử dụng mã
Hamming (7,4). Đánh giá chất lượng hệ thống khi lần lượt thay đổi các phương thức
điều chế là BPSK, Q-PSK, 8-PSK, 16-PSK.
Xây dựng chương trình:
Bước 1: Tạo 720000 bit tin ngẫu nhiên.
Bước 2: Điều chế QPSK.Tạo các bit tin thành các symbol 2bit, tiến hành điều
chế. Tạo nhiễu AWGN trên kênh truyền, sau đó tiến hành giải điều chế BPSK.
Bước 3: Tách các symbol thành các bit tin.
Bước 4: Tính toán lỗi thông qua bit tin nhận được so với các bit tin phát đi.
17


Kết quả mô phỏng thể hiện trên hình 2.4.

Hình 2.4 BER và Eb/No với BPSK, QPSK, 8PSK, 16 PSK khi không sử dụng mã hóa
Hamming
Chương trình mô phỏng của bài toán này được cho trong phụ lục 2.
Từ kết quả trên, ta thấy:
− Có thể kết luận rằng với điều chế BPSK là kỹ thuật điều chế tốt nhất cho tỉ lệ Ber
thấp nhất cho tất cả các mô phỏng. Kỹ thuật điều chế 16 – PSK cho xác suất lỗi
bit lớn nhất.
− Vì nhiễu là ngẫu nhiên nên với cùng 1 giá trị bit tin thì có thể sẽ làm số bit lỗi sẽ
khác dẫn đến xác xuất lỗi bit cũng sẽ khác.
− Trong đồ thị hình trên ta thấy: Nếu tỉ số Eb/No càng tăng thì => xác xuất lỗi càng
thấp.
Bài toán 3: Mô phỏng các kỹ thuật điều chế BPSK, QPSK,8PSK,16PSK theo lý
thuyết. Chương trình mô phỏng được cho trong phụ lục 3.

Hình 2.5 Kết quả mô phỏng theo lý thuyết

vậy, ta phải dùng năng lượng để đánh giá(Eb/N0).
Hiệu quả phổ của điều chế nhiều mức tăng, nên ta có thế tăng tốc độ bit lối vào
cùng một độ rộng băng được cấp phát(quy định sẵn do nhà cung cấp). Đầu vào, tốc độ
bit tăng lên k lần, nghĩa là độ rộng 1 bit sẽ giảm đi k lần, khi đó k bit symbol sẽ chỉ có
độ rộng bằng Tb_cũ, tốc độ bit R_mới=k.R_cũ. Bề rộng phổ chiếm lại như bề rộng
phổ chiếm cũ W_mới=1/Tb_cũ=W_cũ. Dẫn đến, tăng hiệu quả sử dụng phổ, được
đánh giá bởi công thức nhê – ta =R[b/s]/W[Hz], là hiệu quả phổ 1Hz ta truyền được
tốc độ bao nhiêu bit/s.
Khi ghép kbit tin thành 1symbol, thì W=1/k.Tb. Hệ số nhê – ta =

1
1
/
=k
Tb k .Tb

Dẫn đến truyền được một tốc độ bit lớn hơn trên cùng một độ rộng băng thông
cho trước.
Mặt khác,1bit có độ rộng thời gian là Tb, khi ghép kbit=1symbol thì Ts=kTb.
Tốc độ symbol lúc này sẽ là Rs=1/Ts [bau].
Khi đó: Tốc độ bit Rb=k.bit/Ts=(k.bit)/(k.Tb)=1/Tb (b/s) →Tốc độ bit truyền
trên băng thông không thay đổi.
Vậy, tăng số mức điều chế →E b/N0 (tại lỗi BER quy định cho một hệ thống )→
tăng hiệu quả sử dụng phổ(giảm băng thông) đạt với độ rộng băng thông cho trước
B[Hz].
19


Dung lượng(C) kênh là tốc độ bit tối đa mà hệ thống có thể truyền được với xác
suất lỗi tiến về 0. Được thể hiện bởi định lý Shannon.

mất mát trên kênh, vì thế trong số liệu thu về sẽ phát sinh lỗi. Nếu số lượng lỗi
như thế có giá trị nhỏ, hoặc chúng phát sinh với tần số cho phép, thì sử dụng kĩ
thuật mã hóa mã Hamming để chống nhiễu.
Hạn chế:
− Trong mã Hamming M(7,4), trên quá trình mã hóa và giải mã vẫn đang còn một
số bit bị lỗi, vì trong bài toán này, vector sửa lỗi E đã cho chỉ có thể sửa được
một lỗi, từ hai lỗi bit trở lên thì sẽ không sửa được (xét trong một khung 4 bit).
− Trong thực tế bao giờ cũng tồn tại xác xuất lỗi không phát hiện được, không có
loại mã nào là hoàn thiện tất cả mà chỉ ở mức tương đối chấp nhận được.
Việc nghiên cứu giúp em hiểu thêm nhiều kiến thức về kỹ thuật mã hóa và giải mã các
bit thông tin, xử lý bài toán cho trường hợp cụ thể trên cộng cụ là phần mềm Matlab
một cách sinh động.
Mặc dù đã cố gắng hết sức vào việc thực hiện đồ án nhưng không thể không có
những sai sót trong quá trình thực hiện em xin được nhận những lời góp ý và bổ sung
cho bản đồ án được hoàn thiện hơn.
Em xin chân thành cảm ơn !

21


Phụ lục 1
Bài toán 1: Cho N=720000 bít truyền trên các kênh AWGN, sử dụng mã
Hamming (7,4). Đánh giá chất lượng hệ thống khi lần lượt thay đổi các phương thức
điều chế là BPSK, Q-PSK, 8-PSK, 16-PSK.
%===================================================
clear all
close all
clc;
N=input('Nhap vao so bit N chia het cho 3(8psk,24000)=');
SNR = 0:1:10;

c=reshape(y2',1,[]);
loi=sum(mod(tinphat+c,2))
error1(1,i)=loi;
BER1(1,i)=error1(1,i)/N;
end
%=======================================================
t=reshape(x1',1,[]);
h=reshape(t,3,[])';
h1=bi2de(h,'left-msb');
dieu_che=pskmod(h1,8);
for i=1:length(SNR)
nhieu= awgn(dieu_che,SNR(i)+6);
sau_dieuche=pskdemod(nhieu,8);
ybit=dec2bin(sau_dieuche);
for ii=1:3
bit_thu(:,ii)=str2num(ybit(:,ii));
end
t2=reshape(bit_thu',1,[]);
h2=reshape(t2,7,[])';
s1=mod(h2*H',2);
v2=bi2de(s1,'left-msb');
sua_loi=mod(h2+E(v2+1,:),2);
tach_tin=sua_loi(:,4:7);
tu_mathu=reshape(tach_tin',1,[]);
loi2=sum(mod(tinphat+tu_mathu,2))
error2(1,i)=loi2;
BER2(1,i)=error2(1,i)/N;
end
%=======================================================
t=reshape(x1',1,[]);

grid on
Phụ lục 2
Bài toán 2: Cho N=720000 bít truyền trên các kênh AWGN, không sử dụng mã
Hamming (7,4). Đánh giá chất lượng hệ thống khi lần lượt thay đổi các phương thức
điều chế là BPSK, Q-PSK, 8-PSK, 16-PSK.
%=====================================================
clear all
close all
clc
N=input('Nhap vao so bit N bit=');
tinphat=randint(1,N);
%==========================================
EbN0=0:1:10;
x=pskmod(tinphat,2);
24


for j=1:length(EbN0)
Y=real(x);
y=awgn(Y,EbN0(j)+3,'measured');
y=pskdemod(y,2);
nerr=symerr(tinphat,y);
ber2(j)=nerr/N;
end
%==========================================
h=reshape(tinphat,3,[])';
h1=bi2de(h,'left-msb');
x=pskmod(h1,8);
for j=1:length(EbN0)
y=awgn(x,EbN0(j)+6,'measured');


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status