基于FPGA的9/7整数小波变换和逆变换verilog实现,包含testbench

目录

1.算法运行效果图预览

2.算法运行软件版本

3.部分核心程序

4.算法理论概述

4.1 9/7整数小波变换原理

4.2 逆变换过程

5.算法完整程序工程


1.算法运行效果图预览

将测试结果导入到matlab显示

2.算法运行软件版本

vivado2019.2,matlab2022a

3.部分核心程序

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2024/02/19 20:11:37
// Design Name: 
// Module Name: TEST_tops
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//module TEST_tops();reg       i_clk;
reg       i_rst;
wire[7:0]o_images;	
//9/7 wavelet
wire signed[15:0]o_images_Di;
wire signed[15:0]o_images_Si;
//9/7 dewavelet
wire       [7:0] o_images2;tops tops_uut(.i_clk        (i_clk),.i_rst        (i_rst),.o_images       (o_images),.o_images_Di       (o_images_Di),.o_images_Si       (o_images_Si),  .o_images2      (o_images2));initial
begini_clk = 1'b0;i_rst = 1'b1;#1000i_rst = 1'b0;end	integer fout1;
integer fout2;
integer fout3;
integer fout4;
initial beginfout1 = $fopen("A.txt","w");fout2 = $fopen("B.txt","w");fout3 = $fopen("C.txt","w"); fout4 = $fopen("D.txt","w"); 
endalways @ (posedge i_clk)begin$fwrite(fout1,"%d\n",o_images);$fwrite(fout2,"%d\n",o_images_Di);$fwrite(fout3,"%d\n",o_images_Si);	 $fwrite(fout4,"%d\n",o_images2);	
endalways #5 i_clk = ~i_clk;endmodule
17_008m

4.算法理论概述

       小波变换是一种在信号处理中广泛应用的数学工具,它能够提供信号在不同尺度和位置上的信息。在图像处理、数据压缩、噪声消除等领域,小波变换都发挥着重要作用。9/7整数小波变换是一种特别适用于无损或有损图像压缩的小波变换,它具有良好的能量集中性和对称性。现场可编程门阵列(FPGA)作为一种可重构的硬件平台,非常适合实现这种计算密集型的小波变换算法。

        9/7整数小波变换基于两个主要的滤波器:一个低通滤波器(也称为尺度滤波器)和一个高通滤波器(也称为小波滤波器)。这两个滤波器分别用于提取信号的近似(低频)和细节(高频)信息。

4.1 9/7整数小波变换原理

        9/7整数小波变换是一种离散小波变换(Discrete Wavelet Transform, DWT)算法,其中最常用的是Daubechies小波家族中的db2小波。该变换主要用于信号的多分辨率分析,通过低通滤波器(LPF)和高通滤波器(HPF)对输入数据进行滤波操作,分别得到近似系数(approximation coefficients)和细节系数(detail coefficients)。在9/7整数小波变换中,滤波器系数是整数,这使得计算过程可以实现无损精度。

       对于一维信号x[n],其连续小波变换可以表示为卷积形式:

4.2 逆变换过程

       9/7整数小波逆变换则是上述过程的逆运算,即将各级近似和细节系数通过上采样、重构滤波器后逐级相加以恢复原信号:

对于每一级近似和细节系数,首先进行上采样操作。

然后通过相应的重构滤波器(它们通常是原始滤波器的镜像对称版本)来重构信号部分。

最终,将重构后的近似信号与从下一层次提升上来的细节信号相加以完成信号恢复。

5.算法完整程序工程

OOOOO

OOO

O

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2814924.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

批量自动加好友,轻松拓展微信人脉圈子

在当今社交化的时代,拓展社交圈子已经成为许多人努力追求的目标。而微信作为中国人群中最主流的社交工具之一,更是成为人们拓展社交圈子的重要场所。在这样的背景下,有没有一种简单而高效的方式来扩大微信人脉圈子呢?答案是肯定的…

什么是智能合约

前言:在介绍智能合约的前提下,需要先介绍一下区块链 一.什么是区块链 区块链实质上是一个去中心化、分布式的可进行交易的数据库或账本,具有下列典型特征: 去中心化:简单来说,在网络上一个或多个服务器瘫…

云时空社会化商业ERP系统任意文件上传漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

046-WEB攻防-注入工具SQLMAPTamper编写指纹修改高权限操作目录架构

046-WEB攻防-注入工具&SQLMAP&Tamper编写&指纹修改&高权限操作&目录架构 #知识点: 1、SQLMAP-常规猜解&字典配置 2、SQLMAP-权限操作&文件命令 3、SQLMAP-Tamper&使用&开发 4、SQLMAP-调试指纹&风险等级 演示案例&#xf…

如何实现双向循环链表

博主主页:17_Kevin-CSDN博客 收录专栏:《数据结构》 引言 双向带头循环链表是一种常见的数据结构,它具有双向遍历的特性,并且在表头和表尾之间形成一个循环。本文将深入探讨双向带头循环链表的结构、操作和应用场景,帮…

谷歌seo推广好还是竞价排名好?

事实上seo跟sem竞价并没有任何冲突,也并没有哪个更好的说法,关键在于理解它们各自的优势与局限性,并根据你的业务,预算来配合 Seo推广的优势在于成本,只要你的网站在搜索结果获得高排名,就能有源源不断的点…

