Matlab BER的modem.oqpskmod

Matlab BER的modem.oqpskmod,matlab,simulation,Matlab,Simulation,大家好,有人可以演示如何使用modem.oqpskmod进行BER。谢谢 h = modem.oqpskmod y = modulate(h, values); g = modem.oqpskdemod(h) z = demodulate(g, y) 假设我有一个名为values的数组,它只包含1和0。 我的问题是如何计算误码率?当然,如果上面的代码是正确的。基于此,您只需计算不正确位的数量,然后除以传输位的总数即可获得误比特率(BER)。如果values是未调

大家好,有人可以演示如何使用modem.oqpskmod进行BER。谢谢

    h = modem.oqpskmod
    y = modulate(h, values);
    g = modem.oqpskdemod(h)
    z = demodulate(g, y)
假设我有一个名为values的数组,它只包含1和0。 我的问题是如何计算误码率?当然,如果上面的代码是正确的。

基于此,您只需计算不正确位的数量,然后除以传输位的总数即可获得误比特率(BER)。如果
values
是未调制的输入信号,
z
是调制和解调后的输出信号,可以这样计算:

BER = sum(logical(values(:)-z(:)))/numel(values);
编辑:我修改了上述代码,以防您遇到两种情况:

  • 如果
    z
    的值不是0和1
  • 如果
    z
    值的大小不同(即行向量与列向量)
我不知道你是否会遇到这两种情况,但安全总比后悔好

基于此,您只需计算不正确位的数量,然后除以传输位的总数即可获得误比特率(BER)。如果
values
是未调制的输入信号,
z
是调制和解调后的输出信号,可以这样计算:

BER = sum(logical(values(:)-z(:)))/numel(values);
编辑:我修改了上述代码,以防您遇到两种情况:

  • 如果
    z
    的值不是0和1
  • 如果
    z
    值的大小不同(即行向量与列向量)
我不知道你是否会遇到这两种情况,但安全总比后悔好