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

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

1. 一维小波分解和重构
matlab 复制代码
% 生成测试信号
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. 二维小波分解和重构
matlab 复制代码
% 生成测试图像
[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

相关推荐
文心快码 Baidu Comate9 小时前
双十一将至,用Rules玩转电商场景提效
人工智能·ai编程·文心快码·智能编程助手·comate ai ide
瞻邈9 小时前
LION运行笔记
人工智能·深度学习
CoovallyAIHub9 小时前
外科医生离手术世界模型还有多远?首次提出SurgVeo基准,揭示AI生成手术视频的惊人差距
深度学习·算法·计算机视觉
Serverless 社区9 小时前
助力企业构建 AI 原生应用,函数计算FunctionAI 重塑模型服务与 Agent 全栈生态
大数据·人工智能
大千AI助手9 小时前
参考先验(Reference Priors)详解:理论与Python实践
人工智能·机器学习·贝叶斯·大千ai助手·参考先验·贝叶斯推断·先验
Baihai_IDP9 小时前
面向 LLM 的 GPU 系统工程方法论
人工智能·面试·gpu
北京耐用通信9 小时前
冶金车间“迷雾”重重?耐达讯自动化Profibus转光纤为HMI点亮“透视眼”!
人工智能·物联网·网络协议·网络安全·自动化
xqlily9 小时前
Prover9/Mace4 的形式化语言简介
人工智能·算法
IT_陈寒10 小时前
Redis 高并发实战:我从 5000QPS 优化到 5W+ 的7个核心策略
前端·人工智能·后端
北京耐用通信10 小时前
耐达讯自动化Profibus光纤模块:智能仪表的“生命线”,极端环境通信无忧!
人工智能·物联网·网络协议·自动化·信息与通信