Trăn qpsk

Trong chương này, chúng ta sẽ thảo luận về việc truyền dữ liệu thực sự bằng cách sử dụng điều chế kỹ thuật số và các ký hiệu không dây. Chúng tôi sẽ thiết kế các tín hiệu truyền tải “thông tin”, e. g. , 1 và 0, sử dụng sơ đồ điều chế như ASK, PSK, QAM và FSK. Chúng ta cũng sẽ thảo luận về các biểu đồ và chòm sao IQ, và kết thúc chương này với một số ví dụ về Python

Mục tiêu chính của điều chế là nén càng nhiều dữ liệu vào lượng phổ ít nhất có thể. Về mặt kỹ thuật, chúng tôi muốn tối đa hóa “hiệu suất quang phổ” theo đơn vị bit/giây/Hz. Truyền 1 và 0 nhanh hơn sẽ tăng băng thông tín hiệu của chúng ta [nhớ lại các thuộc tính Fourier], có nghĩa là sử dụng nhiều phổ hơn. Chúng tôi cũng sẽ kiểm tra các kỹ thuật khác ngoài việc truyền nhanh hơn. Sẽ có nhiều sự đánh đổi khi quyết định cách điều chỉnh, nhưng cũng sẽ có chỗ cho sự sáng tạo

ký hiệu

Cảnh báo hạn mới. Tín hiệu truyền của chúng ta sẽ được tạo thành từ các “ký hiệu”. Mỗi biểu tượng sẽ mang một số bit thông tin và chúng tôi sẽ truyền các biểu tượng qua lại, hàng nghìn hoặc thậm chí hàng triệu liên tiếp

Lấy một ví dụ đơn giản, giả sử chúng ta có một sợi dây và đang gửi các giá trị 1 và 0 bằng các mức điện áp cao và thấp. Một biểu tượng là một trong những số 1 hoặc 0 đó

Trong ví dụ trên, mỗi biểu tượng đại diện cho một bit. Làm thế nào chúng ta có thể truyền tải nhiều hơn một bit cho mỗi biểu tượng? . 3 1000BASE-T. Chế độ hoạt động phổ biến của ethernet sử dụng điều chế biên độ 4 cấp [2 bit cho mỗi ký hiệu] với 8 ký hiệu ns

Hãy dành một chút thời gian để cố gắng trả lời những câu hỏi này

  1. Có bao nhiêu bit mỗi giây được truyền trong ví dụ hiển thị ở trên?
  2. Cần bao nhiêu cặp dây dữ liệu này để truyền 1 gigabit/giây?
  3. Nếu sơ đồ điều chế có 16 mức khác nhau, thì có bao nhiêu bit trên mỗi ký hiệu?
  4. Với 16 cấp độ khác nhau và 8 ký hiệu ns, đó là bao nhiêu bit trên giây?
câu trả lời
  1. 250 Mb/giây - [1/8e-9]*2
  2. Bốn [đó là những gì cáp ethernet có]
  3. 4 bit cho mỗi ký hiệu - log_2[16]
  4. 0. 5 Gbps - [1/8e-9]*4

Biểu tượng không dây

Câu hỏi. Tại sao chúng ta không thể truyền trực tiếp tín hiệu ethernet như trong hình trên?

  1. Tần số thấp yêu cầu ăng-ten lớn
  2. Sóng vuông chiếm quá nhiều phổ cho số bit trên giây–nhớ lại từ chương rằng những thay đổi đột ngột trong miền thời gian sử dụng một lượng lớn băng thông/phổ

Những gì chúng tôi làm đối với tín hiệu không dây là bắt đầu với một sóng mang, nó chỉ là một hình sin. e. g. , Đài FM sử dụng nhà mạng như 101. 1 MHz hoặc 100. 3 MHz. Chúng tôi điều chỉnh sóng mang đó theo một cách nào đó [có rất nhiều]. Đối với đài FM, đó là điều chế tương tự, không phải kỹ thuật số, nhưng đó là khái niệm giống như điều chế kỹ thuật số

Bằng những cách nào chúng ta có thể điều chế sóng mang? . các tính chất khác nhau của một hình sin là gì?

  1. biên độ
  2. Giai đoạn
  3. Tính thường xuyên

Chúng tôi có thể điều chỉnh dữ liệu của mình trên một nhà cung cấp dịch vụ bằng cách sửa đổi bất kỳ một [hoặc nhiều] trong ba điều này

Khóa dịch chuyển biên độ [ASK]

