【MATLAB】生成FSK信号(随堂练习)
侧边栏壁纸
博主昵称
逢迎诗酒徒

有钱终成眷属,没钱亲眼目睹

  • 累计撰写 12 篇文章
  • 累计收到 18 条评论

【MATLAB】生成FSK信号(随堂练习)

逢迎诗酒徒
2024-06-28 / 0 评论 / 84 阅读 / 正在检测是否收录...

简单生成一个FSK信号
lxyr1oq1.png

clc
clear all
close all
%绘制2FSK信号
% 设定参数
fs = 10000;         % 采样频率
Tb = 0.01;          % 每比特持续时间
fc0 = 500;          % 低频
fc1 = 1500;         % 高频
nBits = 10;         % 二进制数据比特数

% 生成随机二进制数据
% 产生十个随机数
a=rand(1,nBits)
%根据随机数产生二进制信号
data=round(a)
figure(1)
subplot(2,1,1);
stairs(data); 
axis([1 10 -1.5 1.5]);
title('基带信号');
grid on;

% 调制2FSK信号
t = 0:1/fs:10*Tb - 1/fs;  % 总时间
for i = 1:10
    % 在每比特时间内,合成波形
    t_bit = (i-1)*Tb : 1/fs : i*Tb - 1/fs;
    d=(i-1)*length(t_bit)+1:i*length(t_bit);
    if data(i) == 0
        fsk_signal(d) = cos(2*pi*fc0*t_bit);
    else
        fsk_signal(d) = cos(2*pi*fc1*t_bit);
    end
end
subplot(2,1,2);
plot(t, fsk_signal);
title('2FSK信号');
xlabel('t');
ylabel('振幅');
0

评论 (0)

取消