What do the learning parameters of the cwtLayer refer to? How can we combine the cwtLayer and the icwtLayer to predict the time series?

3 次查看(过去 30 天)
What do the learning parameters of the cwtLayer refer to?How it works?
I've noticed that after computing the time-frequency data using the cwtLayer, the generated "SCBT" data doesn't seem to allow the addition of any learnable parameters. Here are my questions:
  1. How can I generate single-channel time-frequency data from two-channel time-frequency data?
  2. How can I use the icwtLayer to reconstruct the time-domain signal?

回答(1 个)

Hitesh
Hitesh 2025-5-15
编辑:Hitesh 2025-5-15
Hi 家俊,
Learning Parameters of cwtLayer :
  • cwtLayer (Continuous Wavelet Transform Layer) typically does not have learnable parameters. It acts as a fixed, non-trainable feature extraction layer. It computes the CWT of the input signal using parameters you specify (e.g., wavelet type, frequency limits). The "parameters" you provide (like wavelet type, frequency range) are hyperparameters, not trainable weights. It transforms a time-domain signal into a time-frequency (scalogram) representation. This is useful as a preprocessing step for neural networks, allowing them to learn from the time-frequency features.
Combining cwtLayer and icwtLayer for Prediction :
  • cwtLayer: Converts the time-domain input to a time-frequency representation.
  • Neural network layers (e.g., convolution, fully connected): Learn patterns in the time-frequency data.
  • icwtLayer: Can be used at the end to reconstruct the time-domain signal from the modified time-frequency representation (e.g., for denoising, signal synthesis).
  • Typical workflow: Input (time series) → cwtLayer → [Deep Network] → icwtLayer → Output (time series).
  • This is especially useful for sequence-to-sequence tasks, such as denoising or forecasting.
Why adding learnable parameters to the CWT output is not recommended ?
  • The output from cwtLayer (the "SCBT" data, i.e., the scalogram) is not meant to be trainable. Learnable parameters are added via subsequent layers (e.g., convolutional layers) that operate on the CWT output. The cwtLayer itself is just a transformation, not a learnable mapping.
Using icwtLayer to Reconstruct the Time-Domain Signal
  • The icwtLayer takes the time-frequency representation (scalogram) and performs the inverse CWT to reconstruct the time-domain signal. In a network, you place the icwtLayer after all processing layers that operate on the time-frequency data. The output of the icwtLayer is the reconstructed time-domain signal, which you can use for further analysis or as the final prediction.
layers = [
sequenceInputLayer(1)
cwtLayer('SignalLength', N, ...)
convolution2dLayer(...)
reluLayer
icwtLayer('SignalLength', N, ...)
regressionLayer
];
For more information regarding the usage of "cwtLayer" and "icwtLayer". Kindly refer to the following MATLAB documentation:
  1 个评论
家俊
家俊 2025-6-9
Thank you for your answer.
About learning parameters, The following help manual describes that it seems to have learnable parameters, and the network analyzer also clearly states that the cwtLayer has learnable parameters,I really can't understand what these parameters actually do.
https://ww2.mathworks.cn/help/wavelet/ref/cwtlayer.html?searchHighlight=cwtLayer&s_tid=srchtitle_support_results_1_cwtLayer

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Working with Signals 的更多信息

产品


版本

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by