matlab生成单频干扰信号画出频域波形
时间: 2023-07-13 22:05:01 浏览: 159
用matlab基本信号产生并画出波形
5星 · 资源好评率100%
生成单频干扰信号可以使用如下代码:
```matlab
fs = 1000; % 采样率
t = 0:1/fs:1-1/fs; % 时间序列
f0 = 50; % 干扰频率
A = 1; % 干扰信号幅值
s = sin(2*pi*f0*t); % 干扰信号
% 添加到原信号上
x = randn(size(t)); % 原信号
y = x + A*s; % 添加干扰信号
% 绘制时域波形
subplot(2,1,1);
plot(t,x);
hold on;
plot(t,y);
xlabel('Time (s)');
ylabel('Amplitude');
legend('Original signal','Interference signal');
% 绘制频域波形
f = (0:length(x)-1)*fs/length(x); % 频率序列
X = abs(fft(x));
Y = abs(fft(y));
subplot(2,1,2);
plot(f,X);
hold on;
plot(f,Y);
xlabel('Frequency (Hz)');
ylabel('Magnitude');
legend('Original signal','Interference signal');
```
其中,`fs` 为采样率,`t` 为时间序列,`f0` 为干扰频率,`A` 为干扰信号幅值,`s` 为干扰信号,`x` 为原信号,`y` 为添加干扰信号后的信号。使用 `subplot` 绘制时域波形和频域波形。绘制频域波形时,使用 `fft` 函数计算信号的傅里叶变换,再求绝对值得到幅值,绘制出频率和幅值的关系图。
阅读全文