OJ_顺序存储的二叉树

题干 C实现 #define _CRT_SECURE_NO_WARNINGS #include<iostream>using namespace std;int main() {int m, n;while (1) {scanf("%d%d", &m, &n);if (m 0 && n 0) {break;}int i 1;//获取层数&#xff0c;从1开始int begin_level;//存储子…

数据中台:数字中国战略关键技术设施

目录 前言 为何要建设数据中台 数据中台建设痛点 数据中台学习资料 聚焦前沿&#xff0c;方法论体系更新 与时俱进&#xff0c;紧跟时代热点 深入6大行业&#xff0c;提炼实践精华 大咖推荐&#xff0c;数字化转型必备案头书 前言 在数字中国这一国家战略的牵引下&…

精准杜绝医疗设备漏费的智慧防线

19339904493&#xff08;康&#xff09; 医疗设备漏费管理系统&#xff0c;如同医疗设备的智慧守望者&#xff0c;时刻守护着患者的权益与医院的利益。它运用先进的人工智能算法&#xff0c;深度读取设备内部图像与项目信息&#xff0c;通过深度学习图像并分析患者的检查部位、…

招聘系统架构的设计与实现

在当今竞争激烈的人才市场中&#xff0c;有效的招聘系统对企业吸引、筛选和管理人才至关重要。本文将探讨招聘系统的架构设计与实现&#xff0c;帮助企业构建一个高效、可靠的人才招聘平台。 ## 1. 系统架构设计 ### 1.1 微服务架构 招聘系统通常采用微服务架构&#xff0c;将…

Docker制作lamp镜像并在其他机器上部署

为了方便将自己的LAMP运行环境和项目在其他机器上部署或发布&#xff0c;可以用基于Dockerhub 里的mattrayner/lamp镜像打包自己需要的镜像。 1、先选择合适的镜像文件 镜像mattrayner/lamp有多个版本&#xff0c;根据自己需要选择下载 2、镜像在首次运行时会自动下载&#x…

Python算法100例-2.9 舍罕王的失算

完整源代码项目地址&#xff0c;关注博主私信源代码后可获取 1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序6.运行结果 1&#xff0e;问题描述 相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋&#xff0c;决定让宰相自己选择何种赏赐。这位…

自学Python笔记总结(2——了解)

网络了解 网络调试助手 NetAssist.exe NetAssist.exe 使用方法请自行寻找 UDP协议 &#xff08;只能一来一回的的发消息&#xff0c;不可连续发送&#xff09; UDP 是User Datagram Protocol的简称&#xff0c; 中文名是用户数据报协议。在通信开始之前&#xff0c;不需要建…

Jrebel 使用备忘

背景 Java 开发时修改了代码如果手动中止进行然后重启的话&#xff0c;非常麻烦&#xff0c;所以需要一个热部署的插件&#xff0c;修改代码之后即时生效&#xff0c;无需重启。 之前一直用的 devtools&#xff0c;不过在一个新项目中&#xff0c;devtools 有点问题&#xff0…

组合模式(Composite Pattern)C++

上一节&#xff1a;桥接模式&#xff08;Bridge Pattern&#xff09; C 文章目录 0.理论1.目的与应用场景2.实现方式 1.实践 0.理论 组合模式&#xff08;Composite Pattern&#xff09;是一种结构型设计模式&#xff0c;用于将对象组合成树形结构以表示“部分-整体”的层次结…

枚举(蓝桥练习)

目录 一、枚举算法介绍 二、解空间的类型 三、循环枚举解空间 四、例题 &#xff08;一、反倍数&#xff09; &#xff08;二、特别数的和&#xff09; &#xff08;三、找到最多的数&#xff09; &#xff08;四、小蓝的漆房&#xff09; &#xff08;五、小蓝和小桥的…

tkinterFrame框架+标签框架LabelFrame+Toplevel窗口的使用

1.在tkinter中&#xff0c;Frame是一个容器小部件用于组织和管理其他小部件。它可以作为一个独立的可见区域&#xff0c;也可以作为其他小部件的父容器。 import tkinter as tk import tkinter.ttk as ttk import tkinter.messagebox as mbm tk.Tk() m.title("tkinter L…

10.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-接管游戏发送数据的操作

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;接管游戏连接服务器的操作 码云地址&#xff08;master 分支&#xff09;&#xff1a;染指/titan 码云版本号&#xff1a;00820853d5492fa7b6e32407d46b5f9c01930ec6 代码下载地址&#xff0c;在 ti…

Rocky Linux 运维工具 firewall-cmd

一、firewall-cmd​的简介 ​​firewall-cmd​是基于firewalld的防火墙管理工具。用户可以使用它来配置、监控和管理防火墙规则&#xff0c;包括开放端口、设置服务规则等。 二、firewall-cmd​​的参数说明 序号参数描述1​​–zone指定防火墙区域2–add-portxxx/tcp允许特定…

广和通发布基于MediaTek T300平台的RedCap模组FM330系列及解决方案

世界移动通信大会MWC 2024期间&#xff0c;广和通发布基于MediaTek T300平台的RedCap模组FM330系列&#xff0c;加速5G-A繁荣发展。FM330系列及其解决方案采用全球先进RedCap方案&#xff0c;满足移动宽带和工业互联对高能效的需求。 广和通FM330系列采用全球首款6nm制程且集成…