có lẽ bộ giải mã của bạn đã biết tốc độ truyền
Nhiều giao thức truyền thông không dây đặt ký hiệu_time thành bội số nguyên đã biết của thời gian chu kỳ chip hoặc thời gian vận chuyển. Vì bạn có thể giải điều chế tín hiệu, bộ giải mã của bạn phải biết thời gian chu kỳ chip hoặc thời gian vận chuyển. Có lẽ bạn có thể lấy thông tin thời gian đó và nhân nó với "số nguyên đã biết" để lấy ký hiệu_time; sau đó bạn "chỉ" cần thực hiện căn chỉnh pha. Có cách nào để lấy thông tin thời gian đó ra khỏi bộ giải điều chế của bạn không?
FFT
Tỷ lệ ký hiệu xấp xỉ bằng băng thông. (Tôi nghe rằng băng thông -10 dB gấp 1,19 lần tốc độ ký hiệu cho QPSK - điều đó có đúng với tất cả các chòm sao tín hiệu không?)
Nếu bạn có SNR đủ cao, bạn có thể đặt tín hiệu của mình thông qua FFT và ước tính băng thông. Tôi nghĩ rằng nó hoạt động ở hầu hết mọi định dạng mà bạn có - tín hiệu điều chế thô ("thực") hoặc tín hiệu cơ sở được giải điều chế ("phức tạp" I, Q), hoặc một mình tôi, hoặc một mình Q - nhưng tôi không ' Chúng tôi nghĩ rằng nó sẽ hoạt động nếu bạn cung cấp dữ liệu pha từ âm mưu "Cập nhật số 2" ở trên vào FFT.
Con người thường dễ dàng chọn được băng thông -3dB trên biểu đồ một cách trực quan. Có chức năng Matlab để ước tính băng thông -3dB không?
Khi bạn có nhiễu trắng tinh - SNR quá tệ - "băng thông" -3dB rõ ràng không liên quan gì đến tốc độ truyền thực, nhưng phụ thuộc hoàn toàn vào các bộ lọc được sử dụng trong bộ giải mã của bạn.
tự kỷ
Bạn có thể tìm thấy tự động tương quan của một hàm bằng cách sử dụng các hàm autocorr () hoặc xcorr () của Matlab.
Có ít nhất 3 cách chuyển đổi tự tương quan thành ước tính tốc độ truyền:
- Với các bit dữ liệu không tương quan, tự động tương quan ở thời gian bù chính xác là 1 ký hiệu_time trở lên sẽ xấp xỉ bằng 0 và tự động tương quan chuẩn hóa ở thời gian bù ngắn từ 0,0 đến 1,0 bit là xấp xỉ tuyến tính: 1- (thời gian / ký hiệu_time). Khớp một đường thẳng với các thời gian bù ngắn đó để có ước tính chính xác về tự động tương quan tại các thời điểm bù không nguyên, tìm thời gian bù t_half đưa ra ước tính tự động khoảng 1/2 dọc theo đường được trang bị đó và thời gian biểu tượng của bạn là khoảng biểu tượng ~ = 2 * t_half.
- Trong quá trình truyền phát, một số máy phát làm cho mỗi bit thứ 10 trở thành biểu tượng bắt đầu. Hàm tự tương quan của bạn, như mọi khi, có một đỉnh ở 0 thời gian bù; bỏ qua đỉnh đầu tiên đó và tìm kiếm thời gian dương t_poseitive cung cấp đỉnh dương lớn nhất tiếp theo (với biên độ dự kiến khoảng 1/10) trong chức năng tự tương quan và thời gian biểu tượng của bạn là khoảng Symbol_time ~ = t_poseitive / 10.
- Một số máy phát sử dụng ký hiệu dừng chính xác 9 bit sau mỗi ký hiệu bắt đầu và cho ký hiệu dừng biên độ âm của ký hiệu bắt đầu. Tìm kiếm t_negative thời gian bù cho đỉnh âm lớn nhất trong hàm tự tương quan (với biên độ dự kiến khoảng 1/10) và thời gian biểu tượng của bạn là khoảng Symbol_time ~ = t_negative / 9.
xấp xỉ tự tương quan
Nhiều kỹ thuật khác sử dụng một số phép tính gần đúng nhanh hơn để tính toán hàm tự tương quan - đặc biệt, thực sự không có điểm nào tính toán biên độ tự tương quan ở thời gian bù lớn hơn 10 bit_times.
Cụ thể, hãy tính toán chức năng tự tương quan chỉ trong một lần bù H: Trì hoãn tín hiệu theo thời gian H và nhân tín hiệu trễ với tín hiệu gốc (không trễ) và sử dụng một số tích hợp hoàn hảo hoặc rò rỉ để có được lâu dài Trung bình cộng. (Nếu tín hiệu đầu vào của bạn đã được cắt ở phạm vi +1 -1, giống như hầu hết các máy thu FM và PSK, thì mức trung bình dài hạn đó đã được chuẩn hóa. Nếu không, hãy bình thường hóa theo trung bình bình phương của tín hiệu, do đó, dài của bạn thuật ngữ trung bình được đảm bảo trong phạm vi từ -1 đến +1).
Sau đó điều chỉnh H để cố gắng lấy trung bình dài hạn được chuẩn hóa thành chính xác 1/2 - làm cho thời gian bù H ngắn hơn nếu trung bình dài hạn được chuẩn hóa nhỏ hơn 1/2; làm H lâu hơn nếu trung bình dài hạn bình thường hóa là hơn 1/2.
Sau đó, thời gian biểu tượng của bạn là khoảng Symbol_time ~ = 2 * H.
kỹ thuật khác
Wikibook "Đồng hồ và phục hồi dữ liệu" nghe có vẻ đầy hứa hẹn, mặc dù nó vẫn chỉ là một bản nháp thô. Bạn có thể cập nhật nó để cho biết phương pháp nào hiệu quả nhất với bạn?
Tôi đã được thông báo rằng nhiều máy thu sử dụng vòng lặp Costas
hoặc một số kỹ thuật phục hồi sóng mang tương đối đơn giản khác để phát hiện tốc độ truyền.
Cẩm nang truyền thông
đề cập đến "bộ đồng bộ hóa cổng sớm". Bạn có thể sử dụng một cái gì đó như thế này?
chi tiết
Nhiều giao thức truyền thông không dây bổ sung nhiều tính năng "dự phòng" cho tín hiệu để giúp người nhận dễ dàng khóa và giải mã tín hiệu hơn bất chấp nhiễu - bit start, bit stop, điều chế trellis, bit phát hiện lỗi và sửa lỗi , khúc dạo đầu và bit tiêu đề, v.v.
Có lẽ tín hiệu của bạn có một hoặc nhiều tính năng này sẽ giúp công việc của bạn dễ dàng hơn?