目录1.本系统整体构架2.各个模块基本原理2.1 4FSK调制2.2 相干解调3.仿真结果4.完整程序下载1.本系统整体构架整个程序我们采用如下的流程图实现2.各个模块基本原理2.1 4FSK调制4FSK四进制频移键控 是一种通过4 个不同载波频率传输数字信息的调制技术每个符号携带2比特数据00, 01, 10, 11。它继承了2FSK恒包络、抗衰落、实现简单的优点同时频谱效率提升一倍广泛用于低速。将2比特分为一组四进制符号每组映射到4个独立频率f0 ,f1,f2,f3。符号持续时间Ts内发送单一频率正弦波。4FSK调制公式如下为最小化频偏误码通常采用格雷码映射相邻频率仅1比特不同2.2 相干解调相干解调需要使用与载波同频同相的参考信号。通过将接收到的FSK信号与两个参考信号频率为f1和f2分别相乘然后经过低通滤波器 滤除高频成分可以得到两个基带信号。通过比较这两个基带信号的幅度或相位差异可以判断接收到的数字信息是“1”还是“0”。相干解调具有较高的性能但要求严格的同步和相位匹配。相干检测的具体解调电路是同步检波器。相干解调需要本地产生与发送端同频同相的载波信号。3.仿真结果本系统的RTL结构如下图所示顶层程序结构如下module tops_4FSK(input i_clk,input i_rst,input [1:0]i_x,input signed[7:0]i_SNR,output signed[15:0]o_demod,output signed[15:0]o_demodN,output signed[31:0]o_fsk_dm1,output signed[31:0]o_fsk_dm2,output signed[31:0]o_fsk_dm3,output signed[31:0]o_fsk_dm4,output signed[15:0]o_fsk_f1,output signed[15:0]o_fsk_f2,output signed[15:0]o_fsk_f3,output signed[15:0]o_fsk_f4,output [1:0]o_bits);fskmod fskmod_u(.i_clk (i_clk),.i_rst (i_rst),.i_x (i_x),.o_demod (o_demod));awgns awgnsu(.i_clk (i_clk),.i_rst (i_rst),//SNR 5~30.i_SNR (i_SNR),.i_din (o_demod),.o_noise (),.o_dout (o_demodN));fskdemod fskdemod_u(.i_clk (i_clk),.i_rst (i_rst),.i_fsk (o_demodN),.o_fsk_dm1 (o_fsk_dm1),.o_fsk_dm2 (o_fsk_dm2),.o_fsk_dm3 (o_fsk_dm3),.o_fsk_dm4 (o_fsk_dm4),.o_fsk_f1 (o_fsk_f1),.o_fsk_f2 (o_fsk_f2),.o_fsk_f3 (o_fsk_f3),.o_fsk_f4 (o_fsk_f4),.o_bits (o_bits));endmodule仿真测试结果如下4.完整程序下载完整可运行代码博主已上传至CSDN使用版本为Vivado2022.2本程序包含程序操作步骤视频https://download.csdn.net/download/ccsss22/92787698