基於FPGA的2FSK調製解調系統,包含testbench,高斯通道模組,誤位元速率統計模組,可以設定不同SNR

我爱C编程發表於2024-08-04

1.演算法模擬效果

本系統在以前寫過的FSK調製解調系統的基礎上,增加了高斯通道模組,誤位元速率統計模組,可以驗證不同SNR情況下的FSK誤碼情況。

vivado2019.2模擬結果如下(完整程式碼執行後無水印):

SNR=16db

SNR=10db

SNR=5db

SNR=0db

RTL結構圖如下:

2.演算法涉及理論知識概要

頻移鍵控是利用載波的頻率變化來傳遞數字資訊。數字頻率調製是資料通訊中使用較 早的一種通訊方式,由於這種調製解調方式容易實現,抗噪聲和抗衰減效能較強,因此在 中低速數字通訊系統中得到了較為廣泛的應用。

在二進位制頻移鍵控中,幅度恆定不變的載波訊號的頻率隨著輸入碼流的變化而切換(稱為高音和低音,代表二進位制的1 和0)。產生FSK 訊號最簡單的方法是根據輸入的資料位元是0還是1,在兩個獨立的振盪器中切換。採用這種方法產生的波形在切換的時刻相位是不連續的,因此這種FSK 訊號稱為不連續FSK 訊號。由於相位的不連續會造頻譜擴充套件,這種FSK 的調製方式在傳統的通訊裝置中採用較多。隨著數字處理技術的不斷髮展,越來越多地採用連繼相位FSK調製技術。目前較常用產生FSK 訊號的方法是,首先產生FSK 基帶訊號,利用基帶訊號對單一載波振盪器進行頻率調製。相位連續的FSK訊號的功率譜密度函式最終按照頻率偏移的負四次冪衰落。如果相位不連續,功率譜密度函式按照頻率偏移的負二次冪衰落。

2-FSK功率譜密度的特點如下:

(1) 2FSK訊號的功率譜由連續譜和離散譜兩部分構成,離散譜出現在f1和f2位置;

(2) 功率譜密度中的連續譜部分一般出現雙峰。若兩個載頻之差|f1 -f2|≤fs,則出現單峰。

PSK:在相移鍵控中,載波相位受數字基帶訊號的控制,如在二進位制基帶訊號中為0時,載波相位為0或π,為1時載波相位為π或0。載波相位和基帶訊號有一一對應的關係,從而達到調製的目的。

在二進位制頻移鍵控(2FSK)中,當傳送“1”碼時對應於載波頻率,傳送“0”碼時對應於載波頻率。 2FSK訊號波形可看作兩個2ASK訊號波形的合成,下圖是相位連續的2FSK訊號波形。

FSK訊號的解調也有非相干和相干兩種,FSK訊號可以看作是用兩個頻率源交替傳輸得到的,所以FSK的接收機由兩個並聯的ASK接收機組成。

FSK:頻移鍵控是利用兩個不同頻率f1和f2的振盪源來代表訊號1和0,用數字訊號的1和0去控制兩個獨立的振盪源交替輸出。對二進位制的頻移鍵控調製方式,其有效頻寬為B=2xF+2Fb,xF是二進位制基帶訊號的頻寬也是FSK訊號的最大頻偏,由於數字訊號的頻寬即Fb值大,所以二進位制頻移鍵控的訊號頻寬B較大,頻帶利用率小。

FSK功率譜密度的特點如下:

(1) 2FSK訊號的功率譜由連續譜和離散譜兩部分構成,離散譜出現在f1和f2位置;

(2) 功率譜密度中的連續譜部分一般出現雙峰。若兩個載頻之差|f1 -f2|≤fs,則出現單峰。

3.Verilog核心程式

//調製
FSK_mod FSK_mod_u(
.i_clk     (i_clk),
.i_rst     (i_rst),
.i_bits    (i_bits),
.o_carrier1(o_carrier1),
.o_carrier2(o_carrier2),
.o_fsk     (o_fsk)
);
 
 
 
awgns awgns_u(
    .i_clk(i_clk), 
    .i_rst(i_rst), 
    .i_SNR(i_SNR), //這個地方可以設定訊雜比,數值大小從-10~50,
    .i_din(o_fsk), 
    .o_noise(),
    .o_dout(o_fskn)
    );
 
//解調
FSK_demod FSK_demod_u(
.i_clk     (i_clk),
.i_rst     (i_rst),
.i_fsk     (o_fskn),
.o_de_fsk1 (),
.o_de_ffsk1(o_de_ffsk1),
.o_bits    (o_bits)
);
 
 
 
 
//error calculate
Error_Chech Error_Chech_u(
    .i_clk(i_clk), 
    .i_rst(i_rst), 
    .i_trans({~i_bits,1'b1}), 
    .i_rec({~o_bits,1'b1}), 
    .o_error_num(o_error_num), 
    .o_total_num(o_total_num)
    );
0sj_005m

  

相關文章