用matlab仿真一个正弦信号经过一个非无失真系统之后相位失真的情况
时间: 2024-01-31 14:04:04 浏览: 90
好的,以下是一个简单的 Matlab 代码示例,用于模拟正弦信号经过一个非无失真系统后的相位失真情况:
```matlab
% 设置信号
fs = 1000; % 采样率
t = 0:1/fs:1-1/fs; % 时间序列
f = 10; % 正弦信号频率
x = sin(2*pi*f*t); % 正弦信号
% 设置非无失真系统
delay = 0.1; % 系统延迟
phase_shift = 30; % 系统相位偏移
sys = dsp.VariableFractionalDelay('MaximumDelay',delay); % 可变延迟系统
x_delay = step(sys,x,delay); % 延迟信号
x_phase = step(comm.PhaseFrequencyOffset('PhaseOffset',phase_shift),x_delay); % 相位偏移信号
% 绘制信号波形
subplot(2,1,1);
plot(t,x);
title('原始信号');
xlabel('时间(s)');
ylabel('幅值');
subplot(2,1,2);
plot(t,x_phase);
title('相位失真信号');
xlabel('时间(s)');
ylabel('幅值');
```
这段代码首先生成一个频率为 10 Hz 的正弦信号,并设置一个非无失真系统,该系统包含一个延迟和一个相位偏移。在代码的最后,使用 `subplot` 函数将原始信号和经过相位失真的信号绘制在同一张图表上。
运行该代码,您将看到一个包含两个子图的图表,其中上面的子图显示原始信号,下面的子图显示经过相位失真的信号。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)