我有信号,我需要知道如何获得对应稀疏基的矩阵这样, 在哪里是稀疏的。我知道适合我的信号的基础是 DCT 基础。给定信号,如何使用 MATLAB 获得其 DCT 基?
使用 DCT 矩阵的信号的稀疏表示
信息处理
matlab
估计
压缩传感
2022-02-18 15:10:52
1个回答
如果您知道您的 () 信号DCT转换时应该是稀疏的,那么你的应该是IDCT(逆DCT)。然后你的将在 DCT(“频率”)域和您的将在“时间”域中。
您基本上有两种选择来实现这一点:
如果您在可以使用 DCT 作为函数而不是实际矩阵的上下文中使用它,这可能会更有效,因为您的编程环境的 DCT 实现在存储和计算方面很可能更有效比明确地做矩阵向量乘积更复杂。在这种情况下,寻找
idct函数;x = idct(theta);如果你必须用一个实际的矩阵向量乘积来实现它,你可以获得矩阵通过转换适当维度的单位矩阵:
Psi = idct(eye(N)); x = Psi * theta;预计涉及的操作
Psi * theta将比idct(theta).