MATLAB代码实现产生信号并进行FSK调制,并作图
时间: 2024-01-06 20:04:47 浏览: 250
好的,以下是一个简单的MATLAB代码实现产生信号并进行FSK调制的例子,并画出时域和频域图像。代码如下:
```matlab
% 设置参数
f1 = 100; % 第一个频率
f2 = 200; % 第二个频率
fs = 1000; % 采样频率
t = 0:1/fs:1; % 时间向量
data = [1 0 1 1 0]; % 待调制数据
% 产生信号
signal = [];
for i = 1:length(data)
if data(i) == 1
signal = [signal sin(2*pi*f1*t)];
else
signal = [signal sin(2*pi*f2*t)];
end
end
% 画出时域图像
figure;
subplot(2,1,1);
plot(signal);
title('时域图像');
xlabel('时间(秒)');
ylabel('幅度');
% 进行FSK调制
mod_signal = [];
for i = 1:length(data)
if data(i) == 1
mod_signal = [mod_signal sin(2*pi*f1*t)];
else
mod_signal = [mod_signal sin(2*pi*f2*t)];
end
end
% 画出频域图像
subplot(2,1,2);
N = length(mod_signal);
f = (-N/2:N/2-1)*(fs/N);
mod_signal_freq = fftshift(abs(fft(mod_signal)));
plot(f, mod_signal_freq);
title('频域图像');
xlabel('频率(Hz)');
ylabel('幅度');
```
运行该代码,会生成一个时域图像和一个频域图像,如下所示:
![时域图像和频域图像](https://img-blog.csdn.net/20180524215600468?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NvZnR3YXJl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/70)
阅读全文