用matlab编程实现2fsk信号的调制解调
时间: 2023-03-20 19:07:15 浏览: 114
2FSK信号的调制解调可以通过MATLAB编程实现。下面是一个简单的实现步骤:
1. 生成调制信号:根据调制信号的频率和采样率生成调制信号,可以使用sin函数或cos函数。
2. 生成载波信号:根据载波频率和采样率生成载波信号,可以使用sin函数或cos函数。
3. 调制信号和载波信号相乘:将调制信号和载波信号相乘得到调制后的信号。
4. 解调信号:将调制后的信号通过带通滤波器进行解调,得到原始的调制信号。
下面是一个简单的MATLAB代码实现:
% 生成调制信号
fs = 100; % 采样率
f1 = 100; % 调制信号频率1
f2 = 200; % 调制信号频率2
t = :1/fs:1; % 时间序列
m1 = sin(2*pi*f1*t); % 调制信号1
m2 = sin(2*pi*f2*t); % 调制信号2
% 生成载波信号
fc = 500; % 载波频率
c = sin(2*pi*fc*t); % 载波信号
% 调制信号和载波信号相乘
s1 = m1.*c; % 调制后的信号1
s2 = m2.*c; % 调制后的信号2
% 解调信号
fpass = [90 110]; % 带通滤波器通带频率范围
[b,a] = butter(6,fpass/(fs/2)); % 6阶巴特沃斯滤波器
r1 = filter(b,a,s1); % 解调后的信号1
r2 = filter(b,a,s2); % 解调后的信号2
% 绘制图形
subplot(4,1,1);
plot(t,m1);
title('调制信号1');
subplot(4,1,2);
plot(t,m2);
title('调制信号2');
subplot(4,1,3);
plot(t,s1);
title('调制后的信号1');
subplot(4,1,4);
plot(t,r1);
title('解调后的信号1');