题目:
求一个带噪声信号的正弦信号
x(n) = 2sin(0.05πn)+w(n),
通过低通滤波器
后的输出y(n) = x(n) * h(n)。
解答如下:
MATLAB程序:
clear ;
clc;
n = 0:79;
un = ones(1,80);
subplot(321);stem(n,un,'.');
xlabel('n');ylabel('u(n)');title('阶跃信号');
wn = rand(1,80);
subplot(322);stem(n,wn,'.');
xlabel('n');ylabel('w(n)');title('白噪声');
hn = 0.15 * ((0.8).^n) .* un;
subplot(323);stem(n,hn,'.');
xlabel('n');ylabel('h(n)');title('低通滤波');
xn = 2*sin(0.05*pi.*n) + wn;
subplot(324);stem(n,xn,'.');
xlabel('n');ylabel('x(n)');title('带噪声正弦信号');
yn = conv(xn, hn);
n2 = 0:2*(length(n)-1);
subplot(325);stem(n2,yn,'.');
xlabel('n');ylabel('y(n)');title('输出信号');
x = 2*sin(0.05*pi.*n);
subplot(326);stem(n,x,'.');
xlabel('n');ylabel('x');title('不带噪声正弦信号');
程序运行结果:
- 注:以上只是本人自己的解题结果,不保证正确性。