m基于FPGA的高斯白噪声信道模拟系统verilog实现,包含testbench,可以配置不同的SNR和频偏

1.算法仿真效果

vivado2019.2仿真结果如下:



SNR=0db,无频偏



SNR=5db,无频偏



SNR=25db,无频偏



SNR=45db,带频偏



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

高斯白噪声信道在通信系统中具有重要意义,模拟此类信道有助于评估系统性能。本文提出的FPGA实现系统可以灵活地模拟不同信道条件,为通信系统的设计和测试提供有力支持。



本系统的设计分为以下几个步骤:


生成高斯白噪声:使用随机数生成器产生服从高斯分布的随机数,作为噪声信号。

生成发送信号:根据应用场景生成发送信号,如调制后的信号。

添加信道效应:将发送信号与高斯白噪声相加,模拟信道效应。

频偏模拟:将发送信号经过频偏模块,引入频偏效应。

编写Testbench:编写Verilog测试台,配置不同的SNR和频偏参数,验证系统功能。

本系统在通信系统设计、性能评估和算法验证等方面具有广泛应用。通过模拟不同信道条件,可以评估系统在各种环境下的性能表现,指导系统设计优化。


3.verilog核心程序

`timescale 1ns / 1ps

//

// Company:

// Engineer:

//

// Create Date: 2023/08/17 14:13:20

// Design Name:

// Module Name: TEST

// Project Name:

// Target Devices:

// Tool Versions:

// Description:

//

// Dependencies:

//

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

//

//



module TEST();


reg i_clk;

reg i_rst;

reg signed[7:0]i_SNR;//根据质量得到当前帧类型:-10~50

reg signed[15:0]i_fre;

wire signed[15:0]i_real1;

wire signed[15:0]i_imag1;

wire signed[15:0]o_Rnoise1;

wire signed[15:0]o_Inoise1;

wire signed[15:0]o_real1;

wire signed[15:0]o_imag1;    


reg signed[1:0]i_Idiff;

reg signed[1:0]i_Qdiff;    

initial

begin

i_Idiff = 2'b00;

#1440

repeat(12500)

begin

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b01;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b11;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b11;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b11;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b01;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b01;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b11;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b01;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b11;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b01;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b01;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b01;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b01;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b11;

#10 i_Idiff = 2'b00;

#30 i_Idiff = 2'b11;

end

$stop();

end

initial

begin

i_Qdiff = 2'b00;

#1440

repeat(12500)

begin

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b11;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b11;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b01;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b01;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b01;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b01;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b11;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b11;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b11;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b01;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b11;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b01;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b11;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b01;

#10 i_Qdiff = 2'b00;

#30 i_Qdiff = 2'b11;

end

$stop();

end


//测试信号源

wire signed[1:0] w_Inz=i_Idiff;

wire signed[1:0] w_Qnz=i_Qdiff;


//成型滤波

fiter uut1(

.i_clk  (i_clk),

.i_rst  (i_rst),

.i_din  (w_Inz),

.o_dout (i_real1)

);


fiter uut2(

.i_clk  (i_clk),

.i_rst  (i_rst),

.i_din  (w_Qnz),

.o_dout (i_imag1)

);



initial

begin

i_clk = 1'b1;

i_rst = 1'b1;

i_fre= 0;

i_SNR = 8'd0;

#1600

i_rst = 1'b0;

i_SNR = 0;

i_fre= 0;

#10000

i_SNR = 5;

i_fre= 0;

#10000

i_SNR = 15;

i_fre= 0;

#10000

i_SNR = 25;

i_fre= 0;

#10000

i_SNR = 45;

i_fre= 10;//1/2^15*100e6=3k频偏

end


always #5 i_clk=~i_clk;  


AWGN_tops AWGN_tops_u(

.i_clk     (i_clk),

.i_rst     (i_rst),

.i_SNR     (i_SNR),//根据质量得到当前帧类型:-10~50

.i_fre     (i_fre),

.i_real1   (i_real1),

.i_imag1   (i_imag1),

.o_Rnoise1 (o_Rnoise1),

.o_Inoise1 (o_Inoise1),

.o_real1   (o_real1),

.o_imag1   (o_imag1)

);  




endmodule

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

推荐阅读更多精彩内容