Khóa dịch chuyển biên độ [ASK] là sơ đồ điều chế kỹ thuật số đầu tiên chúng ta sẽ thảo luận vì điều chế biên độ là cách đơn giản nhất để hình dung trong ba thuộc tính hình sin. Chúng tôi thực sự điều chỉnh biên độ của sóng mang. Dưới đây là một ví dụ về ASK 2 cấp độ, được gọi là 2-ASK

Lưu ý giá trị trung bình bằng 0 như thế nào;

Chúng tôi có thể sử dụng nhiều hơn hai cấp độ, cho phép nhiều bit hơn trên mỗi ký hiệu. Dưới đây cho thấy một ví dụ về 4-ASK. Trong trường hợp này, mỗi biểu tượng mang 2 bit thông tin

Câu hỏi. Có bao nhiêu biểu tượng được hiển thị trong đoạn tín hiệu ở trên?

câu trả lời

20 ký hiệu, vì vậy 40 bit thông tin

Làm thế nào để chúng ta thực sự tạo tín hiệu này bằng kỹ thuật số, thông qua mã? . Điều này điều chỉnh tín hiệu trên sóng mang [hình sin hoạt động như sóng mang đó]. Ví dụ bên dưới hiển thị 2-ASK với 10 mẫu cho mỗi biểu tượng

Biểu đồ trên cùng hiển thị các mẫu rời rạc được biểu thị bằng các chấm đỏ, i. e. , tín hiệu kỹ thuật số của chúng tôi. Biểu đồ dưới cùng cho thấy tín hiệu được điều chế kết quả trông như thế nào, tín hiệu này có thể được truyền qua không khí. Trong các hệ thống thực, tần số của sóng mang thường cao hơn rất nhiều so với tốc độ thay đổi của các ký hiệu. Trong ví dụ này, chỉ có ba chu kỳ của hình sin trong mỗi biểu tượng, nhưng trong thực tế có thể có hàng nghìn, tùy thuộc vào mức độ cao trong phổ của tín hiệu được truyền đi

Khóa dịch chuyển pha [PSK]

Bây giờ, hãy xem xét việc điều chỉnh pha theo cách tương tự như chúng ta đã làm với biên độ. Hình thức đơn giản nhất là PSK nhị phân, một. k. a. BPSK, nơi có hai cấp độ pha

  1. Không thay đổi pha
  2. thay đổi pha 180 độ

Ví dụ về BPSK [lưu ý các thay đổi pha]

Không vui lắm khi nhìn vào những âm mưu như thế này

Thay vào đó, chúng ta thường biểu diễn pha trong mặt phẳng phức

Ô/chòm sao IQ

Trước đây bạn đã từng thấy biểu đồ IQ trong tiểu mục số phức của chương, nhưng bây giờ chúng ta sẽ sử dụng chúng theo một cách mới và thú vị. Đối với một biểu tượng nhất định, chúng ta có thể hiển thị biên độ và pha trên biểu đồ IQ. Đối với ví dụ BPSK, chúng tôi đã nói rằng chúng tôi có các pha 0 và 180 độ. Hãy vẽ hai điểm đó trên biểu đồ IQ. Chúng tôi sẽ giả sử cường độ là 1. Trong thực tế, việc bạn sử dụng cường độ như thế nào không thực sự quan trọng;

Biểu đồ IQ ở trên cho thấy những gì chúng ta sẽ truyền tải, hay đúng hơn là tập hợp các ký hiệu mà chúng ta sẽ truyền tải từ. Nó không hiển thị sóng mang, vì vậy bạn có thể coi nó như đại diện cho các ký hiệu ở dải gốc. Khi chúng tôi hiển thị tập hợp các ký hiệu có thể có cho sơ đồ điều chế nhất định, chúng tôi gọi đó là “chòm sao”. Nhiều sơ đồ điều chế có thể được xác định bởi chòm sao của chúng

Để nhận và giải mã BPSK, chúng ta có thể sử dụng phương pháp lấy mẫu IQ, như chúng ta đã học ở chương trước và kiểm tra xem các điểm kết thúc ở đâu trên biểu đồ IQ. Tuy nhiên, sẽ có sự xoay pha ngẫu nhiên do kênh không dây vì tín hiệu sẽ có một số độ trễ ngẫu nhiên khi truyền qua không khí giữa các ăng-ten. Xoay pha ngẫu nhiên có thể được đảo ngược bằng nhiều phương pháp khác nhau mà chúng ta sẽ tìm hiểu sau. Dưới đây là một ví dụ về một số cách khác nhau mà tín hiệu BPSK có thể hiển thị ở máy thu [điều này không bao gồm nhiễu]

