原函数为sin(x),利用MATLAB写一段代码,生成使原函数幅度、相位均失真的幅度相位失真图和原函数图
时间: 2023-06-15 17:06:13 浏览: 104
pinpufenxi.rar_matlab 频谱分析_图像 频谱分析_幅度和相位谱_频谱分析_频谱分析 matlab
5星 · 资源好评率100%
以下是一段MATLAB代码,用于生成使原函数幅度、相位均失真的幅度相位失真图和原函数图:
```
% 定义原函数
x = linspace(0, 2*pi, 1000);
y = sin(x);
% 生成幅度相位失真的函数
y_amp = y + 0.5*randn(size(x)); % 添加幅度失真
y_phase = y; % 相位失真不需要修改y值,只需要改变x轴上的值
idx = randperm(length(x)); % 随机打乱x的顺序
y_phase = y_phase(idx); % 将x轴上的值打乱,产生相位失真
% 绘制幅度相位失真的函数图像
subplot(2,1,1);
plot(x,y_amp,'b',x,y_phase,'r');
title('Amplitude and Phase Distortion');
legend('Amplitude Distortion','Phase Distortion');
% 绘制原函数图像
subplot(2,1,2);
plot(x,y,'g');
title('Original Function');
```
运行以上代码,会得到一个显示幅度相位失真的函数图像和原函数图像的窗口。可以通过修改代码中的参数来产生不同程度的失真效果。
阅读全文