码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 基于FPGA的图像一维FFT变换IFFT逆变换verilog实现,包含tb测试文件和MATLAB辅助验证


    目录

    1.算法运行效果图预览

    2.算法运行软件版本

    3.部分核心程序

    4.算法理论概述

    5.算法完整程序工程


    1.算法运行效果图预览

    fpga仿真结果

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

    2.算法运行软件版本

    vivado2019.2

    matlab2022a

    3.部分核心程序

    1. ........................................................
    2. module test_image;
    3. //图片大小
    4. parameter RR=256;
    5. parameter CC=256;
    6. reg i_clk;
    7. reg i_rst;
    8. reg i_image_en;
    9. reg[7:0] i_image;
    10. wire o_en_1dfft;
    11. wire o_last_1dfft;
    12. wire[19:0] o_image_R1dfft;
    13. wire[19:0] o_image_I1dfft;
    14. Image_1Dfft Image_1Dfft_u(
    15. .i_clk (i_clk),
    16. .i_rst (i_rst),
    17. .i_image_en (i_image_en),
    18. .i_image (i_image),
    19. .o_en_1dfft (o_en_1dfft),
    20. .o_last_1dfft (o_last_1dfft),
    21. .o_image_R1dfft (o_image_R1dfft),
    22. .o_image_I1dfft (o_image_I1dfft)
    23. );
    24. wire o_en_1difft;
    25. wire[7:0] o_image_ifft;
    26. Image_1Difft Image_1Difft_u(
    27. .i_clk (i_clk),
    28. .i_rst (i_rst),
    29. .i_image_en (o_en_1dfft),
    30. .i_Rimage (o_image_R1dfft),
    31. .i_Iimage (o_image_I1dfft),
    32. .o_en_1difft (o_en_1difft),
    33. .o_image_ifft (o_image_ifft)
    34. );
    35. initial begin
    36. i_clk = 1;
    37. i_rst = 1;
    38. #1000;
    39. i_rst = 0;
    40. end
    41. always #10 i_clk = ~i_clk;
    42. //读取图片数据
    43. integer i,j;
    44. reg[15:0]Men_images [(RR*CC-1):0];
    45. initial #500 $readmemh("D:/FPGA_Proj/FPGAtest/codepz/FPGA_image_input.txt", Men_images);
    46. //将数据保存到txt,用来matlab调用
    47. integer Ifout1;
    48. integer fout2;
    49. initial begin
    50. Ifout1 = $fopen("EN2.txt","w");
    51. fout2 = $fopen("IiFFT.txt","w");
    52. end
    53. always @ (posedge i_clk)
    54. begin
    55. if(o_en_1difft)
    56. $fwrite(Ifout1,"%d\n",o_en_1difft);
    57. else
    58. $fwrite(Ifout1,"%d\n",0);
    59. if(o_en_1difft)
    60. $fwrite(fout2,"%d\n",o_image_ifft);
    61. else
    62. $fwrite(fout2,"%d\n",0);
    63. end
    64. endmodule
    65. 0X_037m

    4.算法理论概述

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

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

    5.算法完整程序工程

    OOOOO

    OOO

    O

  • 相关阅读:
    http-499状态码
    【预测模型-随机森林分类】基于随机森林算法实现数据分类附matlab代码
    .NET MAUI 多平台应用 UI 应用
    牛客小白月赛55 A-E 回顾
    动态表单设计
    SaaSBase:什么是小裂变SCRM?
    分布式微服务技术栈-SpringCloud<Eureka,Ribbon,nacos>
    一文解决Cellphonedb单细胞互作分析及可视化作图(2)
    【Ansible】 实施任务控制
    谷粒商城 (二十三) --------- 商品服务 API 属性分组 ④ 品牌分类关联与级联更新
  • 原文地址:https://blog.csdn.net/aycd1234/article/details/139484501
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号