首页 > 其他分享 >基于FPGA的图像一维FFT变换IFFT逆变换verilog实现,包含tb测试文件和MATLAB辅助验证

基于FPGA的图像一维FFT变换IFFT逆变换verilog实现,包含tb测试文件和MATLAB辅助验证

时间:2024-06-05 23:34:04浏览次数:20  
标签:IFFT FPGA clk image 算法 en rst 1dfft 逆变换

目录

1.算法运行效果图预览

2.算法运行软件版本

3.部分核心程序

4.算法理论概述

5.算法完整程序工程


1.算法运行效果图预览

fpga仿真结果

matlab调用FPGA的仿真结果进行图像显示

2.算法运行软件版本

vivado2019.2

matlab2022a

3.部分核心程序

........................................................
module test_image;
//图片大小
parameter RR=256;
parameter CC=256;

reg i_clk;		 
reg i_rst; 

reg i_image_en;
reg[7:0] i_image;
			
wire o_en_1dfft;
wire o_last_1dfft;
wire[19:0] o_image_R1dfft;
wire[19:0] o_image_I1dfft;		
			
			
			
Image_1Dfft Image_1Dfft_u(		
		 .i_clk					(i_clk),
		 .i_rst					(i_rst),
		 .i_image_en		    (i_image_en),
		 .i_image		        (i_image),
		 
		 .o_en_1dfft      		(o_en_1dfft),
		 .o_last_1dfft    		(o_last_1dfft),
		 .o_image_R1dfft        (o_image_R1dfft), 
		 .o_image_I1dfft        (o_image_I1dfft) 
		 );		
		 
		 
wire o_en_1difft;
wire[7:0] o_image_ifft;	

Image_1Difft Image_1Difft_u(		
		 .i_clk					(i_clk),
		 .i_rst					(i_rst),
		 .i_image_en		    (o_en_1dfft),
		 .i_Rimage		        (o_image_R1dfft),
		 .i_Iimage		        (o_image_I1dfft),
		 .o_en_1difft      		(o_en_1difft),
		 .o_image_ifft          (o_image_ifft)
		 );
 
		
		
		
initial begin
i_clk  = 1;
i_rst  = 1;
#1000;
i_rst = 0;
end
always #10 i_clk = ~i_clk;	


//读取图片数据
integer i,j;
reg[15:0]Men_images [(RR*CC-1):0];
initial #500 $readmemh("D:/FPGA_Proj/FPGAtest/codepz/FPGA_image_input.txt",  Men_images);	

//将数据保存到txt,用来matlab调用
integer Ifout1;
integer fout2;
initial begin
 Ifout1 = $fopen("EN2.txt","w");
 fout2 = $fopen("IiFFT.txt","w");
end

always @ (posedge i_clk)
 begin

	
	
   if(o_en_1difft)
	$fwrite(Ifout1,"%d\n",o_en_1difft);
	else
	$fwrite(Ifout1,"%d\n",0);
	
   if(o_en_1difft)
	$fwrite(fout2,"%d\n",o_image_ifft);
	else
	$fwrite(fout2,"%d\n",0);
	
end
endmodule
0X_037m

4.算法理论概述

        基于现场可编程门阵列(Field-Programmable Gate Array, FPGA)实现的图像一维快速傅里叶变换(Fast Fourier Transform, FFT)和逆快速傅里叶变换(Inverse Fast Fourier Transform, IFFT)是数字信号处理领域的重要技术,特别是在图像处理、通信和信号分析等方面有着广泛的应用。

       基于 FPGA 的一维 FFT 和 IFFT 实现,通过高效算法的硬件化,不仅大幅提高了计算速度,而且在功耗和实时性方面展现出优势,特别适合于对计算密集型和实时性要求高的图像处理应用,如图像压缩、图像滤波、图像识别等。

5.算法完整程序工程

OOOOO

OOO

O

标签:IFFT,FPGA,clk,image,算法,en,rst,1dfft,逆变换
From: https://blog.csdn.net/aycd1234/article/details/139484501

