基于FPGA的4FSK+幀同步系統(tǒng)verilog開(kāi)發(fā),包含testbench,高斯信道,誤碼統(tǒng)計(jì),可設(shè)置SNR

1.算法仿真效果

vivado2019.2仿真結(jié)果如下(完整代碼運(yùn)行后無(wú)水印):


設(shè)置SNR=25db




設(shè)置SNR=12db




將波形局部放大:




仿真操作步驟可參考程序配套的操作視頻。


2.算法涉及理論知識(shí)概要

四頻移鍵控(4FSK)是一種常用的數(shù)字調(diào)制方法,具有較高的頻帶利用率和抗干擾性能。它利用不同的頻率來(lái)傳輸二進(jìn)制數(shù)據(jù),通常應(yīng)用于無(wú)線(xiàn)通信和數(shù)據(jù)傳輸?shù)阮I(lǐng)域。


2.1 原理與數(shù)學(xué)公式

4FSK調(diào)制的基本原理是將輸入的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為不同頻率的信號(hào),以實(shí)現(xiàn)數(shù)據(jù)的傳輸。解調(diào)則是將接收到的不同頻率的信號(hào)還原為原始的二進(jìn)制數(shù)據(jù)。


在4FSK調(diào)制中,輸入的二進(jìn)制數(shù)據(jù)被分為兩組,每組有兩個(gè)比特。根據(jù)這兩個(gè)比特的值,選擇相應(yīng)的頻率輸出。具體來(lái)說(shuō),有四個(gè)頻率f1、f2、f3、f4與之對(duì)應(yīng),每個(gè)頻率都代表一個(gè)二進(jìn)制組合(00、01、10、11),即十進(jìn)制的0,1,2,3。


頻率選擇:根據(jù)輸入的比特組合選擇相應(yīng)的頻率輸出。例如,當(dāng)輸入為“00”時(shí),選擇頻率f1;當(dāng)輸入為“01”時(shí),選擇頻率f2;當(dāng)輸入為“10”時(shí),選擇頻率f3;當(dāng)輸入為“11”時(shí),選擇頻率f4。

調(diào)制信號(hào):將選擇的頻率進(jìn)行幅度調(diào)制,以便在傳輸過(guò)程中具有更好的抗干擾性能。通常采用開(kāi)關(guān)鍵控(OOK)或脈沖幅度調(diào)制(PAM)等方法進(jìn)行幅度調(diào)制。


解調(diào)信號(hào):在接收端,根據(jù)不同頻率的信號(hào)進(jìn)行解調(diào)。首先通過(guò)帶通濾波器將所需的頻率信號(hào)提取出來(lái),然后通過(guò)解調(diào)器將其還原為原始的二進(jìn)制數(shù)據(jù)。解調(diào)方法通常采用相干解調(diào)或非相干解調(diào)。


2.2 幀同步

在數(shù)字通信中,信息通常是以幀為單位進(jìn)行組織和傳輸?shù)摹降哪康氖谴_定每一幀的起始位置,以便接收端能夠正確地解調(diào)出每幀中的數(shù)據(jù)。


設(shè)發(fā)送的幀結(jié)構(gòu)為:幀同步碼+ 信息碼元序列 。幀同步碼是具有特定規(guī)律的碼序列,用于接收端識(shí)別幀的起始。


幀同步的過(guò)程就是在接收序列中尋找與幀同步碼匹配的位置,一旦找到匹配位置,就確定了幀的起始位置,后續(xù)的碼元就可以按照幀結(jié)構(gòu)進(jìn)行正確的劃分和處理。


3.Verilog核心程序


//調(diào)制

FSK_mod FSK_mod_u(

.i_clk ????(i_clk),

.i_rst ????(i_rst),

.i_en ?????(i_en),

.i_bits ???(i_bits),

.o_carrier1(o_carrier1),

.o_carrier2(o_carrier2),

.o_carrier3(o_carrier3),

.o_carrier4(o_carrier4),

.o_fsk ????(o_fsk)

);


awgns awgns_u(

.i_clk(i_clk),

.i_rst(i_rst),

.i_SNR(i_SNR), //這個(gè)地方可以設(shè)置信噪比,數(shù)值大小從-10~50,

.i_din(o_fsk),

.o_noise(),

.o_dout(o_fsk_Rn)

);

解調(diào)//解調(diào)//解調(diào)//解調(diào)//解調(diào)//解調(diào)//解調(diào)//解調(diào)//解調(diào)//解調(diào)//解調(diào)//解調(diào)//解調(diào)

FSK_demod FSK_demod_u(

.i_clk(i_clk),

.i_rst(i_rst),

.i_fsk(o_fsk_Rn),

.o_de_fsk1(o_de_fsk1),

.o_de_fsk2(o_de_fsk2),

.o_de_fsk3(o_de_fsk3),

.o_de_fsk4(o_de_fsk4),

.o_de_ffsk1(),

.o_de_ffsk2(),

.o_de_ffsk3(),

.o_de_ffsk4(),

.o_bits(o_bits),

.o_bits_data ????(o_bits_data),

.o_bits_head ????(o_bits_head),

.o_peak ?????????(o_peak),

.o_en_data ??????(o_en_data),

.o_en_pn ????????(o_en_pn),

.o_frame_start ??(o_frame_start)

);



//error calculate

Error_Chech Error_Chech_u(

.i_clk(i_clk),

.i_rst(i_rst),

.i_trans(i_bits),

.i_en_data(o_en_data),

.i_rec(o_bits_data),

.o_error_num(o_error_num),

.o_total_num(o_total_num),

.o_rec2()

);



endmodule

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容