fsk调制解调matlab
时间: 2024-01-07 10:22:54 浏览: 156
以下是使用MATLAB进行FSK调制和解调的示例代码:
```matlab
clear all;
close all;
clc;
% 参数设置
M = 2; % FSK调制的符号数
L = 100; % 每个符号的采样点数
Ts = 1; % 符号周期
Rb = 1/Ts; % 符号速率
dt = Ts/L; % 采样时间间隔
fs = 1/dt; % 采样频率
TotalT = M*Ts; % 信号总时长
t = 0:dt:TotalT-dt; % 时间序列
% 产生二进制随机信号源
wave = randint(1, M);
% FSK调制
frequencies = [1, 2]; % 两个频率对应两个符号
x1 = cos(2*pi*frequencies(wave)*t); % FSK调制信号
% FSK解调
demodulated = zeros(1, M*L);
for i = 1:M
demodulated((i-1)*L+1:i*L) = x1((i-1)*L+1:i*L).*cos(2*pi*frequencies(i)*t((i-1)*L+1:i*L));
end
% 绘制波形图
subplot(211);
plot(t, x1);
axis([0 TotalT -1.5 1.5]);
title('FSK调制信号');
subplot(212);
plot(t, demodulated);
axis([0 TotalT -1.5 1.5]);
title('FSK解调信号');
```
这段代码首先设置了FSK调制的参数,然后产生了一个二进制随机信号源。接下来,根据信号源和频率信息进行FSK调制,得到调制信号。最后,通过与对应频率的正弦信号相乘,实现了FSK解调。最终,绘制了调制信号和解调信号的波形图。
阅读全文