相关文章

  • 【FPGA约束】如何对fpga进行io约束
            对FPGA进行I/O输入输出约束是确保设计满足电气和物理要求的重要步骤。以下是在Vivado环境中设置I/O约束的一般步骤:1.确定I/O引脚需求根据电路设计和FPGA芯片手册,确定每个I/O引脚的物理位置、电气特性(如电压标准)以及其他相关属性。2.使用Vi......
  • 提供高达 58 Gbps 的收发器速率、AGFA023R31C2E1VB/AGFA023R31C2I1V/AGFA023R31C2I2VB
    Agilex7FPGA产品系列包括业界最高性能的FPGA和SoC。英特尔Agilex7FPGA和SoC由高性能的F系列、I系列和M系列FPGA组成,为要求最高的应用提供了一系列的高级功能。•具有业界最高数据速率的收发器—高达116Gbps•业界首创的PCIExpress*(PCIe*)5.0和ComputeExpressLi......
  • 迪普微震撼发布:全新Xilinx Kintex-7 XC7K325 FPGA开发板!
    01产品概述本公司基于XilinxKintex-7系列的开发平台采用核心板加扩展主板的方式,方便用户对相关板卡的二次开发利用。其中,核心板包含一片芯片XC7K325T,使用FFG900封装,外挂4片512MB的高速DDR3芯片和1片256Mb的QSPIFlash芯片。在扩展板上我们设计了丰富的外围接口,比如PCIeG......
  • Stratix® V FPGA系列:5SGXEBBR3H43I3G、5SGXEBBR1H43C2G、5SGXEBBR2H43I2G为带宽应用
    StratixV系列StratixVFPGA采用新的存储器体系结构,降低延时,高效实现FPGA业界最好的系统性能。StratixVFPGA为网络设备生产商提供存储器接口解决方案,支持在互联网上迅速有效的传送视频、语音和数据。StratixVFPGA的主要性能突破包括:集成66个28Gbps串行收发器(每通道功耗仅20......
  • FPGA/ZYNQ:生成3x3矩阵
    一、简述在对图像进行处理时经常用到矩阵操作,包括sobel边缘检测、中值滤波、形态学等。本篇博客介绍一下用两个RAM生成3x3矩阵的方法。二、实现方法1.设计line_shift模块用于对三行数据进行寄存;2.设计一个产生3x3矩阵的模块。三、实现过程1.line_shift_RAM_24bit通过时钟......
  • 突破带宽瓶颈,5SGXEB6R3F43C3G、5SGXEB6R1F43C1G、5SGXEB6R2F43I3G、5SGXEB6R3F43C2G F
    StratixVFPGA的主要性能突破包括:集成66个28Gbps串行收发器(每通道功耗仅200mW)、提供1.6Tbps串行交换能力、提供12.5Gbps背板驱动和28Gbps芯片至芯片驱动能力、提供7组72位1600MbpsDDR3接口、以及提供1840GMACS或1000GFLOPS计算能力、业界第一款精度可变的DSP模块、53Mb嵌入式......
  • FPGA复位专题---(42)复位信号高扇出?
     (42)复位信号高扇出?1目录(a)FPGA简介(b)Verilog简介(c)复位简介(d)复位信号高扇出?(e)结束1FPGA简介(a)FPGA(FieldProgrammableGateArray)是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现......
  • RGMII接口--->(007)FPGA实现RGMII接口(七)
     (007)FPGA实现RGMII接口(七)1目录(a)FPGA简介(b)IC简介(c)Verilog简介(d)FPGA实现RGMII接口(七)(e)结束1FPGA简介(a)FPGA(FieldProgrammableGateArray)是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定......
  • (中文参数)可编程逻辑IC 5SGXEB6R2F40I2G、5SGXEB6R2F40I3G、5SGXEB6R3F40I3G、5SGXEB6R
    概述StratixV是业内第一款可提供精度可变DSP模块的FPGA,这使得它可提供业内效率最高、性能最好的多精度DSP数据通路和功能,如FFT、FIR和浮点DSP。StratixVFPGA具有1.6Tbps串行交换能力,采用各种创新技术和前沿28-nm工艺,突破带宽瓶颈,降低了宽带应用的成本和功耗。StratixVFP......
  • FPGA图像处理--CLAHE算法(一)
    FPGA交流群:838607138本文首发于公众号:FPGA开源工坊在介绍CLAHE算法之前必须要先提一下直方图均衡化,直方图均衡化算法是一种常见的图像增强算法,可以让像素的亮度分配的更加均匀从而获得一个比较好的观察效果。如下图就是经过直方图均衡化后的效果图。importcv2importnumpya......