【问题标题】:Compression of sparse signals [closed]稀疏信号的压缩[关闭]
【发布时间】:2015-02-13 07:03:22
【问题描述】:

我正在使用 Matlab,并且我有一个稀疏向量(只有大约 10% 的非零值,但在其他方面非常随意)。

我想压缩它(最小尺寸)。我也想知道我得到的压缩比。

【问题讨论】:

  • 压缩的重点不就是在接收端重构信号吗?我的意思是盲目地省略零会压缩信号,但是如果需要,您以后如何重建它?
  • @roni 我有一个信号,我想压缩它,为此我应该做什么,我想知道matlab中是否有任何内置压缩算法,..或怎么压缩???
  • 有什么特别的算法吗?对算法有什么要求(速度、效率)?你能举一个你的稀疏向量的例子吗?请在问题的评论中添加信息。
  • @Trilarion ,我已经对心电信号进行了小波变换(bior)并对其进行了阈值处理,现在 779 个数据点中只有 77 个非零 ..这个稀疏向量只有我需要压缩和发送..
  • 我根据您的 cmets 重新提出了您的问题,并希望它可以重新打开。我认为这是一个非常有价值的话题,尽管您之前似乎没有做太多研究。

标签: matlab image-processing signal-processing http-compression


【解决方案1】:

您可以使用whos 函数获取 MATLAB 中任何变量的大小。它返回一个结构,其中包含变量的名称、大小、类、字节数和其他一些值。要获取有关变量 A 的信息,请调用

info = whos('A');

所以你可以例如执行以下操作:

% Create matrices
A = [0 1 0 0; 1 0 0 0; 0 0 1 0; 0 0 0 1]
S = sparse(A)

before = whos('A')
after = whos('S')

comprRatio = before.bytes / after.bytes

在这个小例子中返回

comprRatio = 
    1.2308

因为矩阵A是128字节,稀疏矩阵S是104字节。

如果您执行任何其他压缩(我没有完全了解您想要实现的压缩类型),您可以使用 whos 执行完全相同的操作。

【讨论】:

  • 我有一个信号,我想压缩它,为此我应该做什么,我想知道matlab中有没有内置的压缩​​算法,..或者如何压缩它???
  • 感谢您的回答,但我不是在寻找它,我有一个信号(信号稀疏),我只想压缩它..
  • 使用可以使用DCT变换、小波、哈尔变换。哈尔变换很容易做到。你可以自己编码。
猜你喜欢
  • 2015-12-05
  • 2017-12-27
  • 1970-01-01
  • 2023-01-07
  • 1970-01-01
  • 2023-03-25
  • 2013-09-29
  • 2011-10-02
  • 2015-12-30
相关资源
最近更新 更多