首页 > 其他分享 >m基于FPGA的Alamouti编码verilog实现,包含testbench测试文件

m基于FPGA的Alamouti编码verilog实现,包含testbench测试文件

时间:2024-03-13 23:14:39浏览次数:32  
标签:real code1 code2 en FPGA clk imag Alamouti verilog

1.算法仿真效果

 

本系统进行了Vivado2019.2平台的开发,结果如下:

 

 

 

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

        在无线通信领域,多天线技术是提高系统容量和可靠性的关键手段之一。Alamouti编码是空时编码(STC)的一种,它为两发射天线的系统提供了一种全速率、全分集的简单编码方案。而空频分组编码(SFBC)则是Alamouti编码在频域的一种扩展,用于在正交频分复用(OFDM)等系统中获得类似的分集增益。

 

       SFBC是一种扩展至多载波通信系统(如OFDM)的空间编码技术,它结合了空域和频域的分集增益。在多天线、多子载波的场景下,SFBC通过对同一组数据符号在不同天线以及相邻或非相邻的子载波上重复或交织编码实现分集。

 

       其运算公式如下:

 

 

 

 

 

 

3.Verilog核心程序

 

`timescale 1ns / 1ps
 
module TEST();
 
reg i_clk;
reg i_rst;
reg i_en;
reg [7:0]i_real;
reg [7:0]i_imag;
 
wire o_en;
wire[7:0]o_real_code1;
wire[7:0]o_imag_code1;
wire[7:0]o_real_code2;
wire[7:0]o_imag_code2;  
 
Alamouti_code uut(
.i_clk        (i_clk),
.i_rst        (i_rst),
.i_en         (i_en),
.i_real       (i_real),
.i_imag       (i_imag),
.o_en         (o_en),
.o_real_code1 (o_real_code1),
.o_imag_code1 (o_imag_code1),
.o_real_code2 (o_real_code2),
.o_imag_code2 (o_imag_code2)                 
);
 
initial
begin
i_clk = 1'b1;
i_rst = 1'b1;
#1000
i_rst = 1'b0;
end
initial
begin
i_en   = 1'b0;
i_real = 8'd0;
i_imag = 8'd0;
#1000
i_en   = 1'b1;
i_real = 15;
i_imag = 25;
#10
i_en   = 1'b1;
i_real = 35;
i_imag = 40;
#10
i_en   = 1'b0;
i_real = 0;
i_imag = 0;
end
always #5 i_clk = ~i_clk;
endmodule

 

  

 

标签:real,code1,code2,en,FPGA,clk,imag,Alamouti,verilog
From: https://www.cnblogs.com/51matlab/p/18071788

相关文章

  • FPGA的FIFO部分的知识点
    看的小梅哥的新视频,FIFO这边讲的不太清楚,换正点原子的fifo听一下。后面的以太网和HDMI有空也看一下正点原子的,主要是想快速看zynq的知识,而且现在学的很多都是模仿抄代码,真正自己来还是得工程中实际应用的时候才会使用学习FIFO,先入先出,像队列。常用于数据的缓存,因为数据的读写带......
  • 从零开始利用MATLAB进行FPGA设计(一):建立脉冲检测模型的Simulink模型2
    目录1.模块的总体结构1.1从工作空间导入输入信号1.2FIR滤波器2.Subsystem3.MATLABFunction文章灵感来源于MATLAB官方免费教程:HDLCoderSelf-GuidedTutorial考虑到MATLAB官网的英文看着慢,再加上视频讲解老印浓浓的咖喱味,我决定记录利用MATLAB&Simulink&SystemGenerat......
  • FPGA的时钟IP核知识点
    IP核在我看来就跟stm32中的一些驱动的库函数一样,可以调用快速使用。不用一步一步的自己写底层原理。可以加速设计,快速设计代码。IP核的PLL还有一个MMCM。PLL是锁相环,对时钟进行管理。也是后面使用中很重要的IP核。不同器件需要不同的时钟。时钟管理单元CMT=PLL+MMCM混合时钟管......
  • 基于FPGA各种视频接口转换的国产化设计
    随着国产化进程推进,现在许多项目需要实现国产化设计,本博主通过器件选型/原理图设计,到视频接口输入,DDR3缓存,再到图像输出,使用者可在此基础实现二次开发,功能实现通过verilog,操作简单,添加功能方便。接口包含lvds/camelink/bt1120/hdmi/sdi等等常用视频接口,也可定制其他接口,带......
  • Vscode-Verilog开发工具
    ICdesign时,有的公司是在linux环境下进行,虽然很多推荐用vim/gvim进行coding,但是在linuxvscode下coding也很多,因为vscode插件很多,看个人习惯吧,我喜欢在vscode下Coding。另外FPGA开发一般也就在windows环境下进行,所以也可以用Vscode进行Coding。个人使用的插件如下:1.代码补全,代码......
  • OMAP-L138 + FPGA开发板(Pin-To-Pin国产FPGA)
    XQ138F-EVM是广州星嵌电子科技有限公司基于TIOMAP-L138(定点/浮点DSPC674x+ARM9)+FPGA处理器研制的开发板;OMAP-L138选用TI德州仪器的TMS320C6748+ARM926EJ-S异构双核处理器,主频456MHz,高达3648MIPS和2746MFLOPS的运算能力;FPGA采用中科亿海微eHiChip6家族EQ6......
  • 提高性能、减小尺寸的1SG250HU3F50E3VG、1SG250HN3F43I3VG、1SG250HN3F43E2VG高性能 S
    概述英特尔®Stratix®10GXFPGA包含多达1020万个LE。它们在单独的收发器块上配备多达96个通用收发器,可提供2666MbpsDDR4外部内存接口性能。这些收发器可提供高达28.3Gbps的短距离和跨背板传输。这些设备针对需要最高收发器带宽和核心结构性能的FPGA应用而优化......
  • XILINX FPGA 1/4/8通道PCIe DMA控制器IP,高性能版本IP介绍应用
    Multi-ChannelPCIeQDMA&RDMAIP1   介绍基于PCIExpressIntegratedBlock,Multi-ChannelPCIeQDMASubsystem实现了使用DMA地址队列的独立多通道、高性能Continous或ScatherGatherDMA,提供FIFO/AXI4-Stream用户接口。基于PCIExpressIntegratedBlock,Multi-ChannelPC......
  • FPGA的DAC转换部分遇到的问题
    利用线性序列机根据时序图和手册中的输出值的对应关系。DAC这边的知识基本相同。在验证的时候发现了问题,反推仿真的时候发现了,子啊lsm_cnt线性序列机计数的33到了之后还有一位,发现是set_en的问题,因为set_en使能才能计数。这边是正确的波形图和代码对应always@(posedgeclko......
  • 基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览RTL图:   仿真图:   导入到matlab显示效果如下:   2.算法运行软件版本matlab2022a vivado2019.2 3.算法理论概述      在计算机视觉领域,基于肤色模型和中值滤波的手部检测方法是一种常见的初步定位策略。该方法主要分为......