Quay lại PSK. Nếu chúng ta muốn có bốn mức pha khác nhau thì sao? . e. , 0, 90, 180 và 270 độ. Trong trường hợp này, nó sẽ được biểu diễn như vậy trên biểu đồ IQ và nó tạo thành một sơ đồ điều biến mà chúng tôi gọi là Khóa dịch chuyển pha cầu phương [QPSK]

Đối với PSK, chúng tôi luôn có N giai đoạn khác nhau, cách đều nhau 360 độ để có kết quả tốt nhất. Ta thường biểu diễn đường tròn đơn vị để nhấn mạnh rằng mọi điểm đều có cùng độ lớn

Câu hỏi. Có gì sai khi sử dụng sơ đồ PSK như sơ đồ trong hình bên dưới?

Câu trả lời

Không có gì không hợp lệ về chương trình PSK này. Bạn chắc chắn có thể sử dụng nó, nhưng vì các ký hiệu không cách đều nhau nên lược đồ này không hiệu quả như mong muốn. Hiệu quả của sơ đồ sẽ trở nên rõ ràng khi chúng ta thảo luận về mức độ ảnh hưởng của tiếng ồn đối với biểu tượng của chúng ta. Câu trả lời ngắn gọn là chúng tôi muốn để lại càng nhiều khoảng trống càng tốt giữa các ký hiệu, trong trường hợp có tiếng ồn, để một ký hiệu không được hiểu ở máy thu như một trong các ký hiệu [không chính xác] khác. Chúng tôi không muốn số 0 được nhận là số 1

Hãy quay trở lại HỎI trong giây lát. Lưu ý rằng chúng ta có thể hiển thị ASK trên biểu đồ IQ giống như PSK. Đây là biểu đồ IQ của 2-ASK, 4-ASK và 8-ASK, trong cấu hình lưỡng cực, cũng như 2-ASK và 4-ASK trong cấu hình đơn cực

Như bạn có thể nhận thấy, 2-ASK lưỡng cực và BPSK giống nhau. Dịch pha 180 độ cũng giống như nhân hình sin với -1. Chúng tôi gọi nó là BPSK, có lẽ vì PSK được sử dụng nhiều hơn ASK

Điều chế biên độ cầu phương [QAM]

Nếu chúng ta kết hợp ASK và PSK thì sao? . QAM thường trông giống như thế này

Dưới đây là một số ví dụ khác về QAM

Đối với sơ đồ điều chế QAM, về mặt kỹ thuật, chúng ta có thể đặt các điểm ở bất cứ đâu chúng ta muốn trên biểu đồ IQ do pha và biên độ được điều chế. Các “tham số” của sơ đồ QAM nhất định được xác định tốt nhất bằng cách hiển thị chòm sao QAM. Ngoài ra, bạn có thể liệt kê các giá trị I và Q cho từng điểm, như bên dưới cho QPSK

Lưu ý rằng hầu hết các sơ đồ điều chế, ngoại trừ các ASK và BPSK khác nhau, khá khó để “thấy” trong miền thời gian. Để chứng minh quan điểm của tôi, đây là một ví dụ về QAM trong miền thời gian. Bạn có thể phân biệt pha của từng biểu tượng trong hình bên dưới không?

Do các sơ đồ điều chế khó phân biệt trong miền thời gian, chúng tôi thích sử dụng các sơ đồ IQ hơn là hiển thị tín hiệu miền thời gian. Tuy nhiên, chúng tôi có thể hiển thị tín hiệu miền thời gian nếu có một cấu trúc gói nhất định hoặc chuỗi ký hiệu quan trọng

Phím dịch chuyển tần số [FSK]

Cuối cùng trong danh sách là Khóa dịch chuyển tần số [FSK]. FSK khá đơn giản để hiểu–chúng tôi chỉ chuyển đổi giữa N tần số trong đó mỗi tần số là một ký hiệu có thể. Tuy nhiên, vì chúng tôi đang điều chỉnh một sóng mang, nên tần số sóng mang thực sự của chúng tôi +/- N tần số này. e. g. chúng tôi có thể ở một tàu sân bay của 1. 2 GHz và dịch chuyển giữa bốn tần số này

  1. 1. 2005GHz
  2. 1. 2010GHz
  3. 1. 1995GHz
  4. 1. 1990GHz

