2fsk的matlab仿真代码
时间: 2023-08-06 07:03:50 浏览: 89
2fsk调制解调MATLAB仿真代码
以下是一个简单的2FSK调制和解调的MATLAB仿真代码:
```
% 设置参数
fc1 = 100; % 第一个载波频率
fc2 = 200; % 第二个载波频率
fs = 1000; % 采样频率
T = 1; % 信号持续时间
A = 1; % 信号幅度
fdev = 50; % 频偏
% 生成调制信号
t = 0:1/fs:T-1/fs; % 时间向量
message = square(2*pi*5*t); % 一个简单的方波作为调制信号
f1 = fc1 + fdev*message; % 第一个载波频率加上频偏
f2 = fc2 + fdev*message; % 第二个载波频率加上频偏
s1 = A*sin(2*pi*f1.*t); % 第一个调制信号
s2 = A*sin(2*pi*f2.*t); % 第二个调制信号
s = s1 + s2; % 混合两个调制信号
% 显示调制信号
figure
subplot(3,1,1)
plot(t,message)
title('调制信号')
% 显示第一个调制信号
subplot(3,1,2)
plot(t,s1)
title('第一个调制信号')
% 显示第二个调制信号
subplot(3,1,3)
plot(t,s2)
title('第二个调制信号')
% 解调信号
s_demod = abs(hilbert(s)); % 使用包络检测解调信号
% 显示解调信号
figure
subplot(2,1,1)
plot(t,s)
title('调制信号')
subplot(2,1,2)
plot(t,s_demod)
title('解调信号')
```
这个代码使用一个简单的方波信号作为调制信号,然后使用两个不同的载波频率进行2FSK调制。解调信号使用包络检测法进行解调。你可以修改代码来尝试不同的调制信号和频偏,以及使用其他解调方法。
阅读全文