1.29运行程序P1.5,以产生所有相关的信号。
% Program P1_5
%通过平均的信号平滑 clf; R = 51;
d = 0.8*(rand(R,1) - 0.5); % 产生随机噪声 m = 0:R-1;
s = 2*m.*(0.9.^m); % 产生为污染的信号 x = s + d'; % 产生被噪音污染的信号 subplot(2,1,1);
plot(m,d','r-',m,s,'g--',m,x,'b-.'); xlabel('时间序列 n');ylabel('振幅'); legend('d[n] ','s[n] ','x[n] ');
x1 = [0 0 x];x2 = [0 x 0];x3 = [x 0 0]; y = (x1 + x2 + x3)/3; subplot(2,1,2);
plot(m,y(2:R+1),'r-',m,s,'g--'); legend( 'y[n] ','s[n] ');
xlabel('时间序列 n');ylabel('振幅'); 图形显示为:
1.31使用语句x=s+d能产生被噪声污染的信号吗?若不能,为什么?
答:不能,因为d产生的序列是长度为51的列向量,而s是长度为51的行向量,必须转置后才能进行运算,可以将d的表达式变为d = 0.8*(rand(1,R) - 0.5);
1.33 legend命令的作用是什么?
答:用一个给定字符串作为标记在当前图上插上说明。
1.35算术运算符*和.*之间的区别是什么?
答:算术运算符*表示矩阵相乘。算术运算符.*表示元素相乘。
1.37该信号的最大频率和最小频率是多少?
答:假设自变量的形式是an2?bn,则角频率是2an?b;最大频率为pi;最小频率为0。
1.39在命令窗口中键入who。此时在命令窗口会显示什么信息?
答:who:列出内存中的当前变量。
1.41编写matlab程序,以产生指定方波和锯齿波序列,并将序列绘制出来。
t=0:30;
x=square(2*pi*0.1.*t,60); %占空比 60% stem(t,x);
axis([0,30,-1.5,1.5]); title('方波 1');
xlabel('时间指标 n'); ylabel('振幅'); grid; axis;
图形显示如下:
t=0:50;
x=2.*sawtooth(2*pi*0.05.*t);
stem(t,x);
axis([0,50,-2,2]); title('锯齿波');
xlabel('时间指标 n'); ylabel('振幅'); grid; axis;
图形显示如下: