m基于FPGA的DQPSK调制解调通信系统verilog实现,包含testbench,不包含载波同步

1.算法仿真效果


本系统进行了两个平台的开发,分别是:


Vivado2019.2


Quartusii18.0+ModelSim-Altera 6.6d  Starter Edition


其中Vivado2019.2仿真结果如下:



将上面的各个信号放大,各个信号含义如下:



Quartusii18.0+ModelSim-Altera 6.6d  Starter Edition的测试结果如下:



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

DQPSK调制解调通信系统是一种数字通信系统,用于将数字信息转换为电信号进行传输。DQPSK代表差分四相移键控调制,是一种数字调制技术,它在发送端对数字信息进行编码,并在接收端对信号进行解码。DQPSK调制解调通信系统具有高效、可靠和抗干扰等优点,在现代通信系统中得到广泛应用。


一、DQPSK调制原理


DQPSK调制是通过改变信号的相位来传输数字信息的调制方式。在DQPSK调制中,每个符号代表两个比特,因此,DQPSK调制器需要将两个连续的比特组合在一起来形成一个符号。DQPSK调制器使用了差分编码器来避免相位漂移问题,这是一种将相邻符号之间的相位差编码为一个比特的技术。


下面是DQPSK调制器的数学公式:


每个符号代表两个比特,因此,输入比特串b1和b2可以组成一个符号s,公式如下:

$s = \cos(\theta_1+\theta_0)$


其中,$\theta_1$是上一个符号的相位,$\theta_0$表示本次符号的相位。


DQPSK调制器需要根据上一个符号和本次符号的相位来计算相位差,公式如下:

$\Delta\theta = \arctan\left(\frac{\sin(\theta_1+\theta_0)\cos(\theta_0)-\cos(\theta_1+\theta_0)\sin(\theta_0)}{\cos(\theta_1+\theta_0)\cos(\theta_0)+\sin(\theta_1+\theta_0)\sin(\theta_0)}\right)$


最后,DQPSK调制器需要将相位差映射到相位平面上,公式如下:

$s = \cos(\theta_1+\theta_0+\Delta\theta)$


二、DQPSK解调原理


DQPSK解调器需要根据接收到的信号来计算出相位差,然后将相位差解码为数字信息。DQPSK解调器使用低通滤波器来滤除高频噪声,并将接收到的信号分为两个时间窗口。接下来是DQPSK解调器的数学公式:


接收到的信号r可以表示为:

$r = s\cos(\theta_0)+n$


其中,$\theta_0$是本地参考信号的相位,n是接收到的噪声。


接下来,将接收到的信号r分为两个时间窗口r1和r2:

$r_1 = r_{T/2-1:0}$


$r_2 = r_{T-1:T/2}$


其中,T是一个符号的持续时间。


计算相位差,公式如下:

$\Delta\theta = \arctan\left(\frac{h\sin(2\pi fT)(r_1\cos(\theta_0)-r_2\sin(\theta_0))}{h\cos(2\pi fT)(r_2\cos(\theta_0)+r_1\sin(\theta_0))}\right)$


其中,h是低通滤波器的传递函数,f是载波频率。


最后,将相位差解码为数字信息,公式如下:

$b_1 = \Delta\theta > 0$


$b_2 = |\Delta\theta| > \pi/2$


这里,如果相位差$\Delta\theta$大于0,则将$b_1$设置为1,否则设置为0;如果相位差的绝对值大于$\pi/2$,则将$b_2$设置为1,否则设置为0。


三、DQPSK调制解调算法的实现过程


下面是DQPSK调制解调算法的实现过程:


产生本地参考信号

在DQPSK调制解调通信系统中,发送端和接收端需要使用相同频率和相位的载波信号。因此,需要在接收端产生一个本地参考信号,用于解调接收到的信号。本地参考信号可以使用一个简单的正弦波振荡器产生,公式如下:


$\theta_0(nT) = \theta_0((n-1)T) + 2\pi f_0 T$


其中,$f_0$是载波频率,$T$是一个符号的持续时间。


进行DQPSK调制

DQPSK调制器需要将两个连续的比特组合在一起来形成一个符号,然后根据上一个符号和本次符号的相位来计算相位差,最后将相位差映射到相位平面上。


3.Verilog核心程序

module TEST();


reg i_clk;

reg i_rst;

reg i_clkSYM;

reg i_dat;


wire o_Idiff;

wire o_Qdiff;

wire signed[15:0]o_Ifir_T;

wire signed[15:0]o_Qfir_T;

wire signed[15:0]o_cos_T;

wire signed[15:0]o_sin_T;

wire signed[31:0]o_modc_T;

wire signed[31:0]o_mods_T;

wire signed[31:0]o_mod_T;


wire signed[15:0]o_cos_R;

wire signed[15:0]o_sin_R;

wire signed[31:0]o_modc_R;

wire signed[31:0]o_mods_R;

wire signed[31:0]o_Ifir_R;

wire signed[31:0]o_Qfir_R;


wire o_I;

wire o_Q;

wire o_bits;


//DQPSK调制

TDQPSK TQPSKU(

.i_clk  (i_clk),

.i_rst  (i_rst),

.i_clkSYM(i_clkSYM),

.i_dat  (i_dat),

.o_Idiff(o_Idiff),

.o_Qdiff(o_Qdiff),


.o_Ifir (o_Ifir_T),

.o_Qfir (o_Qfir_T),

.o_cos  (o_cos_T),

.o_sin  (o_sin_T),

.o_modc (o_modc_T),

.o_mods (o_mods_T),

.o_mod  (o_mod_T)

);





//DQPSK解调

RDQPSK RQPSKU(

.i_clk  (i_clk),

.i_rst  (i_rst),

.i_clkSYM(i_clkSYM),

.i_med  (o_mod_T[25:10]),

.o_cos  (o_cos_R),

.o_sin  (o_sin_R),

.o_modc (o_modc_R),

.o_mods (o_mods_R),

.o_Ifir (o_Ifir_R),

.o_Qfir (o_Qfir_R),

.o_I(o_I),

.o_Q(o_Q),

.o_bits(o_bits)

);


initial

begin

i_clk = 1'b1;

i_clkSYM=1'b1;

i_rst = 1'b1;

#1600

i_rst = 1'b0;

end

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容