当前位置: 首页 > news >正文

实现信号的小波分解和重构

基于MATLAB实现的信号小波分解和重构

1. 一维小波分解和重构
% 生成测试信号
t = linspace(0, 1, 1024);
signal = sin(2 * pi * 50 * t) + 0.5 * sin(2 * pi * 120 * t) + randn(size(t)) * 0.2;% 小波分解
waveletName = 'sym4'; % 选择小波基函数
[cA, cD] = dwt(signal, waveletName); % 一维离散小波变换% 小波重构
reconstructedSignal = idwt(cA, cD, waveletName); % 一维离散小波反变换% 显示结果
figure;
subplot(3, 1, 1);
plot(t, signal);
title('Original Signal');
xlabel('Time');
ylabel('Amplitude');subplot(3, 1, 2);
plot(t, cA);
title('Approximation Coefficients');
xlabel('Time');
ylabel('Amplitude');subplot(3, 1, 3);
plot(t, reconstructedSignal);
title('Reconstructed Signal');
xlabel('Time');
ylabel('Amplitude');
2. 二维小波分解和重构
% 生成测试图像
[X, Y] = meshgrid(1:128, 1:128);
image = sin(X / 10) + cos(Y / 10) + randn(size(X)) * 0.1;% 小波分解
waveletName = 'sym4'; % 选择小波基函数
[C, S] = wavedec2(image, 2, waveletName); % 二维多层小波分解% 提取各层细节分量
[appCoefs, detCoefs] = detcoef2('all', C, S, 2); % 提取所有细节分量% 小波重构
reconstructedImage = waverec2(C, S, waveletName); % 二维多层小波重构% 显示结果
figure;
subplot(2, 2, 1);
imagesc(image);
title('Original Image');
colormap('gray');subplot(2, 2, 2);
imagesc(appCoefs);
title('Approximation Coefficients');
colormap('gray');subplot(2, 2, 3);
imagesc(detCoefs(:,:,1));
title('Horizontal Detail Coefficients');
colormap('gray');subplot(2, 2, 4);
imagesc(reconstructedImage);
title('Reconstructed Image');
colormap('gray');

说明

  1. 一维小波分解和重构

    • 使用dwt函数进行一维离散小波分解,得到近似分量cA和细节分量cD
    • 使用idwt函数进行一维离散小波反变换,重构原始信号。
    • 显示原始信号、近似分量和重构信号的波形图。
  2. 二维小波分解和重构

    • 使用wavedec2函数进行二维多层小波分解,得到多层分解的系数矩阵C和尺寸矩阵S
    • 使用detcoef2函数提取各层细节分量。
    • 使用waverec2函数进行二维多层小波重构,重构原始图像。
    • 显示原始图像、近似分量、细节分量和重构图像的灰度图。

参考代码 实现信号的小波分解和重构 www.youwenfan.com/contentcsf/82096.html

http://www.xdnf.cn/news/1445977.html

相关文章:

  • 7.5el-tree 组件详解
  • 创建消息队列,完成信息传输
  • MySQL索引分类
  • 英语四级学习指南
  • A*(Astar)算法详解与应用
  • 电池分选机的自动化解决方案|深圳比斯特
  • SQLAlchemy ORM 入门教程
  • 马斯克砸钱造AI,却败给最low的“让离职员工轻松拷走代码”
  • MyHeyGen-开源版HeyGen,视频翻译工具
  • 平衡车 - 电机调速
  • HI3516CV610-00S 海思HI3516CV610安防高清视频编解码方案提供开发板
  • Nature Machine Intelligence 基于强化学习的磁性微型机器人自主三维位置控制
  • 物联网能源管控平台建设方案
  • 概率质量/密度函数、累计分布函数详解
  • github存储代码(上传更新删除)--实操版
  • 需求调研与分析
  • 最佳红米手机数据擦除软件
  • 场景题:如果一个大型项目,某一个时间所有的CPU的已经被占用了,导致服务不可用,我们开发人员应该如何使服务器尽快恢复正常
  • 2025年家装设计软件推荐:告别选择困难,轻松打造梦想之家
  • C++的内存和数组的申请释放
  • 对数似然比(LLR)
  • C/C++ 中的inline(内联函数关键字)详解
  • 功能持续优化,应用商店新增CRM分类,1Panel v2.0.10版本正式发布
  • VMware Workstation 磁盘空间不足扩容
  • 【论文阅读】InnerGS: Internal Scenes Rendering via Factorized 3D Gaussian Splatting
  • Linux_网络基础
  • C++学习 part1
  • keepalived高可用
  • 基于单片机PWM信号发生器系统Proteus仿真(含全部资料)
  • 2025年最新 unityHub游戏引擎开发2d手机游戏和桌面游戏教程