您现在的位置:首页 >> 通信 >> 内容

基于FPGA的MSK调制解调系统verilog开发,包含testbench,同步模块,高斯信道模拟模

时间:2024/6/18 22:32:09 点击:

  核心提示:0sj_002m,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/mbd-ZpeWkp1t

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览


3.算法概述

       软件无线电是现代通信技术的重要研究领域和发展方向,目前发展迅速.快速发展的软件无线电技术与落后的硬件计算资源之间的矛盾越来越突出.为了缓解这个矛盾,一方面可以加快集成电路的研发进度,提升硬件的计算性能;另一方面可以对信号处理的算法进行深入的改进研究,降低算法的运算量,在现有的硬件水平下提出符合实际的解决方案.在信号处理的各种算法中,调制解调算法的地位十分重要.尤其是其中的解调算法,其复杂度已被作为衡量整个信号处理系统工作性能的有效指标. 本文的研究对象是恒定包络连续相位调制技术中的最小频移键控(MSK).这种调制方式具有恒定包络,相位连续,功率谱密度较集中,频带利用率高等特点.MSK信号的诸多优点使得它在信号理论研究和应用中具有重要意义.

4.部分源码

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

//Trans

 

//output  o_clk_4M;      //100M ~ 4M  , 25   times

//output  o_clk_1600K;   //100M ~ 0.8M, 125  times

//output  o_clk_200K;    //100M ~ 0.1M, 1000  times

wire clk200;

wire clk_4M;

Msk_mod Msk_mod_u(

    .i_clk               (i_clk), 

    .i_rst               (~i_rst), 

    .o_clk_4M            (clk_4M), 

    .o_clk_1600K         (), 

    .o_clk_200K          (clk200), 

    .o_Trans_data        (), 

    .o_Trans_data_samples(o_Trans_data_samples), 

    .o_Msk_I             (), 

    .o_Msk_Q             (), 

    .o_Msk_I_samples     (o_Msk_I_samples), 

    .o_Msk_Q_samples     (o_Msk_Q_samples), 

    .o_cos               (), 

    .o_sin               (), 

    .o_msk_cos           (o_msk_cos), 

    .o_msk_sin           (o_msk_sin), 

    .o_msk_R             (o_msk_R)

    );

 

awgns awgns_u(

    .i_clk(clk_4M), 

    .i_rst(~i_rst), 

    .i_SNR(i_SNR), //这个地方可以设置信噪比,数值大小从-10~50,

    .i_din(o_msk_R), 

    .o_noise(),

    .o_dout(o_msk_Rn)

    );

 

 

//Rec

Msk_demod Msk_demod_u(

    .i_clk            (i_clk), 

    .i_rst            (~i_rst), 

    .i_msk_R          (o_msk_Rn), 

    .o_msk_cos_rec    (o_msk_cos_rec), 

    .o_msk_sin_rec    (o_msk_sin_rec), 

    .o_msk_filter_recI(o_msk_filter_recI), 

    .o_msk_filter_recQ(o_msk_filter_recQ), 

    .o_data           (o_data), 

    .o_bit            (o_bit)

    );

 

//error calculate

Error_Chech Error_Chech_u(

    .i_clk(clk200), 

    .i_rst(~i_rst), 

    .i_trans(o_Trans_data_samples), 

    .i_rec(o_bit), 

    .o_error_num(o_error_num), 

    .o_total_num(o_total_num)

    );

  

endmodule

0sj_002m

---

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168