【问题标题】:Adding noise signal to data encoding在数据编码中添加噪声信号
【发布时间】:2015-09-27 22:14:28
【问题描述】:

我正在关注this 示例代码。我想添加一个随机噪声信号,每比特有 2 个值。我该如何解决?

代码如下:

bits =[1,0,1,0,1,0,1,0];
bitrate = 1; % bits per second

figure;
[t,s] = pnrz(bits,bitrate);
plot(t,s,'LineWidth',3);
axis([0 t(end) -1.1 1.1])
grid on;
title(['Polar NRZ: [' num2str(bits) ']']);
T = length(bits)/bitrate; % full time of bit sequence
n = 200;
N = n*length(bits);
dt = T/N;
t = 0:dt:T;
x = zeros(1,length(t)); % output signal
for i = 0:length(bits)-1
    if bits(i+1) == 1
        x(i*n+1:(i+1)*n) = 1;
    else
        x(i*n+1:(i+1)*n) = -1;
    end
end

【问题讨论】:

  • 噪音,您要添加到哪个变量?

标签: matlab


【解决方案1】:

如果我很好理解你的问题,你可以使用随机函数:

random1or0 = 兰迪(2)-1;

所以randi 会生成一个介于 1 和 2 之间的随机整数(以均匀分布的方式),然后减去 1 得到01

您可以与这个问题Generate a random number in a certain range in MATLAB 联系以获取有关 matlab 中随机数的更多详细信息。

【讨论】:

  • 是的,没错,但我想知道如何将每个比特添加 2 个值作为噪声信号?
  • x(i*n+1:(i+1)*n) = (1+ random1or0) % 2; 就是这样。噪声只是随机添加到输出中的 0 或 1,但是如果您想了解更多详细信息,则必须阅读有关信号中噪声的信息...
  • x(i*n+1:(i+1)*n) = (1+ random1or0) % 2; 是另一个解决方案@Sanap
  • @Sanap 这能回答你的问题吗?你能解释一下how to add 2 values per bit的意思吗?添加到哪个变量?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-12
  • 2021-01-12
  • 2015-01-25
  • 1970-01-01
  • 2020-06-04
  • 2014-07-04
相关资源
最近更新 更多