用于 BER 的 modem.oqpskmod

发布于 2024-08-19 13:24:15 字数 248 浏览 4 评论 0原文

大家好,谁能展示如何使用 modem.oqpskmod 来实现 BER。谢谢!

    h = modem.oqpskmod
    y = modulate(h, values);
    g = modem.oqpskdemod(h)
    z = demodulate(g, y)

假设我有一个名为 value 的数组,其中仅包含 1 和 0。 我的问题是如何计算 BER?当然,如果上面我的代码是正确的。

hi can anyone show how to use the modem.oqpskmod for BER. thanks!

    h = modem.oqpskmod
    y = modulate(h, values);
    g = modem.oqpskdemod(h)
    z = demodulate(g, y)

let's assume that i have array called values which contains only 1s and 0s.
my question is how would i calculate BER? of course if above my code is correct.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

溇涏 2024-08-26 13:24:15

基于此维基百科页面,您只需计算错误位数并除以传输的总位数以获得误码率 (BER)。如果values是未调制的输入信号,z是调制解调后的输出信号,你可以这样计算:

BER = sum(logical(values(:)-z(:)))/numel(values);

编辑:我修改了上述代码以防万一您遇到两种情况:

  • 如果 z 的值不是 0 和 1。
  • 如果 z 的大小与 values 不同>(即行向量与列向量)。

我不知道你是否会遇到这两种情况,但安全总比后悔好。 ;)

Based on this Wikipedia page, you simply have to compute the number of incorrect bits and divide by the total number of transferred bits to get the bit error rate (BER). If values is the unmodulated input signal and z is the output signal after modulation and demodulation, you can compute it like this:

BER = sum(logical(values(:)-z(:)))/numel(values);

EDIT: I modified the above code just in case you run into two situations:

  • If z has values other than 0 and 1.
  • If z is a different size than values (i.e. row vector versus column vector).

I don't know if you are ever likely to come across these two situations, but better safe than sorry. ;)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文