m基于FPGA的BPSK調(diào)制解調(diào)通信系統(tǒng)verilog實(shí)現(xiàn),包含testbench,包含載波同步

1.算法仿真效果

vivado2019.2仿真結(jié)果如下:


對(duì)比沒(méi)載波同步和有載波同步的仿真效果活玲,我們可以看到,當(dāng)不存在載波同步時(shí)帜矾,數(shù)據(jù)的包絡(luò)會(huì)有一個(gè)緩慢的類正弦變換,這是由于存在頻偏導(dǎo)致的屡萤。而當(dāng)加入載波同步之后珍剑,數(shù)據(jù)的包絡(luò)會(huì)存在少量起伏,但數(shù)據(jù)反轉(zhuǎn)的情況已經(jīng)沒(méi)有了死陆,說(shuō)明頻偏得到了補(bǔ)償招拙。


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

BPSK(Binary Phase Shift Keying)調(diào)制是一種基本的數(shù)字調(diào)制方式,它將數(shù)字信號(hào)轉(zhuǎn)換為一系列的相位變化措译,其中0和1分別對(duì)應(yīng)于相位為0和π的兩個(gè)狀態(tài)别凤。BPSK調(diào)制的解調(diào)過(guò)程可以通過(guò)相干解調(diào)實(shí)現(xiàn),其主要包括載波恢復(fù)和相位解調(diào)兩個(gè)部分领虹。

載波恢復(fù)的主要作用是通過(guò)接收信號(hào)中的載波信息來(lái)恢復(fù)出發(fā)送信號(hào)中的載波頻率和相位规哪,從而實(shí)現(xiàn)信號(hào)的相干解調(diào)。常見(jiàn)的載波恢復(fù)方法包括PLL(Phase-Locked Loop)和Costas環(huán)等塌衰。相位解調(diào)的主要作用是將接收信號(hào)的相位信息轉(zhuǎn)化為數(shù)字信號(hào)诉稍,從而實(shí)現(xiàn)數(shù)字信號(hào)的解調(diào)。常見(jiàn)的相位解調(diào)方法包括差分相位解調(diào)和非差分相位解調(diào)等最疆。


Costas環(huán)載波同步

Costas環(huán)是一種常用的載波同步方法杯巨,其基本思想是通過(guò)將接收信號(hào)與本地載波偏移量進(jìn)行比較來(lái)實(shí)現(xiàn)載波同步。Costas環(huán)主要包括兩個(gè)環(huán)節(jié):相位估計(jì)和相位調(diào)整努酸。

相位估計(jì)

相位估計(jì)的主要作用是通過(guò)接收信號(hào)和本地載波之間的比較來(lái)估計(jì)出接收信號(hào)中的載波相位偏移量服爷。常見(jiàn)的相位估計(jì)方法包括乘積檢測(cè)法和延遲環(huán)路法等。

相位調(diào)整

相位調(diào)整的主要作用是通過(guò)改變本地載波的相位來(lái)消除接收信號(hào)中的載波相位偏移量获诈,從而實(shí)現(xiàn)載波同步仍源。常見(jiàn)的相位調(diào)整方法包括PI控制和二階控制等。

FPGA(Field-Programmable Gate Array)是一種可編程邏輯器件舔涎,其主要特點(diǎn)是具有高度的可編程性和靈活性镜会。在數(shù)字信號(hào)處理領(lǐng)域,F(xiàn)PGA常用于實(shí)現(xiàn)數(shù)字信號(hào)處理算法和信號(hào)處理系統(tǒng)终抽。

BPSK調(diào)制解調(diào)系統(tǒng)以及Costas環(huán)載波同步的FPGA實(shí)現(xiàn)主要包括以下幾個(gè)模塊:

1.信號(hào)源模塊

信號(hào)源模塊主要負(fù)責(zé)產(chǎn)生BPSK調(diào)制的數(shù)字信號(hào)戳表,實(shí)現(xiàn)方式可以是使用FPGA內(nèi)部的數(shù)字信號(hào)發(fā)生器或者外部的數(shù)字信號(hào)源輸入桶至。

2.BPSK調(diào)制模塊

BPSK調(diào)制模塊主要負(fù)責(zé)將數(shù)字信號(hào)轉(zhuǎn)換為相位變化,并將其與載波相乘生成BPSK調(diào)制信號(hào)匾旭。實(shí)現(xiàn)方式可以是使用FPGA內(nèi)部的數(shù)字乘法器和相位偏移器等基本邏輯單元镣屹。

3.載波同步模塊

載波同步模塊主要負(fù)責(zé)實(shí)現(xiàn)Costas環(huán)的載波同步功能,包括相位估計(jì)和相位調(diào)整兩個(gè)環(huán)節(jié)价涝。實(shí)現(xiàn)方式可以是使用FPGA內(nèi)部的乘積檢測(cè)器女蜈、延遲環(huán)路、PI控制器等基本邏輯單元色瘩。

4.BPSK解調(diào)模塊

