利用matlab完成文档中的题目
时间: 2024-10-20 08:19:48 浏览: 29
基于matlab的毕业论文题目参考.pdf
5星 · 资源好评率100%
好的,下面是利用MATLAB完成《实验一.pdf》中题目的代码示例:
### 题目一:生成指数序列并绘制茎状图
```matlab
% 参数设置
a = 0.5;
N = 30;
% 生成时间索引
n = 0:N-1;
% 生成指数序列
x = 2 * a.^n;
% 绘制茎状图
stem(n, x);
xlabel('n');
ylabel('x[n]');
title('指数序列 x[n] = 2a^n u[n]');
grid on;
```
### 题目二:计算序列的互相关并绘制茎状图
```matlab
% 定义序列
x = [-1, 2, 3];
h = [2, 1];
% 计算互相关
Rxy = xcorr(x, h);
Ryx = xcorr(h, x);
% 绘制互相关的茎状图
figure;
subplot(2, 1, 1);
stem(Rxy);
xlabel('n');
ylabel('R_{xy}[n]');
title('互相关 R_{xy}[n]');
grid on;
subplot(2, 1, 2);
stem(Ryx);
xlabel('n');
ylabel('R_{yx}[n]');
title('互相关 R_{yx}[n]');
grid on;
```
### 题目三:生成带噪声信号并使用滑动平均滤波器滤除噪声
```matlab
% 参数设置
N = 101;
M = 10; % 滑动平均滤波器长度
% 生成时间索引
n = 0:N-1;
% 生成原始信号
s = 5 + 2 * cos(0.02 * pi * n) + (2 * n).^0.5;
% 生成随机噪声
n_noise = randn(1, N);
% 生成带噪声信号
x = s + n_noise;
% 滑动平均滤波器
y = filter(ones(1, M) / M, 1, x);
% 绘制结果
figure;
subplot(2, 1, 1);
plot(n, s, 'b', n, x, 'r');
legend('原始信号 s[n]', '带噪声信号 x[n]');
xlabel('n');
ylabel('幅度');
title('原始信号与带噪声信号');
grid on;
subplot(2, 1, 2);
plot(n, s, 'b', n, y, 'g');
legend('原始信号 s[n]', '滤波后信号 y[n]');
xlabel('n');
ylabel('幅度');
title('原始信号与滤波后信号');
grid on;
```
以上代码分别完成了题目一、二、三的要求,包括生成指数序列、计算互相关以及使用滑动平均滤波器滤除噪声。希望这些代码对你有帮助!如果有任何问题或需要进一步的帮助,请随时告诉我。
阅读全文