【问题标题】:Is QAM the best way to do this?QAM 是最好的方法吗?
【发布时间】:2013-03-17 19:22:25
【问题描述】:

很抱歉这个菜鸟问题,因为我以前从未使用过 matlab 和信号处理。 这是我想要做的:我有一个固定长度的字节数组X,现在我想将它编码为一个声音文件,我也希望这个过程是可逆的,这意味着声音可以转换回X没有错误。我在网上搜索,发现如下代码:

M = 16; 
x = randint(5000,1,M); 
y=modulate(modem.qammod(M),x);

我的问题是,QAM 是最好的方法吗?以及如何使用它?非常感谢您提供一点代码示例,谢谢!

update#1:我试图通过 sound(y) 输出 y,但 matlab 不允许我这样做,它说我只能输出浮点数。我该如何解决这个问题?谢谢!

【问题讨论】:

  • 您对这个传输系统有什么要求?是否必须抗噪,传输通道是什么样的,需要传输多少比特/秒等等?有很多方法可以实现你想要的。如果您只需要保存声音文件并从中获取数据,则上面的示例可能会起作用,但是如果您想通过无线或电话线或类似的方式传输音频,则完全不同。
  • @KlausCPH 我可能需要通过空中传输音频,比特率无关紧要,所以我应该看什么?谢谢
  • @KlausCPH 顺便说一句,我的想法是将简单的 ECC 放入字节数组中以使其抗噪,这可能吗?谢谢
  • 我只需要传输大约129位的数据
  • 你可能想在dsp.stackexchange.com上询问这个问题的理论方面

标签: matlab signal-processing


【解决方案1】:

如果您需要无线传输,我认为您面前有很多工作要做。电信系统中最难解决的问题通常是同步,这意味着您的接收器必须及时知道 QAM 符号的放置位置。这并不容易。如果您选择继续,我同意 mtrw 您应该尝试 dsp.stackexchange.com。

例如,尝试对一个简单的调制方案进行成像,其中每个位都转换为一小段正弦波,其频率取决于该位是 1 还是 0。您将如何在接收器端对此进行解码?您需要检测第一位的开始,并在接收器上运行一些自我维持的时钟以进行同步,以在它们不改变的情况下找到位,即 PLL(锁相环)。使用曼彻斯特编码可能会使这更容易,但您仍然需要做很多工作才能使其运行。

如您所见,当您离开保存 Matlab 港时,没有简单的解决方案 :-)

最好的问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2011-05-30
    • 2015-11-02
    • 1970-01-01
    • 2023-04-06
    相关资源
    最近更新 更多