【数字信号调制】基于多进制数字频率调制(4FSK)matlab源码

158 阅读1分钟

一、简介

** FSK信号的解调原理**
FSK信号的解调也有非相干和相干两种,FSK信号可以看作是用两个频率源交替传输得到的,所以FSK的接收机由两个并联的ASK接收机组成。

(1)相干解调
相干解调是利用乘法器,输入一路与载频相干的参考信号与载频相乘,通过低通滤波,滤除高频信号,即得原始信号,FSK经过带通滤波之后,可以看作是两路ASK信号,相干检测器组成的原理如下所示:
在这里插入图片描述

二、源代码


% 主要功能:实现4FSK调制
% s :输入的整型序列【0-3】,f0,f1,f2,f3:分别代表4个载波
%nSamples, 每个符号的采样个数,必须为偶数
s=randint(1,10,4);
f0=1;f1=2;f2=4;f3=8;
nSamples=100;
t=0:2*pi/99:2*pi;% 注意t长度与 nSamples 长度一致
cp=[];mod=[];bit=[];
for n=1:length(s)
     if s(n)==0
         cp1=ones(1,nSamples);c=sin(f0*t);
         bit1=zeros(1,nSamples); % 00
     elseif s(n)==1
         cp1=ones(1,nSamples);c=sin(f1*t);
         bit11=zeros(1,nSamples/2); %01
         bit12=ones(1,nSamples/2);
         bit1=[bit11 bit12];
     elseif s(n)==2
         cp1=ones(1,nSamples);c=sin(f2*t);
         bit11=ones(1,nSamples/2); %10
         bit12=zeros(1,nSamples/2);
         bit1=[bit11 bit12];
     else s(n)==3
         cp1=ones(1,nSamples);c=sin(f3*t);
         bit11=ones(1,nSamples/2); %11
         bit12=ones(1,nSamples/2);
         bit1=[bit11 bit12];
     end
     
     cp=[cp cp1];
     mod=[mod c];
     bit=[bit bit1];
end

三、运行结果

在这里插入图片描述

代码下载www.cnblogs.com/matlabxiao/…