【问题标题】:Generate Carrierwave, add noise and filter with lowpass-filter in Octave在 Octave 中使用低通滤波器生成载波、添加噪声和滤波
【发布时间】:2020-07-30 05:13:32
【问题描述】:

我在大学有以下练习:

给出了数据速率 DR = 50 bps 的位序列 [1 1 0 1 1 1 0 0]。该位序列调制频率 FC = 1000 Hz 的载波信号的幅度。在传输过程中,偏差 sigma = 0.5 的白噪声被添加到调制信号中。信号在接收器中解调,并使用截止频率 FG = FC 的低通滤波器进行滤波。绘制解调和滤波后的接收信号并将其与传输信号进行比较。 除了讲座中讨论的以外,不允许使用任何内置函数!

到目前为止,我可以使用以下代码生成噪音:

t = linspace(0,0.1,1001);
sigma = 0.5;
avg = 0;
noise = sigma * randn(size(t))+avg;
plot(t,noise)

我在上一个练习中做了类似的事情,但有一些不同。我有方波,我添加了一个噪声,然后我用低通滤波器(不是内置函数)过滤了结果,并将默认方波与我添加了噪声并过滤它的方波进行了比较(结果)。代码如下。

pkg load signal;
t = linspace(0,0.1,1001);
y = square(2*pi*50*t)*0.5 + 0.5;
mw = 0;
sigma = 0.5;
rauschen = sigma*randn(size(t))+mw;
yr =  y + rauschen;
Y = fft(y);
Yr = fft(yr);
f = linspace(0,1/t(2),length(t));
plot(f,abs(Y),f,abs(Yr))
fg = 400;
Yru = Yr;
Yru(find(f>fg || f<1/t(2)-fg)) = 0;
find(f==fg)
ans =  41
Yru(41:end-41)=0;
plot(f,abs(Yru))
yru = ifft(Yru);
plot(t,real(yru));

下图是上一个练习的结果。

我的主要问题是我无法生成所需的载波/信号..

【问题讨论】:

    标签: signals octave carrierwave noise lowpass-filter


    【解决方案1】:

    感谢article 我想我已经弄明白了。这是代码,结果如下图所示。

    pkg load signal;
    bits = [ 1 1 0 1 1 1 0 0 ];
    bitrate =  50;
    n = 1000;
    T = length(bits)/bitrate;
    N = n*length(bits);
    dt = T/N;
    t = 0:dt:T;
    x = zeros(1,length(t));
    lastbit = 1;
    for i=1:length(bits)
      if bits(i)==1
        x((i-1)*n+1:i*n) = -lastbit;
        lastbit = -lastbit;
      else x((i-1)*n+1:i*n) = lastbit;
      end
    end
    x = (x + 1)*0.5;
    plot(t, x, 'Linewidth', 3);
    figure;
    sigma = 0.5;
    rauschen = sigma * randn(size(t));
    plot(t,rauschen)
    figure;
    xr = x + rauschen;
    plot(t,xr)
    figure;
    Xr = fft(xr);
    f = linspace(0,1/t(2),length(t));
    fc = n;
    Xru = Xr;
    Xru(find(f==fc)) = 0;
    plot(f,abs(Xru));
    figure;
    ans = find(f==fc);
    ans
    Xru(ans:end-ans)=0;
    plot(f,abs(Xru));
    figure;
    xru = ifft(Xru);
    plot(t,real(xru));
    hold
    plot(t,x)
    #axis([0 t(end) -0.5 1.5])
    

    【讨论】:

      猜你喜欢
      • 2012-11-01
      • 2014-07-29
      • 1970-01-01
      • 2015-09-02
      • 2023-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-12
      相关资源
      最近更新 更多