实验一:MATLAB 应用入门和基本信号的产生

实验任务:

1、在Matlab平台上编程实现下面的连续信号

(1)
(2)
(3)
说明:
(1)因为 MATLAB 中没有 Sa() 函数,只有 sinc() 函数,其中,所以
figure;
subplot(3, 1, 1);
t = -10: 0.01: 10;
y = sinc(t / pi);
plot(t, y);
title('Sa(t)');
xlabel('时间 t');
ylabel('sin(t)/t');
subplot(3, 1, 2);
t = -10: 0.01: 10;
y = uDT(t + 1) - uDT(t - 1);
plot(t, y);
title('g_2(t)');
xlabel('时间 t');
ylabel('g_2(t)');
subplot(3, 1, 3);
t = 0: 0.01: 10;
y = 5 * exp(0.5 * t) .* sin(2 * pi * t);
plot(t, y);
title('5e^{0.5t}sin(2 \pi t)');
xlabel('时间 t');
ylabel('5e^{0.5t}sin(2 \pi t)');
grid on;

2、在Matlab平台上编程实现下面的离散信号

(1)
(2)
(3)
figure;
subplot(3, 1, 1);
k = -10: 10;
x = (k == 0);
stem(k, x);
title('\delta(k)');
xlabel('序号 k');
ylabel('\delta(k)');
subplot(3, 1, 2);
k = -10: 10;
x = uDT(k + 2) - uDT(k - 2);
stem(k, x);
title('R_4(k)');
xlabel('序号 k');
ylabel('R_4(k)');
subplot(3, 1, 3);
k = 0: 60;
x = 1.1 .^ k .* sin(0.05 * pi * k);
stem(k, x);
title('1.1^k sin(0.05 \pi k)');
xlabel('序号 k');
ylabel('1.1^k sin(0.05 \pi k)');
grid on;

思考题

(1)Matlab处理连续信号时,为什么要对它离散化后作为离散序列来处理?

(2)查找资料,理解常用图像格式文件读写、显示的Matlab函数的使用方法,编写Matlab代码,对图像文件lena.bmp进行读取,转换成灰度图后再显示,把灰度图像以文件形式保存。

说明:
(1)略
(2)代码如下
% 读取图片
img = imread('lena_colour.bmp'); % 读取图像
figure;
subplot(1, 2, 1);
imshow(img); % 显示图像
img_gray = rgb2gray(img); % rgb图像转为灰度图像
subplot(1, 2, 2);
imshow(img_gray); % 显示灰度图像
imwrite(img_gray, 'lena_gray.bmp'); % 存储灰度图像
% 播放该音频
[xn, fs] = audioread('motherland.wav'); % [音频数据, 采样频率]
% sound(xn , fs); % fs 默认 8192Hz
% audiowrite(xn, 'sound_file.wav'); % save
% pause(5); % pause
figure;
% 第400~500个采样点离散波形图,k
subplot(2, 1, 1);
stem(400:500, xn(400:500));
title('第400~500个采样点离散波形图');
xlabel('序号 k');
% 第1~2秒连续波形图,t (s)
subplot(2, 1, 2);
t = (0: length(xn) - 1) / fs;
plot(t, xn);
title('第1~2秒连续波形图');
xlabel('时间 t');
set(gca, 'xlim', [t(1), t(end)]);