Ví dụ trên sẽ là 4-FSK và sẽ có hai bit cho mỗi ký hiệu. Tín hiệu 4-FSK trong miền tần số có thể trông giống như thế này

Nếu bạn sử dụng FSK, bạn phải đặt một câu hỏi quan trọng. Khoảng cách giữa các tần số nên là gì? . Chúng tôi muốn tránh trùng lặp trong miền tần số, vì vậy in Hz. We want to avoid overlap in the frequency domain, so phải đủ lớn. Độ rộng của mỗi sóng mang theo tần số là một hàm của tốc độ ký hiệu của chúng tôi. Nhiều ký hiệu hơn mỗi giây có nghĩa là các ký hiệu ngắn hơn, có nghĩa là băng thông rộng hơn [nhớ lại mối quan hệ nghịch đảo giữa thời gian và tỷ lệ tần số]. Chúng ta truyền các ký hiệu càng nhanh thì mỗi sóng mang sẽ càng rộng và do đó, chúng ta càng phải làm cho lớn hơn để tránh các sóng mang chồng chéo. Chúng tôi sẽ không đi sâu vào bất kỳ chi tiết nào về thiết kế của FSK trong cuốn sách này.

Biểu đồ IQ không thể được sử dụng để hiển thị các tần số khác nhau. Chúng hiển thị cường độ và pha. Mặc dù có thể hiển thị FSK trong miền thời gian, nhưng có nhiều hơn 2 tần số sẽ gây khó khăn cho việc phân biệt giữa các ký hiệu

Bên cạnh đó, lưu ý rằng đài FM sử dụng Điều chế tần số [FM] giống như một phiên bản tương tự của FSK. Thay vì có các tần số riêng biệt mà chúng ta nhảy giữa, đài FM sử dụng tín hiệu âm thanh liên tục để điều chỉnh tần số của sóng mang. Dưới đây là một ví dụ về điều chế FM và AM trong đó “tín hiệu” ở trên cùng là tín hiệu âm thanh được điều chế lên sóng mang

Trong sách giáo khoa này, chúng tôi chủ yếu quan tâm đến các dạng điều chế kỹ thuật số

mã hóa vi sai

Trong nhiều giao thức truyền thông không dây [và có dây], bạn có thể gặp phải một thứ gọi là mã hóa vi sai. Để chứng minh tiện ích của nó, hãy xem xét việc nhận tín hiệu BPSK. Khi tín hiệu bay trong không khí, nó trải qua một số độ trễ ngẫu nhiên giữa máy phát và máy thu, gây ra sự quay ngẫu nhiên trong chòm sao, như chúng tôi đã đề cập trước đó. Khi máy thu đồng bộ hóa với nó và căn chỉnh BPSK với trục “I”, nó không có cách nào biết liệu nó có lệch pha 180 độ hay không, bởi vì chòm sao trông giống nhau. Vì vậy, thay vì phải gửi các ký hiệu thí điểm để cho nó biết cụm nào đại diện cho 1 và cụm nào là 0, nó có thể chọn sử dụng mã hóa vi sai và thậm chí không phải lo lắng về điều đó. Sử dụng mã hóa vi sai cũng cho phép chúng ta sử dụng bộ thu không kết hợp đơn giản hơn bộ thu kết hợp

Ở dạng cơ bản nhất, được sử dụng cho BPSK, mã hóa vi sai liên quan đến việc truyền 0 khi bit đầu vào giống với bit đầu ra trước đó và truyền 1 khi chúng khác nhau. Vì vậy, chúng tôi vẫn truyền cùng một số bit [ngoại trừ một bit bổ sung cần thiết lúc đầu để bắt đầu chuỗi đầu ra], nhưng bây giờ chúng tôi không phải lo lắng về sự mơ hồ về pha 180 độ. Để chứng minh cách thức hoạt động của nó, hãy xem xét việc truyền chuỗi bit [1, 1, 0, 0, 0, 1, 0] bằng BPSK. Giả sử chúng ta bắt đầu chuỗi đầu ra với 1; . Sau khi áp dụng mã hóa vi phân, cuối cùng chúng tôi sẽ truyền [1, 0, 1, 1, 1, 1, 0, 0]. Các số 1 và 0 vẫn được ánh xạ tới các ký hiệu dương và âm mà chúng ta đã thảo luận trước đó. Có thể dễ hình dung hơn các chuỗi đầu vào và đầu ra được xếp chồng lên nhau như thế này

