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
---