基于FPGA的DSB调制解调系统verilog开发

目录

1.引言

2.算法测试效果

3.算法涉及理论知识概要

[3.1 DSB调制数学模型](#3.1 DSB调制数学模型)

[3.2 DSB相干解调原理](#3.2 DSB相干解调原理)

4.核心程序


1.引言

双边带调制(Double Sideband,DSB)属于线性幅度调制,是在标准调幅(AM)基础上去除载波分量得到的调制方式。普通 AM 信号频谱包含载波、上边带与下边带,载波不携带信息,仅消耗发射功率;DSB 调制直接将基带信号与高频载波相乘,完全抑制载波分量,信号频谱仅保留上下两个边带,因此称为双边带抑制载波调制(DSB-SC,工程中常简称为 DSB)。DSB 核心优势在于功率利用率远高于 AM,全部发射功率分配给携带信息的边带;缺点是接收端无法使用包络检波,必须采用相干解调,需要本地同步载波,系统复杂度更高。

2.算法测试效果

整个系统信号流程:

基带信号m(t)→ DSB调制模块→生成DSB已调信号→AWGN加性高斯白噪声信道叠加噪声→含噪 DSB信号→相干解调乘法器运算→解调原始混合信号→低通滤波器输出恢复基带信号。

m:输入基带调制信号

DSBmod:DSB调制输出信号

DSBmodn:经过AWGN信道、叠加高斯噪声后的DSB接收信号

o_DSB_demod:相干解调乘法器直接输出(基带分量+二倍载波高频分量混合波形)

o_DSB_filter:低通滤波后最终恢复的基带信号

3.算法涉及理论知识概要

3.1 DSB调制数学模型

DSB调制本质为时域相乘运算,调制输出信号DSB(t):

从频谱表达式可以直观理解DSB特性:基带频谱M(w)分别搬移至+w和-w处,形成上边带与下边带,不存在位于wc的冲激分量,证明载波被完全抑制。上下边带承载完全相同的基带信息,因此后续发展出单边带调制(SSB)进一步压缩带宽。DSB信号带宽与AM一致,BDSB=2fm,fm为基带信号最高频率。

3.2 DSB相干解调原理

相干解调核心条件:接收端生成与发送载波同频、同相的本地同步载波,与接收DSB信号再次相乘,通过频谱搬移将边带信号还原至基带频率,再经低通滤波器滤除高频分量恢复原始信号。

1.乘法器混频运算

2.低通滤波

设计截止频率略大于fm的低通滤波器,滤除二倍载波频率高频分量,输出恢复信号hat(t):

输出信号为原始基带信号幅度衰减版本,通过放大器补偿增益即可得到原始信息,实现无失真解调。

4.核心程序

复制代码
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2026/08/10 20:54:10
// Design Name: 
// Module Name: DSB_tops
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////

//DSB调制
DSBmod DSBmod_u(
.i_clock     (i_clock),
.i_reset     (i_reset),
.i_m         (i_m),
.i_K         (i_K),
.o_DSBmod    (o_DSBmod)
);

     
awgns awgnsu(
.i_clock     (i_clock),
.i_reset     (i_reset),
//SNR:5~30
.i_SNR     (i_snr),
.i_din     (o_DSBmod),
.o_noise   (),
.o_dout    (o_DSBmodn)
);  



//相干解调
DSBdemod DSBdemod_u(
.i_clock           (i_clock),
.i_reset           (i_reset),
.i_sel             (i_sel),
.i_K               (i_K ),
.i_dsb_demod       (o_DSBmodn),
.o_DSB_demod       (o_DSB_demod),
.o_DSB_filter      (o_DSB_filter)
);

5.完整算法代码文件获得

完整程序见博客首页左侧或者打开本文底部GZH名片

( V关注后回复码: X148)

V

相关推荐
szxinmai主板定制专家5 小时前
软硬协同!ZYNQ 高速多通道同步采集,变电站 / 工厂设备状态监测方案详解
人工智能·深度学习·机器学习·fpga开发·zynq·rk3576
FPGA小徐5 小时前
FPGA 8阶LFSR加扰/解扰器设计
fpga开发
逐光者9337 小时前
超前进位加法器:原理、推导与 Verilog 实现
fpga开发
szxinmai主板定制专家7 小时前
ZYNQ PL+PS 架构拆解|工业自动化与电力物联网高速数据采集、预处理与协议上云
arm开发·人工智能·物联网·fpga开发·数据采集卡·rk3576
szxinmai主板定制专家8 小时前
告别 ARM 实时性短板:基于 ZYNQ 的电力故障录波 + 工业振动数据采集系统设计
arm开发·人工智能·fpga开发·zynq·数据采集卡·arm+fpga·rk3588+fpga
FPGA小徐10 小时前
FPGA 实现 Canny 边缘检测|大白话原理 + 专业工程解析
fpga开发
辰丁电子21 小时前
allegro入门教程-菜单栏Analyze
fpga开发·pcb设计·pcb工艺·pcb·layout
鸥梨菌Honevid1 天前
UVM 中 raise_objection 与 drop_objection 的作用与重要性详解
fpga开发
叶子野格1 天前
《FPGA基本知识累积:看开发指南要懂的术语》
学习·fpga开发
泛联新安1 天前
VHawk-CDC:FPGA跨时钟域检查怎么选?
fpga·亚稳态·fpga验证