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

目录

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

相关推荐
ALINX技术博客11 小时前
【202601芯动态】全球 FPGA 异构热潮,ALINX 高性能异构新品预告
人工智能·fpga开发·gpu算力·fpga
Dev7z13 小时前
基于 MATLAB 的铣削切削力建模与仿真
开发语言·matlab
fengfuyao98516 小时前
基于MATLAB的表面织构油润滑轴承故障频率提取(改进VMD算法)
人工智能·算法·matlab
机器学习之心16 小时前
基于随机森林模型的轴承剩余寿命预测MATLAB实现!
算法·随机森林·matlab
rit843249918 小时前
基于MATLAB的环境障碍模型构建与蚁群算法路径规划实现
开发语言·算法·matlab
hoiii18718 小时前
MATLAB SGM(半全局匹配)算法实现
前端·算法·matlab
JJRainbow18 小时前
SN75176 芯片设计RS-232 转 RS-485 通信模块设计原理图
stm32·单片机·嵌入式硬件·fpga开发·硬件工程
yong999019 小时前
MATLAB面波频散曲线反演程序
开发语言·算法·matlab
s91236010119 小时前
FPGA眼图
fpga开发
北京青翼科技19 小时前
【PCIe732】青翼PCIe采集卡-优质光纤卡- PCIe接口-万兆光纤卡
图像处理·人工智能·fpga开发·智能硬件·嵌入式实时数据库