1.演算法模擬效果
vivado2019.2模擬結果如下:
平方環鎖定收斂曲線:
工作初始時間,發射端載波cos0和接收端載波cos不同步:
收斂之後,發射端載波cos0和接收端載波cos基本同步:
系統的RTL結構圖如下:
平方環內部結構如下:
2.演算法涉及理論知識概要
BPSK(Binary Phase Shift Keying)數字平方環是一種用於載波恢復的非資料輔助同步方法,特別適用於二進位制相移鍵控調製訊號的解調。它利用訊號的相位資訊,透過平方處理和低通濾波等步驟,從接收到的訊號中提取出載波的相位,從而實現相干解調。
平方環是一種常用的相干解調方法。調製訊號經過一個平方裝置,進行平方操作,再經過一箇中心頻率為2fc的帶通濾波器,濾除直流成分和攜帶的部分資訊成分,得到二倍頻訊號cos(4πfct+2φ)。使用倍頻訊號驅動鎖相環,得到對應的正弦訊號sin(4πfct+2φ),經過二分頻和90°相移,獲得載波訊號,從而用於相干解調獲得基帶訊號s(t)。
數字平方環主要包括三個主要部分:平方器、低通濾波器(LPF)、相位誤差檢測與調整。其工作流程如下:
3.Verilog核心程式
`timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2024/06/13 06:03:25 // Design Name: // Module Name: tops_squarePLL // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // // module tops_squarePLL( input i_clk, //時鐘 input i_rst, //復位訊號 input signed[1:0]i_X, //輸入資料:32MHz output signed[7:0]o_BPSK, output signed[7:0]o_cos0, output signed[7:0]o_sin0, output signed[7:0]o_cos, output signed[7:0]o_sin, output signed[14:0]o_bpsk2, output signed[14:0]o_bpsk2_BF, output signed[28:0]o_low_filter, output signed[28:0]o_loop ); bpsk_MOD bpsk_MOD_u( .i_clk (i_clk), //時鐘 .i_rst (i_rst), //復位訊號 .i_X (i_X), //輸入資料:32MHz .o_BPSK (o_BPSK), .o_cos (o_cos0), .o_sin (o_sin0) ); tops tops_u( .i_clk (i_clk), //時鐘 .i_rst (i_rst), //復位訊號 .i_bpsk (o_BPSK), //輸入資料:32MHz .o_cos (o_cos), .o_sin (o_sin), .o_bpsk2 (o_bpsk2), .o_bpsk2_BF (o_bpsk2_BF), .o_sinXcos (), .o_BFsinXcos (), .o_low_filter (o_low_filter), .o_loop (o_loop) ); endmodule 00_066m