BPSK解調(diào)模塊主要負(fù)責(zé)將接收信號(hào)進(jìn)行相干解調(diào)伪窖,并將其轉(zhuǎn)換為數(shù)字信號(hào)。實(shí)現(xiàn)方式可以是使用FPGA內(nèi)部的相干解調(diào)器和數(shù)字濾波器等基本邏輯單元居兆。

以上是BPSK調(diào)制解調(diào)系統(tǒng)以及Costas環(huán)載波同步的FPGA實(shí)現(xiàn)的基本模塊覆山,實(shí)際實(shí)現(xiàn)中還需要考慮實(shí)際應(yīng)用場(chǎng)景的特點(diǎn)和要求,進(jìn)行相應(yīng)的優(yōu)化和調(diào)整泥栖。


3.verilog核心程序

//調(diào)制端 ???

wire[1:0] o_nz=(i_bits == 1'b1)?2'b01:2'b11;


wire[31:0]m_fir;

fiter_rrc uut(

.i_clk ?(i_clk),

.i_rst ?(i_rst),

.i_dat ?({o_nz[1],o_nz[1],o_nz[1],o_nz[1],o_nz[1],o_nz[1],o_nz,8'd0}),

.o_demod(m_fir)

);

assign o_fir=m_fir[27:12];



wire[15:0]m_carrier;

dds_compiler_0 uut2(

.aclk ???(i_clk), ???????????????????????????

.aresetn (~i_rst), ????????????????

.s_axis_config_tvalid(1'b1), ??

.s_axis_config_tdata(32'd100000000 + 32'd20000),//加入頻偏<=20000 ???

.m_axis_data_tvalid(), ?????

.m_axis_data_tdata(m_carrier), ???????

.m_axis_phase_tvalid(), ??

.m_axis_phase_tdata() ?????

);

assign o_carrier={m_carrier[7:0],8'd0}; ???

always @(posedge i_clk or posedge i_rst)

begin

if(i_rst)

begin

o_mod <= 32'd0;

end

else begin

o_mod <= $signed(o_carrier)*$signed(o_fir);

end

end ???



/


//解調(diào)端 ,考慮載波同步

//NCO

wire signed[31:0]o_K;

wire[15:0]m_carrier_local;

dds_compiler_0 uut3(

.aclk ???(i_clk), ???????????????????????????

.aresetn (~i_rst), ?????????????????????????

.s_axis_config_tvalid(1'b1), ??

.s_axis_config_tdata(32'd100000000 + i_sel*o_K), ???

.m_axis_data_tvalid(), ?????

.m_axis_data_tdata(m_carrier_local), ???????

.m_axis_phase_tvalid(), ??

.m_axis_phase_tdata() ?????

);

wire signed[15:0] o_sin_local={m_carrier_local[15:8],8'd0}; ??

wire signed[15:0] o_cos_local={m_carrier_local[7:0],8'd0};


//下變頻

..............................................................

//匹配濾波

wire signed[31:0] o_demod_sin;

fiter_rrc uut4(

.i_clk ?(i_clk),

.i_rst ?(i_rst),

.i_dat ?(o_sin_dw[31:16]),

.o_demod(o_demod_sin)

);

fiter_rrc uut5(

.i_clk ?(i_clk),

.i_rst ?(i_rst),

.i_dat ?(o_cos_dw[31:16]),

.o_demod(o_demod_cos)

);

//鑒相器

.............................................. ?

//環(huán)路濾波

lpf lpfu(

.i_clk ?(i_clk),

.i_rst ?(i_rst),

.i_din ?(o_mods),

.o_K ???(o_K),

.o_Ks ??()

);

endmodule

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末魏割,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子钢颂,更是在濱河造成了極大的恐慌,老刑警劉巖殊鞭,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異钱豁,居然都是意外死亡牲尺,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門谤碳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人溢豆,你說(shuō)我怎么就攤上這事′鱿桑” “怎么了犹赖?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)峻村。 經(jīng)常有香客問(wèn)我,道長(zhǎng)粘昨,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任张肾,我火速辦了婚禮,結(jié)果婚禮上吞瞪,老公的妹妹穿的比我還像新娘。我一直安慰自己工秩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布浪听。 她就那樣靜靜地躺著,像睡著了一般眉菱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上俭缓,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音华坦,去河邊找鬼。 笑死惜姐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的歹袁。 我是一名探鬼主播坷衍,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼条舔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了孟抗?” 一聲冷哼從身側(cè)響起钻心,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤仑最,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后警医,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體亿胸,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡侈玄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年吟温,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了序仙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鲁豪,死狀恐怖潘悼,靈堂內(nèi)的尸體忽然破棺而出爬橡,到底是詐尸還是另有隱情,我是刑警寧澤糙申,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站柜裸,受9級(jí)特大地震影響缕陕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扛邑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蔬崩。 院中可真熱鬧,春花似錦锦爵、人聲如沸奥裸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)冈绊。三九已至,卻和暖如春死宣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背碴开。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留潦牛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓巴碗,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親橡淆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子召噩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容