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

基于FPGA的2ASK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可

时间:2024/12/26 4:39:07 点击:

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

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

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

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

点击店铺

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

2.部分仿真图预览


3.算法概述

2ASK调制解调是一种数字调制解调技术,它是基于ASK调制的一种数字调制方式。ASK调制是一种模拟调制方式,它是通过改变载波的振幅来传输数字信号。而2ASK调制解调则是将数字信号转换为二进制码,再通过改变载波的振幅来传输数字信号。 2ASK调制的原理是将数字信号转换为二进制码,然后将二进制码与载波信号相乘,得到调制信号。在解调时,将接收到的信号与载波信号相乘,再通过低通滤波器滤波,得到原始的数字信号。

4.部分源码

`timescale 1ns / 1ps

//

// Company: 

// Engineer: 

// 

// Create Date: 2023/10/18 19:57:39

// Design Name: 

// Module Name: FSK_demod

// Project Name: 

// Target Devices: 

// Tool Versions: 

// Description: 

// 

// Dependencies: 

// 

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

// 

//

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

wire signed[15:0]o_cosr1;

wire[31:0]m_axis_data_tdatar1;

dds_compiler_0 dds_compiler_u5(

  .aclk    (i_clk),                                  // input wire aclk

  .aresetn (~i_rst),                            // input wire aresetn

  .s_axis_config_tvalid(1'b1),  // input wire s_axis_config_tvalid

  .s_axis_config_tdata(32'h03ff_ffff),    // input wire [31 : 0] s_axis_config_tdata

  .m_axis_data_tvalid(),      // output wire m_axis_data_tvalid

  .m_axis_data_tdata(m_axis_data_tdatar1),        // output wire [31 : 0] m_axis_data_tdata

  .m_axis_phase_tvalid(),    // output wire m_axis_phase_tvalid

  .m_axis_phase_tdata()      // output wire [31 : 0] m_axis_phase_tdata

);

assign o_cosr1=m_axis_data_tdatar1[15:0];   

    

 

 

always @(posedge i_clk or posedge i_rst)

begin

     if(i_rst)

     begin

     o_de_2ask <= 32'd0;

     end

else begin

     o_de_2ask <= $signed(i_2ask)*$signed(o_cosr1);

     end

end 

    

fiter1 fiterU1(

.i_clk  (i_clk),

.i_rst  (i_rst),

.i_din  (o_de_2ask[24:9]),

.o_dout (o_de_2askf)

);

   

   

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

//帧同步,提取数据,去帧头

frame_syn frame_syn_u(

.i_clk         (dat_clk),

.i_rst         (i_rst),

.i_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)

);

endmodule

0sj_046m

---

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