• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-03
  • 语言: Matlab
  • 标签: FSK  matlab  8fsk解调  

资源简介

本文对数字调制中的2FSK采用matlab进行了仿真实验,代码中没有加入噪声,采用相干解调的解调方式。 (一)、代码的流程如下: (1)、设置载波频率,码元频率(本文中即比特率)和采样率; (2)、产生2FSK信号; (3)、信号分别经过两个带通滤波器后得到band_passed_sig1和band_passed_sig2; (4)、对band_passed_sig1和band_passed_sig2分别进行相干解调,再分别进行低通滤波得到lower_sig1和lower_sig2; (5)、对lower_sig1和lower_sig2进行抽样判决得到输出信号; (6)、统计无码率; (二)、

资源截图

代码片段和文件信息

fc=1000;    %基带信号频率fc=1kHZ
f1=20000;   %载波f1=20kHZ
f2=22000;   %载波f2=22kHZ
T=1/fc;     %码元周期
fs=200000;  %采样率fs=200kHZ
dt=1/fs;    %采样时间间隔

src_sig_len=10000;    %码元个数
src_sig=randi([0 1] 1 src_sig_len);    %随机信源

figure(101);
stem(src_sig);
title(‘源信号‘);

t = 0:dt:T-dt; %码元持续时间内的采样时间向量
t_len = length(t);

%2FSK modulation
A=1;    %已调信号的幅度
fsk_sig=[];
for k = 1:1:src_sig_len
   if src_sig(k)==0
       temp_sig = A*cos(2*pi*f1.*t);
   elseif src_sig(k)==1
       temp_sig = A*cos(2*pi*f2.*t);
   end
   fsk_sig = [fsk_sig temp_sig];
end

%带通滤波
band_pass_freq1 = [2*(f1-fc)/fs 2*(f1+fc)/fs];
band_pass_freq2 = [2*(f2-fc)/fs 2*(f2+fc)/fs];

band_pass_filter1 = fir1(100 band_pass_freq1);
band_pass_filter2 = fir1(100 band_pass_freq2);

band_passed_sig1 = 

评论

共有 条评论