Inverse Continuous wavelet transformation

6 Ansichten (letzte 30 Tage)
Subrat Senapati
Subrat Senapati am 17 Nov. 2022
Beantwortet: Nadia Shaik am 9 Jan. 2023
I am using a simple sine wave to find its cwt and using the cwt out put parameters in icwt function i am looking to get the original sine wave. But I am not getting the initial sine wave after applying ICWT. The amplitudes are not also same. Please help me out. I am attaching the code below.
clc
clear all
close all
time = 2;
samp = 1000;
dt = time/samp;
t = [0:dt:time];
y = 5*sin(2*pi*10.*t);
[cfs,f] = cwt(y,(1/dt));
xrec = icwt(cfs,[],f,[9.6 10.5]);
subplot(2,1,1)
plot(t,y)
grid on
title("Original Data")
ylabel("Amplitude")
axis tight
subplot(2,1,2)
plot(t,xrec)
grid on
title("Reconstructed");
xlabel("Time (s)")
ylabel("Amplitude")
axis tight

Antworten (1)

Nadia Shaik
Nadia Shaik am 9 Jan. 2023
Hi Subrat,
I understand that you are applying 'cwt' function to a sine wave and then performing 'icwt' and are observing some deviation between the original signal and the reconstructed signal.
In the code shared by you, a frequency range is mentioned for which the inverse continuous wavelet transform values are calculated, which resulted in a large deviation between the original signal and reconstructed signal. Consider removing the frequency range and observe the changes. However, note that there can still be some deviations between the original and reconstructed signals.
I hope this helps.

Kategorien

Mehr zu Continuous Wavelet Transforms finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by