原函数为sin(x),利用matlab写一段代码,生成令原函数幅度相位失真的幅度相位失真图
时间: 2023-06-15 22:07:47 浏览: 89
以下是一段Matlab代码,用于生成令原函数幅度相位失真的幅度相位失真图:
```matlab
% 定义原函数
x = linspace(0, 2*pi, 1000);
y = sin(x);
% 添加幅度失真
amp_dist = 0.5; % 幅度失真参数
y_amp = y*(1+amp_dist*sin(2*x));
% 添加相位失真
phase_dist = pi/4; % 相位失真参数
y_phase = sin(x+phase_dist);
% 绘制幅度相位失真图
figure;
subplot(2,1,1);
plot(x, y_amp, 'b', 'LineWidth', 2);
hold on;
plot(x, y, 'r--', 'LineWidth', 2);
legend('失真函数', '原函数');
xlabel('x');
ylabel('y');
title(['幅度失真,幅度失真参数=', num2str(amp_dist)]);
grid on;
subplot(2,1,2);
plot(x, y_phase, 'b', 'LineWidth', 2);
hold on;
plot(x, y, 'r--', 'LineWidth', 2);
legend('失真函数', '原函数');
xlabel('x');
ylabel('y');
title(['相位失真,相位失真参数=', num2str(phase_dist)]);
grid on;
```
这段代码首先定义了原函数sin(x),然后添加了幅度失真和相位失真。幅度失真通过在原函数上乘以一个sin函数,相位失真通过在原函数的自变量x上加上一个常数。最后,将原函数和失真函数绘制在一起,形成幅度相位失真图。
阅读全文