Nhược điểm lớn của việc sử dụng mã hóa vi sai là nếu bạn có một lỗi bit, nó sẽ dẫn đến lỗi hai bit. Giải pháp thay thế cho việc sử dụng mã hóa vi sai cho BPSK là thêm các ký hiệu hoa tiêu theo định kỳ, là các ký hiệu đã được máy thu biết và nó có thể sử dụng các giá trị đã biết để không chỉ tìm ra cụm nào là 1 và cụm nào là 0, mà còn gây ra đa đường ngược. . Một vấn đề với các ký hiệu hoa tiêu là kênh không dây có thể thay đổi rất nhanh, theo thứ tự hàng chục hoặc hàng trăm ký hiệu nếu đó là một bộ thu và/hoặc máy phát đang di chuyển, vì vậy bạn sẽ cần các ký hiệu hoa tiêu đủ thường xuyên để phản ánh kênh đang thay đổi. Vì vậy, nếu một giao thức không dây chú trọng vào việc giảm độ phức tạp của máy thu, chẳng hạn như RDS mà chúng ta nghiên cứu trong chương này, thì nó có thể chọn sử dụng mã hóa vi sai.

Ví dụ Python

Như một ví dụ ngắn về Python, hãy tạo QPSK ở dải cơ sở và vẽ biểu đồ chòm sao

Mặc dù chúng ta có thể trực tiếp tạo ra các ký hiệu phức tạp, nhưng hãy bắt đầu từ kiến ​​thức rằng QPSK có bốn ký hiệu cách nhau 90 độ xung quanh vòng tròn đơn vị. Chúng tôi sẽ sử dụng 45, 135, 225 và 315 độ cho các điểm của chúng tôi. Trước tiên, chúng tôi sẽ tạo các số ngẫu nhiên trong khoảng từ 0 đến 3 và thực hiện phép toán để có được độ chúng tôi muốn trước khi chuyển đổi sang radian

import numpy as np
import matplotlib.pyplot as plt

num_symbols = 1000

x_int = np.random.randint[0, 4, num_symbols] # 0 to 3
x_degrees = x_int*360/4.0 + 45 # 45, 135, 225, 315 degrees
x_radians = x_degrees*np.pi/180.0 # sin[] and cos[] takes in radians
x_symbols = np.cos[x_radians] + 1j*np.sin[x_radians] # this produces our QPSK complex symbols
plt.plot[np.real[x_symbols], np.imag[x_symbols], '.']
plt.grid[True]
plt.show[]

Quan sát cách tất cả các biểu tượng chúng tôi tạo chồng lên nhau. Không có tiếng ồn nên tất cả các biểu tượng đều có cùng giá trị. Hãy thêm một số tiếng ồn

n = [np.random.randn[num_symbols] + 1j*np.random.randn[num_symbols]]/np.sqrt[2] # AWGN with unity power
noise_power = 0.01
r = x_symbols + n * np.sqrt[noise_power]
plt.plot[np.real[r], np.imag[r], '.']
plt.grid[True]
plt.show[]

Xem xét cách tiếng ồn Gaussian trắng phụ gia [AGWN] tạo ra sự lan truyền đồng đều xung quanh mỗi điểm trong chòm sao. Nếu có quá nhiều nhiễu thì các ký hiệu bắt đầu vượt qua ranh giới [bốn góc phần tư] và sẽ được người nhận hiểu là một ký hiệu không chính xác. Hãy thử tăng noise_power cho đến khi điều đó xảy ra

Đối với những người quan tâm đến việc mô phỏng nhiễu pha, có thể do rung pha trong bộ tạo dao động cục bộ [LO], hãy thay thế r bằng

phase_noise = np.random.randn[len[x_symbols]] * 0.1 # adjust multiplier for "strength" of phase noise
r = x_symbols * np.exp[1j*phase_noise]

Bạn thậm chí có thể kết hợp nhiễu pha với AWGN để có được trải nghiệm đầy đủ

Chúng ta sẽ dừng lại ở điểm này. Nếu muốn xem tín hiệu QPSK trông như thế nào trong miền thời gian, chúng ta cần tạo nhiều mẫu cho mỗi ký hiệu [trong bài tập này, chúng tôi chỉ thực hiện 1 mẫu cho mỗi ký hiệu]. Bạn sẽ tìm hiểu lý do tại sao bạn cần tạo nhiều mẫu cho mỗi biểu tượng khi chúng ta thảo luận về định hình xung. Bài tập Python trong chương này sẽ tiếp tục ở nơi chúng ta đã dừng lại ở đây

Chủ Đề